@simple-table/react 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 (359) hide show
  1. package/README.md +36 -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/{cjs → types}/core/src/core/SimpleTableVanilla.d.ts +2 -0
  6. package/dist/{core → types/core}/src/core/initialization/TableInitializer.d.ts +4 -1
  7. package/dist/{cjs → types}/core/src/core/rendering/RenderOrchestrator.d.ts +7 -0
  8. package/dist/{cjs → types}/core/src/core/rendering/TableRenderer.d.ts +1 -0
  9. package/dist/{core → types/core}/src/index.d.ts +3 -2
  10. package/dist/{core → types/core}/src/managers/DimensionManager.d.ts +3 -0
  11. package/dist/{core → types/core}/src/managers/SelectionManager/SelectionManager.d.ts +7 -0
  12. package/dist/{cjs → types}/core/src/managers/SelectionManager/mouseUtils.d.ts +2 -1
  13. package/dist/{core → types/core}/src/managers/SelectionManager/types.d.ts +6 -0
  14. package/dist/{cjs → types}/core/src/types/ColumnEditorConfig.d.ts +5 -2
  15. package/dist/types/core/src/types/ColumnEditorCustomRendererProps.d.ts +14 -0
  16. package/dist/{core → types/core}/src/types/CustomTheme.d.ts +2 -0
  17. package/dist/{cjs → types}/core/src/types/HeaderObject.d.ts +1 -1
  18. package/dist/{cjs → types}/core/src/types/SimpleTableConfig.d.ts +0 -2
  19. package/dist/{cjs → types}/core/src/types/SimpleTableProps.d.ts +0 -13
  20. package/dist/types/core/src/utils/asRows.d.ts +7 -0
  21. package/dist/types/core/src/utils/bodyCell/expansion.d.ts +12 -0
  22. package/dist/{cjs → types}/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -1
  23. package/dist/{cjs → types}/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -1
  24. package/dist/{cjs → types}/core/src/utils/columnEditor/createColumnEditorRow.d.ts +8 -1
  25. package/dist/types/core/src/utils/filters/createDropdown.d.ts +33 -0
  26. package/dist/{cjs → types}/core/src/utils/filters/createFilterActions.d.ts +1 -0
  27. package/dist/{core → types/core}/src/utils/headerCell/collapsing.d.ts +1 -1
  28. package/dist/{core → types/core}/src/utils/headerCell/eventTracking.d.ts +3 -0
  29. package/dist/{core → types/core}/src/utils/headerCell/resizing.d.ts +1 -1
  30. package/dist/{cjs → types}/core/src/utils/headerCell/styling.d.ts +3 -3
  31. package/dist/{cjs → types}/core/src/utils/headerCell/types.d.ts +2 -0
  32. package/dist/{core → types/core}/src/utils/headerWidthUtils.d.ts +4 -2
  33. package/dist/{core → types/core}/src/utils/horizontalScrollbarRenderer.d.ts +5 -0
  34. package/dist/{cjs → types}/core/src/utils/pinnedColumnUtils.d.ts +5 -1
  35. package/dist/types/core/src/utils/resizeUtils/index.d.ts +22 -0
  36. package/dist/{core → types/core}/src/utils/rowSeparatorRenderer.d.ts +4 -0
  37. package/dist/types/react/src/defaultHeadersFromCore.d.ts +12 -0
  38. package/dist/types/react/src/index.d.ts +5 -0
  39. package/dist/types/react/src/types.d.ts +90 -0
  40. package/dist/types/react/src/utils/ImperativeDomSlot.d.ts +24 -0
  41. package/dist/types/react/src/utils/wrapReactRenderer.d.ts +41 -0
  42. package/package.json +10 -7
  43. package/dist/cjs/core/src/core/initialization/TableInitializer.d.ts +0 -30
  44. package/dist/cjs/core/src/index.d.ts +0 -48
  45. package/dist/cjs/core/src/managers/DimensionManager.d.ts +0 -42
  46. package/dist/cjs/core/src/managers/SelectionManager/SelectionManager.d.ts +0 -246
  47. package/dist/cjs/core/src/managers/SelectionManager/types.d.ts +0 -22
  48. package/dist/cjs/core/src/types/CustomTheme.d.ts +0 -26
  49. package/dist/cjs/core/src/types/TableRefType.d.ts +0 -78
  50. package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +0 -4
  51. package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +0 -10
  52. package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +0 -16
  53. package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +0 -6
  54. package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +0 -25
  55. package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +0 -3
  56. package/dist/cjs/core/src/utils/headerWidthUtils.d.ts +0 -56
  57. package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +0 -14
  58. package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +0 -5
  59. package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +0 -12
  60. package/dist/cjs/react/src/index.d.ts +0 -3
  61. package/dist/cjs/react/src/types.d.ts +0 -51
  62. package/dist/cjs/react/src/utils/wrapReactRenderer.d.ts +0 -24
  63. package/dist/core/src/consts/column-constraints.d.ts +0 -58
  64. package/dist/core/src/consts/general-consts.d.ts +0 -13
  65. package/dist/core/src/core/SimpleTableVanilla.d.ts +0 -71
  66. package/dist/core/src/core/api/TableAPIImpl.d.ts +0 -44
  67. package/dist/core/src/core/dom/DOMManager.d.ts +0 -50
  68. package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +0 -123
  69. package/dist/core/src/core/rendering/SectionRenderer.d.ts +0 -61
  70. package/dist/core/src/core/rendering/TableRenderer.d.ts +0 -89
  71. package/dist/core/src/hooks/ariaAnnouncements.d.ts +0 -37
  72. package/dist/core/src/hooks/contentHeight.d.ts +0 -23
  73. package/dist/core/src/hooks/expandedDepths.d.ts +0 -65
  74. package/dist/core/src/hooks/handleOutsideClick.d.ts +0 -50
  75. package/dist/core/src/hooks/previousValue.d.ts +0 -30
  76. package/dist/core/src/hooks/scrollbarVisibility.d.ts +0 -65
  77. package/dist/core/src/hooks/scrollbarWidth.d.ts +0 -52
  78. package/dist/core/src/hooks/useAggregatedRows.d.ts +0 -14
  79. package/dist/core/src/hooks/useQuickFilter.d.ts +0 -14
  80. package/dist/core/src/hooks/windowResize.d.ts +0 -31
  81. package/dist/core/src/icons/AngleDownIcon.d.ts +0 -1
  82. package/dist/core/src/icons/AngleLeftIcon.d.ts +0 -1
  83. package/dist/core/src/icons/AngleRightIcon.d.ts +0 -1
  84. package/dist/core/src/icons/AngleUpIcon.d.ts +0 -1
  85. package/dist/core/src/icons/AscIcon.d.ts +0 -1
  86. package/dist/core/src/icons/CheckIcon.d.ts +0 -1
  87. package/dist/core/src/icons/DescIcon.d.ts +0 -1
  88. package/dist/core/src/icons/DragIcon.d.ts +0 -1
  89. package/dist/core/src/icons/FilterIcon.d.ts +0 -1
  90. package/dist/core/src/icons/SelectIcon.d.ts +0 -1
  91. package/dist/core/src/icons/index.d.ts +0 -14
  92. package/dist/core/src/managers/AutoScaleManager.d.ts +0 -26
  93. package/dist/core/src/managers/DragHandlerManager.d.ts +0 -44
  94. package/dist/core/src/managers/FilterManager.d.ts +0 -36
  95. package/dist/core/src/managers/RowManager.d.ts +0 -56
  96. package/dist/core/src/managers/RowSelectionManager.d.ts +0 -36
  97. package/dist/core/src/managers/ScrollManager.d.ts +0 -35
  98. package/dist/core/src/managers/SectionScrollController.d.ts +0 -50
  99. package/dist/core/src/managers/SelectionManager/index.d.ts +0 -2
  100. package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -7
  101. package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +0 -15
  102. package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -7
  103. package/dist/core/src/managers/SortManager.d.ts +0 -42
  104. package/dist/core/src/types/AggregationTypes.d.ts +0 -8
  105. package/dist/core/src/types/BoundingBox.d.ts +0 -11
  106. package/dist/core/src/types/Cell.d.ts +0 -7
  107. package/dist/core/src/types/CellChangeProps.d.ts +0 -9
  108. package/dist/core/src/types/CellClickProps.d.ts +0 -11
  109. package/dist/core/src/types/CellRendererProps.d.ts +0 -32
  110. package/dist/core/src/types/CellValue.d.ts +0 -2
  111. package/dist/core/src/types/ColumnEditorConfig.d.ts +0 -32
  112. package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -39
  113. package/dist/core/src/types/ColumnVisibilityTypes.d.ts +0 -4
  114. package/dist/core/src/types/DragHandlerProps.d.ts +0 -14
  115. package/dist/core/src/types/EnumOption.d.ts +0 -5
  116. package/dist/core/src/types/FilterTypes.d.ts +0 -22
  117. package/dist/core/src/types/FlattenedHeader.d.ts +0 -10
  118. package/dist/core/src/types/FooterRendererProps.d.ts +0 -17
  119. package/dist/core/src/types/GenerateRowIdParams.d.ts +0 -11
  120. package/dist/core/src/types/GetRowId.d.ts +0 -10
  121. package/dist/core/src/types/HandleResizeStartProps.d.ts +0 -21
  122. package/dist/core/src/types/HeaderDropdownProps.d.ts +0 -14
  123. package/dist/core/src/types/HeaderObject.d.ts +0 -98
  124. package/dist/core/src/types/HeaderRendererProps.d.ts +0 -17
  125. package/dist/core/src/types/IconsConfig.d.ts +0 -19
  126. package/dist/core/src/types/OnNextPage.d.ts +0 -2
  127. package/dist/core/src/types/OnRowGroupExpandProps.d.ts +0 -16
  128. package/dist/core/src/types/OnSortProps.d.ts +0 -3
  129. package/dist/core/src/types/PanelSection.d.ts +0 -1
  130. package/dist/core/src/types/Pinned.d.ts +0 -1
  131. package/dist/core/src/types/PinnedSectionsState.d.ts +0 -6
  132. package/dist/core/src/types/QuickFilterTypes.d.ts +0 -21
  133. package/dist/core/src/types/Row.d.ts +0 -3
  134. package/dist/core/src/types/RowButton.d.ts +0 -6
  135. package/dist/core/src/types/RowId.d.ts +0 -1
  136. package/dist/core/src/types/RowSelectionChangeProps.d.ts +0 -7
  137. package/dist/core/src/types/RowState.d.ts +0 -12
  138. package/dist/core/src/types/RowStateRendererProps.d.ts +0 -18
  139. package/dist/core/src/types/SharedTableProps.d.ts +0 -24
  140. package/dist/core/src/types/SimpleTableConfig.d.ts +0 -88
  141. package/dist/core/src/types/SimpleTableProps.d.ts +0 -99
  142. package/dist/core/src/types/SortColumn.d.ts +0 -8
  143. package/dist/core/src/types/TableAPI.d.ts +0 -57
  144. package/dist/core/src/types/TableHeaderProps.d.ts +0 -17
  145. package/dist/core/src/types/TableRefType.d.ts +0 -78
  146. package/dist/core/src/types/TableRow.d.ts +0 -29
  147. package/dist/core/src/types/TableRowProps.d.ts +0 -29
  148. package/dist/core/src/types/Theme.d.ts +0 -2
  149. package/dist/core/src/types/UpdateCellProps.d.ts +0 -8
  150. package/dist/core/src/utils/bodyCell/content.d.ts +0 -5
  151. package/dist/core/src/utils/bodyCell/editing.d.ts +0 -4
  152. package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -2
  153. package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -2
  154. package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -18
  155. package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -2
  156. package/dist/core/src/utils/bodyCell/eventTracking.d.ts +0 -3
  157. package/dist/core/src/utils/bodyCell/expansion.d.ts +0 -4
  158. package/dist/core/src/utils/bodyCell/selection.d.ts +0 -7
  159. package/dist/core/src/utils/bodyCell/styling.d.ts +0 -5
  160. package/dist/core/src/utils/bodyCell/types.d.ts +0 -103
  161. package/dist/core/src/utils/bodyCellRenderer.d.ts +0 -5
  162. package/dist/core/src/utils/cellClipboardUtils.d.ts +0 -25
  163. package/dist/core/src/utils/cellScrollUtils.d.ts +0 -10
  164. package/dist/core/src/utils/cellUtils.d.ts +0 -18
  165. package/dist/core/src/utils/charts/createBarChart.d.ts +0 -15
  166. package/dist/core/src/utils/charts/createLineAreaChart.d.ts +0 -17
  167. package/dist/core/src/utils/collapseUtils.d.ts +0 -24
  168. package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -14
  169. package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +0 -21
  170. package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -25
  171. package/dist/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -22
  172. package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +0 -31
  173. package/dist/core/src/utils/csvExportUtils.d.ts +0 -14
  174. package/dist/core/src/utils/dateUtils.d.ts +0 -18
  175. package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +0 -10
  176. package/dist/core/src/utils/filterUtils.d.ts +0 -5
  177. package/dist/core/src/utils/filters/createBooleanFilter.d.ts +0 -15
  178. package/dist/core/src/utils/filters/createCustomSelect.d.ts +0 -20
  179. package/dist/core/src/utils/filters/createDateFilter.d.ts +0 -15
  180. package/dist/core/src/utils/filters/createDatePicker.d.ts +0 -10
  181. package/dist/core/src/utils/filters/createDropdown.d.ts +0 -16
  182. package/dist/core/src/utils/filters/createEnumFilter.d.ts +0 -15
  183. package/dist/core/src/utils/filters/createFilterActions.d.ts +0 -11
  184. package/dist/core/src/utils/filters/createFilterDropdown.d.ts +0 -15
  185. package/dist/core/src/utils/filters/createFilterInput.d.ts +0 -16
  186. package/dist/core/src/utils/filters/createNumberFilter.d.ts +0 -15
  187. package/dist/core/src/utils/filters/createStringFilter.d.ts +0 -15
  188. package/dist/core/src/utils/footer/createTableFooter.d.ts +0 -21
  189. package/dist/core/src/utils/formatters.d.ts +0 -3
  190. package/dist/core/src/utils/generalUtils.d.ts +0 -4
  191. package/dist/core/src/utils/headerCell/dragging.d.ts +0 -5
  192. package/dist/core/src/utils/headerCell/editing.d.ts +0 -4
  193. package/dist/core/src/utils/headerCell/filtering.d.ts +0 -3
  194. package/dist/core/src/utils/headerCell/selection.d.ts +0 -10
  195. package/dist/core/src/utils/headerCell/sorting.d.ts +0 -3
  196. package/dist/core/src/utils/headerCell/styling.d.ts +0 -5
  197. package/dist/core/src/utils/headerCell/types.d.ts +0 -75
  198. package/dist/core/src/utils/headerCellRenderer.d.ts +0 -4
  199. package/dist/core/src/utils/headerUtils.d.ts +0 -41
  200. package/dist/core/src/utils/infiniteScrollUtils.d.ts +0 -145
  201. package/dist/core/src/utils/nestedGridRowRenderer.d.ts +0 -34
  202. package/dist/core/src/utils/pinnedColumnUtils.d.ts +0 -25
  203. package/dist/core/src/utils/quickFilterUtils.d.ts +0 -14
  204. package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -21
  205. package/dist/core/src/utils/resizeUtils/compensation.d.ts +0 -11
  206. package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +0 -15
  207. package/dist/core/src/utils/resizeUtils/index.d.ts +0 -5
  208. package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +0 -9
  209. package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -11
  210. package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -16
  211. package/dist/core/src/utils/rowFlattening.d.ts +0 -30
  212. package/dist/core/src/utils/rowProcessing.d.ts +0 -36
  213. package/dist/core/src/utils/rowSelectionUtils.d.ts +0 -39
  214. package/dist/core/src/utils/rowUtils.d.ts +0 -136
  215. package/dist/core/src/utils/sortUtils.d.ts +0 -8
  216. package/dist/core/src/utils/stateRowRenderer.d.ts +0 -15
  217. package/dist/core/src/utils/stickyParentsRenderer.d.ts +0 -30
  218. package/dist/react/src/SimpleTable.d.ts +0 -27
  219. package/dist/react/src/buildVanillaConfig.d.ts +0 -3
  220. package/dist/react/src/index.d.ts +0 -3
  221. package/dist/react/src/types.d.ts +0 -51
  222. package/dist/react/src/utils/wrapReactRenderer.d.ts +0 -24
  223. /package/dist/{cjs → types}/core/src/consts/column-constraints.d.ts +0 -0
  224. /package/dist/{cjs → types}/core/src/consts/general-consts.d.ts +0 -0
  225. /package/dist/{cjs → types}/core/src/core/api/TableAPIImpl.d.ts +0 -0
  226. /package/dist/{cjs → types}/core/src/core/dom/DOMManager.d.ts +0 -0
  227. /package/dist/{cjs → types}/core/src/core/rendering/SectionRenderer.d.ts +0 -0
  228. /package/dist/{cjs → types}/core/src/hooks/ariaAnnouncements.d.ts +0 -0
  229. /package/dist/{cjs → types}/core/src/hooks/contentHeight.d.ts +0 -0
  230. /package/dist/{cjs → types}/core/src/hooks/expandedDepths.d.ts +0 -0
  231. /package/dist/{cjs → types}/core/src/hooks/handleOutsideClick.d.ts +0 -0
  232. /package/dist/{cjs → types}/core/src/hooks/previousValue.d.ts +0 -0
  233. /package/dist/{cjs → types}/core/src/hooks/scrollbarVisibility.d.ts +0 -0
  234. /package/dist/{cjs → types}/core/src/hooks/scrollbarWidth.d.ts +0 -0
  235. /package/dist/{cjs → types}/core/src/hooks/useAggregatedRows.d.ts +0 -0
  236. /package/dist/{cjs → types}/core/src/hooks/useQuickFilter.d.ts +0 -0
  237. /package/dist/{cjs → types}/core/src/hooks/windowResize.d.ts +0 -0
  238. /package/dist/{cjs → types}/core/src/icons/AngleDownIcon.d.ts +0 -0
  239. /package/dist/{cjs → types}/core/src/icons/AngleLeftIcon.d.ts +0 -0
  240. /package/dist/{cjs → types}/core/src/icons/AngleRightIcon.d.ts +0 -0
  241. /package/dist/{cjs → types}/core/src/icons/AngleUpIcon.d.ts +0 -0
  242. /package/dist/{cjs → types}/core/src/icons/AscIcon.d.ts +0 -0
  243. /package/dist/{cjs → types}/core/src/icons/CheckIcon.d.ts +0 -0
  244. /package/dist/{cjs → types}/core/src/icons/DescIcon.d.ts +0 -0
  245. /package/dist/{cjs → types}/core/src/icons/DragIcon.d.ts +0 -0
  246. /package/dist/{cjs → types}/core/src/icons/FilterIcon.d.ts +0 -0
  247. /package/dist/{cjs → types}/core/src/icons/SelectIcon.d.ts +0 -0
  248. /package/dist/{cjs → types}/core/src/icons/index.d.ts +0 -0
  249. /package/dist/{cjs → types}/core/src/managers/AutoScaleManager.d.ts +0 -0
  250. /package/dist/{cjs → types}/core/src/managers/DragHandlerManager.d.ts +0 -0
  251. /package/dist/{cjs → types}/core/src/managers/FilterManager.d.ts +0 -0
  252. /package/dist/{cjs → types}/core/src/managers/RowManager.d.ts +0 -0
  253. /package/dist/{cjs → types}/core/src/managers/RowSelectionManager.d.ts +0 -0
  254. /package/dist/{cjs → types}/core/src/managers/ScrollManager.d.ts +0 -0
  255. /package/dist/{cjs → types}/core/src/managers/SectionScrollController.d.ts +0 -0
  256. /package/dist/{cjs → types}/core/src/managers/SelectionManager/index.d.ts +0 -0
  257. /package/dist/{cjs → types}/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -0
  258. /package/dist/{cjs → types}/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -0
  259. /package/dist/{cjs → types}/core/src/managers/SortManager.d.ts +0 -0
  260. /package/dist/{cjs → types}/core/src/types/AggregationTypes.d.ts +0 -0
  261. /package/dist/{cjs → types}/core/src/types/BoundingBox.d.ts +0 -0
  262. /package/dist/{cjs → types}/core/src/types/Cell.d.ts +0 -0
  263. /package/dist/{cjs → types}/core/src/types/CellChangeProps.d.ts +0 -0
  264. /package/dist/{cjs → types}/core/src/types/CellClickProps.d.ts +0 -0
  265. /package/dist/{cjs → types}/core/src/types/CellRendererProps.d.ts +0 -0
  266. /package/dist/{cjs → types}/core/src/types/CellValue.d.ts +0 -0
  267. /package/dist/{cjs → types}/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -0
  268. /package/dist/{cjs → types}/core/src/types/ColumnVisibilityTypes.d.ts +0 -0
  269. /package/dist/{cjs → types}/core/src/types/DragHandlerProps.d.ts +0 -0
  270. /package/dist/{cjs → types}/core/src/types/EnumOption.d.ts +0 -0
  271. /package/dist/{cjs → types}/core/src/types/FilterTypes.d.ts +0 -0
  272. /package/dist/{cjs → types}/core/src/types/FlattenedHeader.d.ts +0 -0
  273. /package/dist/{cjs → types}/core/src/types/FooterRendererProps.d.ts +0 -0
  274. /package/dist/{cjs → types}/core/src/types/GenerateRowIdParams.d.ts +0 -0
  275. /package/dist/{cjs → types}/core/src/types/GetRowId.d.ts +0 -0
  276. /package/dist/{cjs → types}/core/src/types/HandleResizeStartProps.d.ts +0 -0
  277. /package/dist/{cjs → types}/core/src/types/HeaderDropdownProps.d.ts +0 -0
  278. /package/dist/{cjs → types}/core/src/types/HeaderRendererProps.d.ts +0 -0
  279. /package/dist/{cjs → types}/core/src/types/IconsConfig.d.ts +0 -0
  280. /package/dist/{cjs → types}/core/src/types/OnNextPage.d.ts +0 -0
  281. /package/dist/{cjs → types}/core/src/types/OnRowGroupExpandProps.d.ts +0 -0
  282. /package/dist/{cjs → types}/core/src/types/OnSortProps.d.ts +0 -0
  283. /package/dist/{cjs → types}/core/src/types/PanelSection.d.ts +0 -0
  284. /package/dist/{cjs → types}/core/src/types/Pinned.d.ts +0 -0
  285. /package/dist/{cjs → types}/core/src/types/PinnedSectionsState.d.ts +0 -0
  286. /package/dist/{cjs → types}/core/src/types/QuickFilterTypes.d.ts +0 -0
  287. /package/dist/{cjs → types}/core/src/types/Row.d.ts +0 -0
  288. /package/dist/{cjs → types}/core/src/types/RowButton.d.ts +0 -0
  289. /package/dist/{cjs → types}/core/src/types/RowId.d.ts +0 -0
  290. /package/dist/{cjs → types}/core/src/types/RowSelectionChangeProps.d.ts +0 -0
  291. /package/dist/{cjs → types}/core/src/types/RowState.d.ts +0 -0
  292. /package/dist/{cjs → types}/core/src/types/RowStateRendererProps.d.ts +0 -0
  293. /package/dist/{cjs → types}/core/src/types/SharedTableProps.d.ts +0 -0
  294. /package/dist/{cjs → types}/core/src/types/SortColumn.d.ts +0 -0
  295. /package/dist/{cjs → types}/core/src/types/TableAPI.d.ts +0 -0
  296. /package/dist/{cjs → types}/core/src/types/TableHeaderProps.d.ts +0 -0
  297. /package/dist/{cjs → types}/core/src/types/TableRow.d.ts +0 -0
  298. /package/dist/{cjs → types}/core/src/types/TableRowProps.d.ts +0 -0
  299. /package/dist/{cjs → types}/core/src/types/Theme.d.ts +0 -0
  300. /package/dist/{cjs → types}/core/src/types/UpdateCellProps.d.ts +0 -0
  301. /package/dist/{cjs → types}/core/src/utils/bodyCell/content.d.ts +0 -0
  302. /package/dist/{cjs → types}/core/src/utils/bodyCell/editing.d.ts +0 -0
  303. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -0
  304. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -0
  305. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -0
  306. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -0
  307. /package/dist/{cjs → types}/core/src/utils/bodyCell/eventTracking.d.ts +0 -0
  308. /package/dist/{cjs → types}/core/src/utils/bodyCell/selection.d.ts +0 -0
  309. /package/dist/{cjs → types}/core/src/utils/bodyCell/styling.d.ts +0 -0
  310. /package/dist/{cjs → types}/core/src/utils/bodyCell/types.d.ts +0 -0
  311. /package/dist/{cjs → types}/core/src/utils/bodyCellRenderer.d.ts +0 -0
  312. /package/dist/{cjs → types}/core/src/utils/cellClipboardUtils.d.ts +0 -0
  313. /package/dist/{cjs → types}/core/src/utils/cellScrollUtils.d.ts +0 -0
  314. /package/dist/{cjs → types}/core/src/utils/cellUtils.d.ts +0 -0
  315. /package/dist/{cjs → types}/core/src/utils/charts/createBarChart.d.ts +0 -0
  316. /package/dist/{cjs → types}/core/src/utils/charts/createLineAreaChart.d.ts +0 -0
  317. /package/dist/{cjs → types}/core/src/utils/collapseUtils.d.ts +0 -0
  318. /package/dist/{cjs → types}/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -0
  319. /package/dist/{cjs → types}/core/src/utils/columnEditor/createCheckbox.d.ts +0 -0
  320. /package/dist/{cjs → types}/core/src/utils/csvExportUtils.d.ts +0 -0
  321. /package/dist/{cjs → types}/core/src/utils/dateUtils.d.ts +0 -0
  322. /package/dist/{cjs → types}/core/src/utils/filterUtils.d.ts +0 -0
  323. /package/dist/{cjs → types}/core/src/utils/filters/createBooleanFilter.d.ts +0 -0
  324. /package/dist/{cjs → types}/core/src/utils/filters/createCustomSelect.d.ts +0 -0
  325. /package/dist/{cjs → types}/core/src/utils/filters/createDateFilter.d.ts +0 -0
  326. /package/dist/{cjs → types}/core/src/utils/filters/createDatePicker.d.ts +0 -0
  327. /package/dist/{cjs → types}/core/src/utils/filters/createEnumFilter.d.ts +0 -0
  328. /package/dist/{cjs → types}/core/src/utils/filters/createFilterDropdown.d.ts +0 -0
  329. /package/dist/{cjs → types}/core/src/utils/filters/createFilterInput.d.ts +0 -0
  330. /package/dist/{cjs → types}/core/src/utils/filters/createNumberFilter.d.ts +0 -0
  331. /package/dist/{cjs → types}/core/src/utils/filters/createStringFilter.d.ts +0 -0
  332. /package/dist/{cjs → types}/core/src/utils/footer/createTableFooter.d.ts +0 -0
  333. /package/dist/{cjs → types}/core/src/utils/formatters.d.ts +0 -0
  334. /package/dist/{cjs → types}/core/src/utils/generalUtils.d.ts +0 -0
  335. /package/dist/{cjs → types}/core/src/utils/headerCell/dragging.d.ts +0 -0
  336. /package/dist/{cjs → types}/core/src/utils/headerCell/editing.d.ts +0 -0
  337. /package/dist/{cjs → types}/core/src/utils/headerCell/filtering.d.ts +0 -0
  338. /package/dist/{cjs → types}/core/src/utils/headerCell/selection.d.ts +0 -0
  339. /package/dist/{cjs → types}/core/src/utils/headerCell/sorting.d.ts +0 -0
  340. /package/dist/{cjs → types}/core/src/utils/headerCellRenderer.d.ts +0 -0
  341. /package/dist/{cjs → types}/core/src/utils/headerUtils.d.ts +0 -0
  342. /package/dist/{cjs → types}/core/src/utils/infiniteScrollUtils.d.ts +0 -0
  343. /package/dist/{cjs → types}/core/src/utils/nestedGridRowRenderer.d.ts +0 -0
  344. /package/dist/{cjs → types}/core/src/utils/quickFilterUtils.d.ts +0 -0
  345. /package/dist/{cjs → types}/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -0
  346. /package/dist/{cjs → types}/core/src/utils/resizeUtils/compensation.d.ts +0 -0
  347. /package/dist/{cjs → types}/core/src/utils/resizeUtils/domUpdates.d.ts +0 -0
  348. /package/dist/{cjs → types}/core/src/utils/resizeUtils/maxWidth.d.ts +0 -0
  349. /package/dist/{cjs → types}/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -0
  350. /package/dist/{cjs → types}/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -0
  351. /package/dist/{cjs → types}/core/src/utils/rowFlattening.d.ts +0 -0
  352. /package/dist/{cjs → types}/core/src/utils/rowProcessing.d.ts +0 -0
  353. /package/dist/{cjs → types}/core/src/utils/rowSelectionUtils.d.ts +0 -0
  354. /package/dist/{cjs → types}/core/src/utils/rowUtils.d.ts +0 -0
  355. /package/dist/{cjs → types}/core/src/utils/sortUtils.d.ts +0 -0
  356. /package/dist/{cjs → types}/core/src/utils/stateRowRenderer.d.ts +0 -0
  357. /package/dist/{cjs → types}/core/src/utils/stickyParentsRenderer.d.ts +0 -0
  358. /package/dist/{cjs → types}/react/src/SimpleTable.d.ts +0 -0
  359. /package/dist/{cjs → types}/react/src/buildVanillaConfig.d.ts +0 -0
@@ -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;
@@ -0,0 +1,12 @@
1
+ import type { HeaderObject } from "simple-table-core";
2
+ import type { ReactHeaderObject } from "./types";
3
+ /** Single column from a core/shared config, typed for React `defaultHeaders`. */
4
+ export declare function defaultHeaderFromCore(header: HeaderObject): ReactHeaderObject;
5
+ /** Column tree from `simple-table-core` or shared configs, typed for React `defaultHeaders`. */
6
+ export declare function defaultHeadersFromCore(headers: readonly HeaderObject[]): ReactHeaderObject[];
7
+ /**
8
+ * Use after mapping over {@link HeaderObject} and spreading into `{ ...h, cellRenderer }` (or
9
+ * `headerRenderer`). TypeScript keeps vanilla renderer types on the spread; this asserts the
10
+ * React-only column shape for `defaultHeaders`.
11
+ */
12
+ export declare function mapToReactHeaderObjects(columns: readonly object[]): ReactHeaderObject[];
@@ -0,0 +1,5 @@
1
+ export { default as SimpleTable } from "./SimpleTable";
2
+ export { asRows } from "simple-table-core";
3
+ export { defaultHeaderFromCore, defaultHeadersFromCore, mapToReactHeaderObjects, } from "./defaultHeadersFromCore";
4
+ export type { SimpleTableReactProps, TableInstance, ReactHeaderObject, ReactColumnEditorConfig, ReactIconsConfig, ReactIconElement, ReactCellRenderer, ReactHeaderRenderer, ReactFooterRenderer, ReactHeaderDropdown, ReactColumnEditorRowRenderer, ReactColumnEditorCustomRenderer, ReactLoadingStateRenderer, ReactErrorStateRenderer, ReactEmptyStateRenderer, HeaderRendererComponents, HeaderRendererProps, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, FooterRendererProps, HeaderDropdownProps, } from "./types";
5
+ export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, GetRowId, GetRowIdParams, HeaderDropdown, HeaderObject, HeaderRenderer, 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";
@@ -0,0 +1,90 @@
1
+ import type React from "react";
2
+ import type { SimpleTableProps, SimpleTableConfig, HeaderObject, TableAPI, Row, CellRendererProps, HeaderRendererProps as VanillaHeaderRendererProps, FooterRendererProps as VanillaFooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps as VanillaHeaderDropdownProps, ColumnEditorRowRendererProps as VanillaColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, ColumnEditorConfig } from "simple-table-core";
3
+ /** Passed to React `headerRenderer` / `headerDropdown`; slots are React nodes. */
4
+ export interface HeaderRendererComponents {
5
+ sortIcon?: React.ReactNode;
6
+ filterIcon?: React.ReactNode;
7
+ collapseIcon?: React.ReactNode;
8
+ labelContent?: React.ReactNode;
9
+ }
10
+ export type HeaderRendererProps = Omit<VanillaHeaderRendererProps, "components"> & {
11
+ components?: HeaderRendererComponents;
12
+ };
13
+ /** Column editor row slots as React nodes (core uses `IconElement` / `HTMLElement`). */
14
+ export interface ColumnEditorRowRendererComponents {
15
+ expandIcon?: React.ReactNode;
16
+ checkbox?: React.ReactNode;
17
+ dragIcon?: React.ReactNode;
18
+ labelContent?: React.ReactNode;
19
+ pinIcon?: React.ReactNode;
20
+ }
21
+ export type ColumnEditorRowRendererProps = Omit<VanillaColumnEditorRowRendererProps, "components"> & {
22
+ components: ColumnEditorRowRendererComponents;
23
+ };
24
+ export type FooterRendererProps = Omit<VanillaFooterRendererProps, "nextIcon" | "prevIcon"> & {
25
+ nextIcon?: React.ReactNode;
26
+ prevIcon?: React.ReactNode;
27
+ };
28
+ export type HeaderDropdownProps = Omit<VanillaHeaderDropdownProps, "components"> & {
29
+ components?: HeaderRendererComponents;
30
+ };
31
+ export interface TableInstance {
32
+ mount(): void;
33
+ update(config: Partial<SimpleTableConfig>): void;
34
+ destroy(): void;
35
+ getAPI(): TableAPI;
36
+ }
37
+ export type ReactIconElement = React.ReactNode;
38
+ export interface ReactIconsConfig {
39
+ drag?: ReactIconElement;
40
+ expand?: ReactIconElement;
41
+ filter?: ReactIconElement;
42
+ headerCollapse?: ReactIconElement;
43
+ headerExpand?: ReactIconElement;
44
+ next?: ReactIconElement;
45
+ prev?: ReactIconElement;
46
+ sortDown?: ReactIconElement;
47
+ sortUp?: ReactIconElement;
48
+ pinnedLeftIcon?: ReactIconElement;
49
+ pinnedRightIcon?: ReactIconElement;
50
+ }
51
+ export type ReactCellRenderer = React.ComponentType<CellRendererProps> | ((props: CellRendererProps) => React.ReactNode);
52
+ export type ReactHeaderRenderer = React.ComponentType<HeaderRendererProps> | ((props: HeaderRendererProps) => React.ReactNode);
53
+ export type ReactFooterRenderer = React.ComponentType<FooterRendererProps> | ((props: FooterRendererProps) => React.ReactNode);
54
+ export type ReactHeaderDropdown = React.ComponentType<HeaderDropdownProps> | ((props: HeaderDropdownProps) => React.ReactNode);
55
+ export type ReactColumnEditorRowRenderer = React.ComponentType<ColumnEditorRowRendererProps> | ((props: ColumnEditorRowRendererProps) => React.ReactNode);
56
+ export type ReactColumnEditorCustomRenderer = React.ComponentType<ColumnEditorCustomRendererProps> | ((props: ColumnEditorCustomRendererProps) => React.ReactNode);
57
+ export type ReactLoadingStateRenderer = React.ComponentType<LoadingStateRendererProps> | React.ReactNode;
58
+ export type ReactErrorStateRenderer = React.ComponentType<ErrorStateRendererProps> | React.ReactNode;
59
+ export type ReactEmptyStateRenderer = React.ComponentType<EmptyStateRendererProps> | React.ReactNode;
60
+ export interface ReactColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer" | "customRenderer"> {
61
+ rowRenderer?: ReactColumnEditorRowRenderer;
62
+ customRenderer?: ReactColumnEditorCustomRenderer;
63
+ }
64
+ /**
65
+ * Column definition for `defaultHeaders`: same column metadata as core `HeaderObject`, but
66
+ * `cellRenderer` / `headerRenderer` / `children` / `nestedTable` are React-only. For column
67
+ * defs authored against core types, import `defaultHeadersFromCore`, `defaultHeaderFromCore`, or
68
+ * `mapToReactHeaderObjects` (after spreading core columns and adding React renderers).
69
+ */
70
+ export interface ReactHeaderObject extends Omit<HeaderObject, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
71
+ cellRenderer?: ReactCellRenderer;
72
+ headerRenderer?: ReactHeaderRenderer;
73
+ children?: ReadonlyArray<ReactHeaderObject>;
74
+ /** Nested grid: React table props minus row data and inherited state renderers. */
75
+ nestedTable?: Omit<SimpleTableReactProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
76
+ }
77
+ export interface SimpleTableReactProps extends Omit<SimpleTableProps, "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons" | "rows"> {
78
+ defaultHeaders: ReactHeaderObject[];
79
+ /** Row data: any object rows (domain models) or core `Row[]`; cast to vanilla `Row[]` inside the adapter. */
80
+ rows: ReadonlyArray<Row> | ReadonlyArray<object>;
81
+ footerRenderer?: ReactFooterRenderer;
82
+ loadingStateRenderer?: ReactLoadingStateRenderer;
83
+ errorStateRenderer?: ReactErrorStateRenderer;
84
+ emptyStateRenderer?: ReactEmptyStateRenderer;
85
+ tableEmptyStateRenderer?: React.ReactNode;
86
+ headerDropdown?: ReactHeaderDropdown;
87
+ columnEditorConfig?: ReactColumnEditorConfig;
88
+ icons?: ReactIconsConfig;
89
+ }
90
+ export type { CellRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, ColumnEditorCustomRendererProps, };
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import type { ColumnEditorRowRendererComponents as VanillaColumnEditorRowComponents } from "simple-table-core";
3
+ type DomSlotProps = {
4
+ node: Node;
5
+ };
6
+ /**
7
+ * Bridges imperative DOM from simple-table-core into a React subtree. Core passes
8
+ * HTMLElement/SVG nodes as slots; React cannot render those as children directly.
9
+ * This host uses `display: contents` so flex/grid parents still lay out the slot.
10
+ */
11
+ export declare function ImperativeDomSlot({ node }: DomSlotProps): import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * Converts a core column-editor slot (string markup or a live node) into a ReactNode.
14
+ */
15
+ export declare function domSlotToReactNode(value: string | Node | null | undefined): React.ReactNode;
16
+ /** Maps core column-editor row slots (live DOM) to React nodes for `rowRenderer` JSX. */
17
+ export declare function mapColumnEditorRowComponentsForReact(components: VanillaColumnEditorRowComponents): {
18
+ expandIcon?: React.ReactNode;
19
+ checkbox?: React.ReactNode;
20
+ dragIcon?: React.ReactNode;
21
+ labelContent?: React.ReactNode;
22
+ pinIcon?: React.ReactNode;
23
+ };
24
+ export {};
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import type { ColumnEditorCustomRendererProps as VanillaColumnEditorCustomRendererProps, ColumnEditorRowRendererProps as VanillaColumnEditorRowRendererProps } from "simple-table-core";
3
+ /**
4
+ * Wraps a React component into a function that returns an HTMLElement, matching
5
+ * the vanilla renderer contract expected by simple-table-core.
6
+ *
7
+ * Uses `createRoot` so event handlers work (same idea as Vue/Svelte/Solid adapters).
8
+ * When core replaces or clears that DOM, the root is detached like other adapters.
9
+ */
10
+ export declare function wrapReactRenderer<P extends object>(Component: React.ComponentType<P>): (props: P) => HTMLElement;
11
+ /**
12
+ * Like {@link wrapReactRenderer} for column editor rows: core passes `components.*` as
13
+ * live DOM nodes; this maps them to React hosts so consumers can use normal JSX.
14
+ */
15
+ export declare function wrapReactColumnEditorRowRenderer(Component: React.ComponentType<object>): (props: VanillaColumnEditorRowRendererProps) => HTMLElement;
16
+ /**
17
+ * Maps `searchSection` / `listSection` / `resetSection` HTMLElement slots for
18
+ * `columnEditorConfig.customRenderer` the same way as row slots.
19
+ */
20
+ export declare function wrapReactColumnEditorCustomRenderer(Component: React.ComponentType<object>): (props: VanillaColumnEditorCustomRendererProps) => HTMLElement;
21
+ /**
22
+ * Like wrapReactRenderer but uses `display: contents` so layout is unchanged
23
+ * when core appends this node (no extra box vs a plain div).
24
+ * Commit scheduling matches {@link wrapReactRenderer} (microtask + flushSync).
25
+ */
26
+ export declare function wrapReactRendererIntoFragment<P extends object>(Component: React.ComponentType<P>): (props: P) => HTMLElement;
27
+ /**
28
+ * Renders a static ReactNode into an HTMLElement.
29
+ * Used for props like tableEmptyStateRenderer that are not called with arguments.
30
+ */
31
+ export declare function wrapReactNode(node: React.ReactNode): HTMLElement;
32
+ /**
33
+ * Converts a ReactNode to an HTML string using server-side static rendering.
34
+ * Used for icon props where the vanilla table expects a string | HTMLElement | SVGSVGElement.
35
+ * Uses renderToStaticMarkup so it works synchronously from any context — including
36
+ * inside a useEffect — unlike createRoot alone without a follow-up commit, which
37
+ * can yield empty output when React defers the nested root.
38
+ */
39
+ export declare function reactNodeToHtmlString(node: React.ReactNode): string;
40
+ /** Returns true if the value is a React component (function or class). */
41
+ export declare function isReactComponent(value: unknown): value is React.ComponentType<any>;
package/package.json CHANGED
@@ -1,17 +1,20 @@
1
1
  {
2
2
  "name": "@simple-table/react",
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/react/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/react/src/index.d.ts"
16
+ },
17
+ "./styles.css": "./dist/styles.css"
15
18
  },
16
19
  "license": "MIT",
17
20
  "publishConfig": {
@@ -26,7 +29,7 @@
26
29
  "react-dom": ">=18.0.0"
27
30
  },
28
31
  "dependencies": {
29
- "simple-table-core": "3.0.0-beta.9"
32
+ "simple-table-core": "3.0.2"
30
33
  },
31
34
  "devDependencies": {
32
35
  "@rollup/plugin-alias": "^4.0.4",
@@ -1,30 +0,0 @@
1
- import { SimpleTableConfig } from "../../types/SimpleTableConfig";
2
- import { CustomTheme } from "../../types/CustomTheme";
3
- import HeaderObject, { Accessor } from "../../types/HeaderObject";
4
- export interface ResolvedIcons {
5
- drag: string | HTMLElement | SVGSVGElement;
6
- expand: string | HTMLElement | SVGSVGElement;
7
- filter: string | HTMLElement | SVGSVGElement;
8
- headerCollapse: string | HTMLElement | SVGSVGElement;
9
- headerExpand: string | HTMLElement | SVGSVGElement;
10
- next: string | HTMLElement | SVGSVGElement;
11
- prev: string | HTMLElement | SVGSVGElement;
12
- sortDown: string | HTMLElement | SVGSVGElement;
13
- sortUp: string | HTMLElement | SVGSVGElement;
14
- }
15
- export interface MergedColumnEditorConfig {
16
- text: string;
17
- searchEnabled: boolean;
18
- searchPlaceholder: string;
19
- allowColumnPinning: boolean;
20
- searchFunction?: (header: HeaderObject, searchText: string) => boolean;
21
- rowRenderer?: any;
22
- }
23
- export declare class TableInitializer {
24
- static resolveIcons(config: SimpleTableConfig): ResolvedIcons;
25
- static mergeCustomTheme(config: SimpleTableConfig): CustomTheme;
26
- static mergeColumnEditorConfig(config: SimpleTableConfig): MergedColumnEditorConfig;
27
- static buildEssentialAccessors(headers: HeaderObject[]): Set<string>;
28
- static getInitialCollapsedHeaders(headers: HeaderObject[]): Set<Accessor>;
29
- static getInitialExpandedDepths(config: SimpleTableConfig): Set<number>;
30
- }
@@ -1,48 +0,0 @@
1
- import { SimpleTableVanilla } from "./core/SimpleTableVanilla";
2
- import type BoundingBox from "./types/BoundingBox";
3
- import type Cell from "./types/Cell";
4
- import type CellChangeProps from "./types/CellChangeProps";
5
- import type CellValue from "./types/CellValue";
6
- import type DragHandlerProps from "./types/DragHandlerProps";
7
- import type EnumOption from "./types/EnumOption";
8
- import type HeaderObject from "./types/HeaderObject";
9
- import type { Accessor, ChartOptions, ColumnType, Comparator, ComparatorProps, ExportValueGetter, ExportValueProps, ShowWhen, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps } from "./types/HeaderObject";
10
- import type { AggregationConfig, AggregationType } from "./types/AggregationTypes";
11
- import type OnSortProps from "./types/OnSortProps";
12
- import type OnRowGroupExpandProps from "./types/OnRowGroupExpandProps";
13
- import type Row from "./types/Row";
14
- import type RowState from "./types/RowState";
15
- import type SharedTableProps from "./types/SharedTableProps";
16
- import type SortColumn from "./types/SortColumn";
17
- import type TableHeaderProps from "./types/TableHeaderProps";
18
- import type { TableAPI, SetHeaderRenameProps, ExportToCSVProps } from "./types/TableAPI";
19
- import type TableRefType from "./types/TableRefType";
20
- import type TableRowProps from "./types/TableRowProps";
21
- import type Theme from "./types/Theme";
22
- import type UpdateDataProps from "./types/UpdateCellProps";
23
- import type { FilterCondition, TableFilterState } from "./types/FilterTypes";
24
- import type { QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode } from "./types/QuickFilterTypes";
25
- import type { ColumnVisibilityState } from "./types/ColumnVisibilityTypes";
26
- import type RowSelectionChangeProps from "./types/RowSelectionChangeProps";
27
- import type CellClickProps from "./types/CellClickProps";
28
- import type CellRendererProps from "./types/CellRendererProps";
29
- import type { CellRenderer } from "./types/CellRendererProps";
30
- import type HeaderRendererProps from "./types/HeaderRendererProps";
31
- import type { HeaderRenderer, HeaderRendererComponents } from "./types/HeaderRendererProps";
32
- import type ColumnEditorRowRendererProps from "./types/ColumnEditorRowRendererProps";
33
- import type { ColumnEditorRowRenderer, ColumnEditorRowRendererComponents } from "./types/ColumnEditorRowRendererProps";
34
- import type HeaderDropdownProps from "./types/HeaderDropdownProps";
35
- import type { HeaderDropdown } from "./types/HeaderDropdownProps";
36
- import type { RowButtonProps } from "./types/RowButton";
37
- import type FooterRendererProps from "./types/FooterRendererProps";
38
- import type { LoadingStateRenderer, ErrorStateRenderer, EmptyStateRenderer, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps } from "./types/RowStateRendererProps";
39
- import type { CustomTheme, CustomThemeProps } from "./types/CustomTheme";
40
- import type { ColumnEditorConfig, ColumnEditorSearchFunction } from "./types/ColumnEditorConfig";
41
- import type { IconsConfig } from "./types/IconsConfig";
42
- import type { GetRowId, GetRowIdParams } from "./types/GetRowId";
43
- import type { SimpleTableConfig } from "./types/SimpleTableConfig";
44
- import type { SimpleTableProps } from "./types/SimpleTableProps";
45
- import type { RowId } from "./types/RowId";
46
- import type { PinnedSectionsState } from "./types/PinnedSectionsState";
47
- export { SimpleTableVanilla };
48
- export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FooterRendererProps, GetRowId, GetRowIdParams, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererProps, HeaderRendererComponents, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRefType, TableRowProps, Theme, PinnedSectionsState, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, };
@@ -1,42 +0,0 @@
1
- import HeaderObject from "../types/HeaderObject";
2
- export interface DimensionManagerConfig {
3
- effectiveHeaders: HeaderObject[];
4
- headerHeight?: number;
5
- rowHeight: number;
6
- height?: string | number;
7
- maxHeight?: string | number;
8
- totalRowCount: number;
9
- footerHeight?: number;
10
- containerElement?: HTMLElement;
11
- }
12
- export interface DimensionManagerState {
13
- containerWidth: number;
14
- calculatedHeaderHeight: number;
15
- maxHeaderDepth: number;
16
- contentHeight: number | undefined;
17
- }
18
- type StateChangeCallback = (state: DimensionManagerState) => void;
19
- export declare class DimensionManager {
20
- private config;
21
- private state;
22
- private subscribers;
23
- private resizeObserver;
24
- private rafId;
25
- constructor(config: DimensionManagerConfig);
26
- private getHeaderDepth;
27
- private calculateMaxHeaderDepth;
28
- private calculateHeaderHeight;
29
- private convertHeightToPixels;
30
- private calculateContentHeight;
31
- private observeContainer;
32
- updateConfig(config: Partial<DimensionManagerConfig>): void;
33
- subscribe(callback: StateChangeCallback): () => void;
34
- private notifySubscribers;
35
- getState(): DimensionManagerState;
36
- getContainerWidth(): number;
37
- getCalculatedHeaderHeight(): number;
38
- getMaxHeaderDepth(): number;
39
- getContentHeight(): number | undefined;
40
- destroy(): void;
41
- }
42
- export {};