@simple-table/solid 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 (356) 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/solid/src/defaultHeadersFromCore.d.ts +5 -0
  38. package/dist/types/solid/src/index.d.ts +5 -0
  39. package/dist/{cjs → types}/solid/src/types.d.ts +14 -5
  40. package/package.json +10 -7
  41. package/dist/cjs/core/src/core/initialization/TableInitializer.d.ts +0 -30
  42. package/dist/cjs/core/src/index.d.ts +0 -48
  43. package/dist/cjs/core/src/managers/DimensionManager.d.ts +0 -42
  44. package/dist/cjs/core/src/managers/SelectionManager/SelectionManager.d.ts +0 -246
  45. package/dist/cjs/core/src/managers/SelectionManager/types.d.ts +0 -22
  46. package/dist/cjs/core/src/types/CustomTheme.d.ts +0 -26
  47. package/dist/cjs/core/src/types/TableRefType.d.ts +0 -78
  48. package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +0 -4
  49. package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +0 -10
  50. package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +0 -16
  51. package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +0 -6
  52. package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +0 -25
  53. package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +0 -3
  54. package/dist/cjs/core/src/utils/headerWidthUtils.d.ts +0 -56
  55. package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +0 -14
  56. package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +0 -5
  57. package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +0 -12
  58. package/dist/cjs/solid/src/index.d.ts +0 -3
  59. package/dist/core/src/consts/column-constraints.d.ts +0 -58
  60. package/dist/core/src/consts/general-consts.d.ts +0 -13
  61. package/dist/core/src/core/SimpleTableVanilla.d.ts +0 -71
  62. package/dist/core/src/core/api/TableAPIImpl.d.ts +0 -44
  63. package/dist/core/src/core/dom/DOMManager.d.ts +0 -50
  64. package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +0 -123
  65. package/dist/core/src/core/rendering/SectionRenderer.d.ts +0 -61
  66. package/dist/core/src/core/rendering/TableRenderer.d.ts +0 -89
  67. package/dist/core/src/hooks/ariaAnnouncements.d.ts +0 -37
  68. package/dist/core/src/hooks/contentHeight.d.ts +0 -23
  69. package/dist/core/src/hooks/expandedDepths.d.ts +0 -65
  70. package/dist/core/src/hooks/handleOutsideClick.d.ts +0 -50
  71. package/dist/core/src/hooks/previousValue.d.ts +0 -30
  72. package/dist/core/src/hooks/scrollbarVisibility.d.ts +0 -65
  73. package/dist/core/src/hooks/scrollbarWidth.d.ts +0 -52
  74. package/dist/core/src/hooks/useAggregatedRows.d.ts +0 -14
  75. package/dist/core/src/hooks/useQuickFilter.d.ts +0 -14
  76. package/dist/core/src/hooks/windowResize.d.ts +0 -31
  77. package/dist/core/src/icons/AngleDownIcon.d.ts +0 -1
  78. package/dist/core/src/icons/AngleLeftIcon.d.ts +0 -1
  79. package/dist/core/src/icons/AngleRightIcon.d.ts +0 -1
  80. package/dist/core/src/icons/AngleUpIcon.d.ts +0 -1
  81. package/dist/core/src/icons/AscIcon.d.ts +0 -1
  82. package/dist/core/src/icons/CheckIcon.d.ts +0 -1
  83. package/dist/core/src/icons/DescIcon.d.ts +0 -1
  84. package/dist/core/src/icons/DragIcon.d.ts +0 -1
  85. package/dist/core/src/icons/FilterIcon.d.ts +0 -1
  86. package/dist/core/src/icons/SelectIcon.d.ts +0 -1
  87. package/dist/core/src/icons/index.d.ts +0 -14
  88. package/dist/core/src/managers/AutoScaleManager.d.ts +0 -26
  89. package/dist/core/src/managers/DragHandlerManager.d.ts +0 -44
  90. package/dist/core/src/managers/FilterManager.d.ts +0 -36
  91. package/dist/core/src/managers/RowManager.d.ts +0 -56
  92. package/dist/core/src/managers/RowSelectionManager.d.ts +0 -36
  93. package/dist/core/src/managers/ScrollManager.d.ts +0 -35
  94. package/dist/core/src/managers/SectionScrollController.d.ts +0 -50
  95. package/dist/core/src/managers/SelectionManager/index.d.ts +0 -2
  96. package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -7
  97. package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +0 -15
  98. package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -7
  99. package/dist/core/src/managers/SortManager.d.ts +0 -42
  100. package/dist/core/src/types/AggregationTypes.d.ts +0 -8
  101. package/dist/core/src/types/BoundingBox.d.ts +0 -11
  102. package/dist/core/src/types/Cell.d.ts +0 -7
  103. package/dist/core/src/types/CellChangeProps.d.ts +0 -9
  104. package/dist/core/src/types/CellClickProps.d.ts +0 -11
  105. package/dist/core/src/types/CellRendererProps.d.ts +0 -32
  106. package/dist/core/src/types/CellValue.d.ts +0 -2
  107. package/dist/core/src/types/ColumnEditorConfig.d.ts +0 -32
  108. package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -39
  109. package/dist/core/src/types/ColumnVisibilityTypes.d.ts +0 -4
  110. package/dist/core/src/types/DragHandlerProps.d.ts +0 -14
  111. package/dist/core/src/types/EnumOption.d.ts +0 -5
  112. package/dist/core/src/types/FilterTypes.d.ts +0 -22
  113. package/dist/core/src/types/FlattenedHeader.d.ts +0 -10
  114. package/dist/core/src/types/FooterRendererProps.d.ts +0 -17
  115. package/dist/core/src/types/GenerateRowIdParams.d.ts +0 -11
  116. package/dist/core/src/types/GetRowId.d.ts +0 -10
  117. package/dist/core/src/types/HandleResizeStartProps.d.ts +0 -21
  118. package/dist/core/src/types/HeaderDropdownProps.d.ts +0 -14
  119. package/dist/core/src/types/HeaderObject.d.ts +0 -98
  120. package/dist/core/src/types/HeaderRendererProps.d.ts +0 -17
  121. package/dist/core/src/types/IconsConfig.d.ts +0 -19
  122. package/dist/core/src/types/OnNextPage.d.ts +0 -2
  123. package/dist/core/src/types/OnRowGroupExpandProps.d.ts +0 -16
  124. package/dist/core/src/types/OnSortProps.d.ts +0 -3
  125. package/dist/core/src/types/PanelSection.d.ts +0 -1
  126. package/dist/core/src/types/Pinned.d.ts +0 -1
  127. package/dist/core/src/types/PinnedSectionsState.d.ts +0 -6
  128. package/dist/core/src/types/QuickFilterTypes.d.ts +0 -21
  129. package/dist/core/src/types/Row.d.ts +0 -3
  130. package/dist/core/src/types/RowButton.d.ts +0 -6
  131. package/dist/core/src/types/RowId.d.ts +0 -1
  132. package/dist/core/src/types/RowSelectionChangeProps.d.ts +0 -7
  133. package/dist/core/src/types/RowState.d.ts +0 -12
  134. package/dist/core/src/types/RowStateRendererProps.d.ts +0 -18
  135. package/dist/core/src/types/SharedTableProps.d.ts +0 -24
  136. package/dist/core/src/types/SimpleTableConfig.d.ts +0 -88
  137. package/dist/core/src/types/SimpleTableProps.d.ts +0 -99
  138. package/dist/core/src/types/SortColumn.d.ts +0 -8
  139. package/dist/core/src/types/TableAPI.d.ts +0 -57
  140. package/dist/core/src/types/TableHeaderProps.d.ts +0 -17
  141. package/dist/core/src/types/TableRefType.d.ts +0 -78
  142. package/dist/core/src/types/TableRow.d.ts +0 -29
  143. package/dist/core/src/types/TableRowProps.d.ts +0 -29
  144. package/dist/core/src/types/Theme.d.ts +0 -2
  145. package/dist/core/src/types/UpdateCellProps.d.ts +0 -8
  146. package/dist/core/src/utils/bodyCell/content.d.ts +0 -5
  147. package/dist/core/src/utils/bodyCell/editing.d.ts +0 -4
  148. package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -2
  149. package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -2
  150. package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -18
  151. package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -2
  152. package/dist/core/src/utils/bodyCell/eventTracking.d.ts +0 -3
  153. package/dist/core/src/utils/bodyCell/expansion.d.ts +0 -4
  154. package/dist/core/src/utils/bodyCell/selection.d.ts +0 -7
  155. package/dist/core/src/utils/bodyCell/styling.d.ts +0 -5
  156. package/dist/core/src/utils/bodyCell/types.d.ts +0 -103
  157. package/dist/core/src/utils/bodyCellRenderer.d.ts +0 -5
  158. package/dist/core/src/utils/cellClipboardUtils.d.ts +0 -25
  159. package/dist/core/src/utils/cellScrollUtils.d.ts +0 -10
  160. package/dist/core/src/utils/cellUtils.d.ts +0 -18
  161. package/dist/core/src/utils/charts/createBarChart.d.ts +0 -15
  162. package/dist/core/src/utils/charts/createLineAreaChart.d.ts +0 -17
  163. package/dist/core/src/utils/collapseUtils.d.ts +0 -24
  164. package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -14
  165. package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +0 -21
  166. package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -25
  167. package/dist/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -22
  168. package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +0 -31
  169. package/dist/core/src/utils/csvExportUtils.d.ts +0 -14
  170. package/dist/core/src/utils/dateUtils.d.ts +0 -18
  171. package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +0 -10
  172. package/dist/core/src/utils/filterUtils.d.ts +0 -5
  173. package/dist/core/src/utils/filters/createBooleanFilter.d.ts +0 -15
  174. package/dist/core/src/utils/filters/createCustomSelect.d.ts +0 -20
  175. package/dist/core/src/utils/filters/createDateFilter.d.ts +0 -15
  176. package/dist/core/src/utils/filters/createDatePicker.d.ts +0 -10
  177. package/dist/core/src/utils/filters/createDropdown.d.ts +0 -16
  178. package/dist/core/src/utils/filters/createEnumFilter.d.ts +0 -15
  179. package/dist/core/src/utils/filters/createFilterActions.d.ts +0 -11
  180. package/dist/core/src/utils/filters/createFilterDropdown.d.ts +0 -15
  181. package/dist/core/src/utils/filters/createFilterInput.d.ts +0 -16
  182. package/dist/core/src/utils/filters/createNumberFilter.d.ts +0 -15
  183. package/dist/core/src/utils/filters/createStringFilter.d.ts +0 -15
  184. package/dist/core/src/utils/footer/createTableFooter.d.ts +0 -21
  185. package/dist/core/src/utils/formatters.d.ts +0 -3
  186. package/dist/core/src/utils/generalUtils.d.ts +0 -4
  187. package/dist/core/src/utils/headerCell/dragging.d.ts +0 -5
  188. package/dist/core/src/utils/headerCell/editing.d.ts +0 -4
  189. package/dist/core/src/utils/headerCell/filtering.d.ts +0 -3
  190. package/dist/core/src/utils/headerCell/selection.d.ts +0 -10
  191. package/dist/core/src/utils/headerCell/sorting.d.ts +0 -3
  192. package/dist/core/src/utils/headerCell/styling.d.ts +0 -5
  193. package/dist/core/src/utils/headerCell/types.d.ts +0 -75
  194. package/dist/core/src/utils/headerCellRenderer.d.ts +0 -4
  195. package/dist/core/src/utils/headerUtils.d.ts +0 -41
  196. package/dist/core/src/utils/infiniteScrollUtils.d.ts +0 -145
  197. package/dist/core/src/utils/nestedGridRowRenderer.d.ts +0 -34
  198. package/dist/core/src/utils/pinnedColumnUtils.d.ts +0 -25
  199. package/dist/core/src/utils/quickFilterUtils.d.ts +0 -14
  200. package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -21
  201. package/dist/core/src/utils/resizeUtils/compensation.d.ts +0 -11
  202. package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +0 -15
  203. package/dist/core/src/utils/resizeUtils/index.d.ts +0 -5
  204. package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +0 -9
  205. package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -11
  206. package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -16
  207. package/dist/core/src/utils/rowFlattening.d.ts +0 -30
  208. package/dist/core/src/utils/rowProcessing.d.ts +0 -36
  209. package/dist/core/src/utils/rowSelectionUtils.d.ts +0 -39
  210. package/dist/core/src/utils/rowUtils.d.ts +0 -136
  211. package/dist/core/src/utils/sortUtils.d.ts +0 -8
  212. package/dist/core/src/utils/stateRowRenderer.d.ts +0 -15
  213. package/dist/core/src/utils/stickyParentsRenderer.d.ts +0 -30
  214. package/dist/solid/src/SimpleTable.d.ts +0 -19
  215. package/dist/solid/src/buildVanillaConfig.d.ts +0 -3
  216. package/dist/solid/src/index.d.ts +0 -3
  217. package/dist/solid/src/types.d.ts +0 -53
  218. package/dist/solid/src/utils/wrapSolidRenderer.d.ts +0 -20
  219. /package/dist/{cjs → types}/core/src/consts/column-constraints.d.ts +0 -0
  220. /package/dist/{cjs → types}/core/src/consts/general-consts.d.ts +0 -0
  221. /package/dist/{cjs → types}/core/src/core/api/TableAPIImpl.d.ts +0 -0
  222. /package/dist/{cjs → types}/core/src/core/dom/DOMManager.d.ts +0 -0
  223. /package/dist/{cjs → types}/core/src/core/rendering/SectionRenderer.d.ts +0 -0
  224. /package/dist/{cjs → types}/core/src/hooks/ariaAnnouncements.d.ts +0 -0
  225. /package/dist/{cjs → types}/core/src/hooks/contentHeight.d.ts +0 -0
  226. /package/dist/{cjs → types}/core/src/hooks/expandedDepths.d.ts +0 -0
  227. /package/dist/{cjs → types}/core/src/hooks/handleOutsideClick.d.ts +0 -0
  228. /package/dist/{cjs → types}/core/src/hooks/previousValue.d.ts +0 -0
  229. /package/dist/{cjs → types}/core/src/hooks/scrollbarVisibility.d.ts +0 -0
  230. /package/dist/{cjs → types}/core/src/hooks/scrollbarWidth.d.ts +0 -0
  231. /package/dist/{cjs → types}/core/src/hooks/useAggregatedRows.d.ts +0 -0
  232. /package/dist/{cjs → types}/core/src/hooks/useQuickFilter.d.ts +0 -0
  233. /package/dist/{cjs → types}/core/src/hooks/windowResize.d.ts +0 -0
  234. /package/dist/{cjs → types}/core/src/icons/AngleDownIcon.d.ts +0 -0
  235. /package/dist/{cjs → types}/core/src/icons/AngleLeftIcon.d.ts +0 -0
  236. /package/dist/{cjs → types}/core/src/icons/AngleRightIcon.d.ts +0 -0
  237. /package/dist/{cjs → types}/core/src/icons/AngleUpIcon.d.ts +0 -0
  238. /package/dist/{cjs → types}/core/src/icons/AscIcon.d.ts +0 -0
  239. /package/dist/{cjs → types}/core/src/icons/CheckIcon.d.ts +0 -0
  240. /package/dist/{cjs → types}/core/src/icons/DescIcon.d.ts +0 -0
  241. /package/dist/{cjs → types}/core/src/icons/DragIcon.d.ts +0 -0
  242. /package/dist/{cjs → types}/core/src/icons/FilterIcon.d.ts +0 -0
  243. /package/dist/{cjs → types}/core/src/icons/SelectIcon.d.ts +0 -0
  244. /package/dist/{cjs → types}/core/src/icons/index.d.ts +0 -0
  245. /package/dist/{cjs → types}/core/src/managers/AutoScaleManager.d.ts +0 -0
  246. /package/dist/{cjs → types}/core/src/managers/DragHandlerManager.d.ts +0 -0
  247. /package/dist/{cjs → types}/core/src/managers/FilterManager.d.ts +0 -0
  248. /package/dist/{cjs → types}/core/src/managers/RowManager.d.ts +0 -0
  249. /package/dist/{cjs → types}/core/src/managers/RowSelectionManager.d.ts +0 -0
  250. /package/dist/{cjs → types}/core/src/managers/ScrollManager.d.ts +0 -0
  251. /package/dist/{cjs → types}/core/src/managers/SectionScrollController.d.ts +0 -0
  252. /package/dist/{cjs → types}/core/src/managers/SelectionManager/index.d.ts +0 -0
  253. /package/dist/{cjs → types}/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -0
  254. /package/dist/{cjs → types}/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -0
  255. /package/dist/{cjs → types}/core/src/managers/SortManager.d.ts +0 -0
  256. /package/dist/{cjs → types}/core/src/types/AggregationTypes.d.ts +0 -0
  257. /package/dist/{cjs → types}/core/src/types/BoundingBox.d.ts +0 -0
  258. /package/dist/{cjs → types}/core/src/types/Cell.d.ts +0 -0
  259. /package/dist/{cjs → types}/core/src/types/CellChangeProps.d.ts +0 -0
  260. /package/dist/{cjs → types}/core/src/types/CellClickProps.d.ts +0 -0
  261. /package/dist/{cjs → types}/core/src/types/CellRendererProps.d.ts +0 -0
  262. /package/dist/{cjs → types}/core/src/types/CellValue.d.ts +0 -0
  263. /package/dist/{cjs → types}/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -0
  264. /package/dist/{cjs → types}/core/src/types/ColumnVisibilityTypes.d.ts +0 -0
  265. /package/dist/{cjs → types}/core/src/types/DragHandlerProps.d.ts +0 -0
  266. /package/dist/{cjs → types}/core/src/types/EnumOption.d.ts +0 -0
  267. /package/dist/{cjs → types}/core/src/types/FilterTypes.d.ts +0 -0
  268. /package/dist/{cjs → types}/core/src/types/FlattenedHeader.d.ts +0 -0
  269. /package/dist/{cjs → types}/core/src/types/FooterRendererProps.d.ts +0 -0
  270. /package/dist/{cjs → types}/core/src/types/GenerateRowIdParams.d.ts +0 -0
  271. /package/dist/{cjs → types}/core/src/types/GetRowId.d.ts +0 -0
  272. /package/dist/{cjs → types}/core/src/types/HandleResizeStartProps.d.ts +0 -0
  273. /package/dist/{cjs → types}/core/src/types/HeaderDropdownProps.d.ts +0 -0
  274. /package/dist/{cjs → types}/core/src/types/HeaderRendererProps.d.ts +0 -0
  275. /package/dist/{cjs → types}/core/src/types/IconsConfig.d.ts +0 -0
  276. /package/dist/{cjs → types}/core/src/types/OnNextPage.d.ts +0 -0
  277. /package/dist/{cjs → types}/core/src/types/OnRowGroupExpandProps.d.ts +0 -0
  278. /package/dist/{cjs → types}/core/src/types/OnSortProps.d.ts +0 -0
  279. /package/dist/{cjs → types}/core/src/types/PanelSection.d.ts +0 -0
  280. /package/dist/{cjs → types}/core/src/types/Pinned.d.ts +0 -0
  281. /package/dist/{cjs → types}/core/src/types/PinnedSectionsState.d.ts +0 -0
  282. /package/dist/{cjs → types}/core/src/types/QuickFilterTypes.d.ts +0 -0
  283. /package/dist/{cjs → types}/core/src/types/Row.d.ts +0 -0
  284. /package/dist/{cjs → types}/core/src/types/RowButton.d.ts +0 -0
  285. /package/dist/{cjs → types}/core/src/types/RowId.d.ts +0 -0
  286. /package/dist/{cjs → types}/core/src/types/RowSelectionChangeProps.d.ts +0 -0
  287. /package/dist/{cjs → types}/core/src/types/RowState.d.ts +0 -0
  288. /package/dist/{cjs → types}/core/src/types/RowStateRendererProps.d.ts +0 -0
  289. /package/dist/{cjs → types}/core/src/types/SharedTableProps.d.ts +0 -0
  290. /package/dist/{cjs → types}/core/src/types/SortColumn.d.ts +0 -0
  291. /package/dist/{cjs → types}/core/src/types/TableAPI.d.ts +0 -0
  292. /package/dist/{cjs → types}/core/src/types/TableHeaderProps.d.ts +0 -0
  293. /package/dist/{cjs → types}/core/src/types/TableRow.d.ts +0 -0
  294. /package/dist/{cjs → types}/core/src/types/TableRowProps.d.ts +0 -0
  295. /package/dist/{cjs → types}/core/src/types/Theme.d.ts +0 -0
  296. /package/dist/{cjs → types}/core/src/types/UpdateCellProps.d.ts +0 -0
  297. /package/dist/{cjs → types}/core/src/utils/bodyCell/content.d.ts +0 -0
  298. /package/dist/{cjs → types}/core/src/utils/bodyCell/editing.d.ts +0 -0
  299. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -0
  300. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -0
  301. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -0
  302. /package/dist/{cjs → types}/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -0
  303. /package/dist/{cjs → types}/core/src/utils/bodyCell/eventTracking.d.ts +0 -0
  304. /package/dist/{cjs → types}/core/src/utils/bodyCell/selection.d.ts +0 -0
  305. /package/dist/{cjs → types}/core/src/utils/bodyCell/styling.d.ts +0 -0
  306. /package/dist/{cjs → types}/core/src/utils/bodyCell/types.d.ts +0 -0
  307. /package/dist/{cjs → types}/core/src/utils/bodyCellRenderer.d.ts +0 -0
  308. /package/dist/{cjs → types}/core/src/utils/cellClipboardUtils.d.ts +0 -0
  309. /package/dist/{cjs → types}/core/src/utils/cellScrollUtils.d.ts +0 -0
  310. /package/dist/{cjs → types}/core/src/utils/cellUtils.d.ts +0 -0
  311. /package/dist/{cjs → types}/core/src/utils/charts/createBarChart.d.ts +0 -0
  312. /package/dist/{cjs → types}/core/src/utils/charts/createLineAreaChart.d.ts +0 -0
  313. /package/dist/{cjs → types}/core/src/utils/collapseUtils.d.ts +0 -0
  314. /package/dist/{cjs → types}/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -0
  315. /package/dist/{cjs → types}/core/src/utils/columnEditor/createCheckbox.d.ts +0 -0
  316. /package/dist/{cjs → types}/core/src/utils/csvExportUtils.d.ts +0 -0
  317. /package/dist/{cjs → types}/core/src/utils/dateUtils.d.ts +0 -0
  318. /package/dist/{cjs → types}/core/src/utils/filterUtils.d.ts +0 -0
  319. /package/dist/{cjs → types}/core/src/utils/filters/createBooleanFilter.d.ts +0 -0
  320. /package/dist/{cjs → types}/core/src/utils/filters/createCustomSelect.d.ts +0 -0
  321. /package/dist/{cjs → types}/core/src/utils/filters/createDateFilter.d.ts +0 -0
  322. /package/dist/{cjs → types}/core/src/utils/filters/createDatePicker.d.ts +0 -0
  323. /package/dist/{cjs → types}/core/src/utils/filters/createEnumFilter.d.ts +0 -0
  324. /package/dist/{cjs → types}/core/src/utils/filters/createFilterDropdown.d.ts +0 -0
  325. /package/dist/{cjs → types}/core/src/utils/filters/createFilterInput.d.ts +0 -0
  326. /package/dist/{cjs → types}/core/src/utils/filters/createNumberFilter.d.ts +0 -0
  327. /package/dist/{cjs → types}/core/src/utils/filters/createStringFilter.d.ts +0 -0
  328. /package/dist/{cjs → types}/core/src/utils/footer/createTableFooter.d.ts +0 -0
  329. /package/dist/{cjs → types}/core/src/utils/formatters.d.ts +0 -0
  330. /package/dist/{cjs → types}/core/src/utils/generalUtils.d.ts +0 -0
  331. /package/dist/{cjs → types}/core/src/utils/headerCell/dragging.d.ts +0 -0
  332. /package/dist/{cjs → types}/core/src/utils/headerCell/editing.d.ts +0 -0
  333. /package/dist/{cjs → types}/core/src/utils/headerCell/filtering.d.ts +0 -0
  334. /package/dist/{cjs → types}/core/src/utils/headerCell/selection.d.ts +0 -0
  335. /package/dist/{cjs → types}/core/src/utils/headerCell/sorting.d.ts +0 -0
  336. /package/dist/{cjs → types}/core/src/utils/headerCellRenderer.d.ts +0 -0
  337. /package/dist/{cjs → types}/core/src/utils/headerUtils.d.ts +0 -0
  338. /package/dist/{cjs → types}/core/src/utils/infiniteScrollUtils.d.ts +0 -0
  339. /package/dist/{cjs → types}/core/src/utils/nestedGridRowRenderer.d.ts +0 -0
  340. /package/dist/{cjs → types}/core/src/utils/quickFilterUtils.d.ts +0 -0
  341. /package/dist/{cjs → types}/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -0
  342. /package/dist/{cjs → types}/core/src/utils/resizeUtils/compensation.d.ts +0 -0
  343. /package/dist/{cjs → types}/core/src/utils/resizeUtils/domUpdates.d.ts +0 -0
  344. /package/dist/{cjs → types}/core/src/utils/resizeUtils/maxWidth.d.ts +0 -0
  345. /package/dist/{cjs → types}/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -0
  346. /package/dist/{cjs → types}/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -0
  347. /package/dist/{cjs → types}/core/src/utils/rowFlattening.d.ts +0 -0
  348. /package/dist/{cjs → types}/core/src/utils/rowProcessing.d.ts +0 -0
  349. /package/dist/{cjs → types}/core/src/utils/rowSelectionUtils.d.ts +0 -0
  350. /package/dist/{cjs → types}/core/src/utils/rowUtils.d.ts +0 -0
  351. /package/dist/{cjs → types}/core/src/utils/sortUtils.d.ts +0 -0
  352. /package/dist/{cjs → types}/core/src/utils/stateRowRenderer.d.ts +0 -0
  353. /package/dist/{cjs → types}/core/src/utils/stickyParentsRenderer.d.ts +0 -0
  354. /package/dist/{cjs → types}/solid/src/SimpleTable.d.ts +0 -0
  355. /package/dist/{cjs → types}/solid/src/buildVanillaConfig.d.ts +0 -0
  356. /package/dist/{cjs → types}/solid/src/utils/wrapSolidRenderer.d.ts +0 -0
@@ -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,5 @@
1
+ import type { HeaderObject } from "simple-table-core";
2
+ import type { SolidHeaderObject } from "./types";
3
+ export declare function defaultHeaderFromCore(header: HeaderObject): SolidHeaderObject;
4
+ export declare function defaultHeadersFromCore(headers: readonly HeaderObject[]): SolidHeaderObject[];
5
+ export declare function mapToSolidHeaderObjects(columns: readonly object[]): SolidHeaderObject[];
@@ -0,0 +1,5 @@
1
+ export { SimpleTable } from "./SimpleTable";
2
+ export { asRows } from "simple-table-core";
3
+ export { defaultHeaderFromCore, defaultHeadersFromCore, mapToSolidHeaderObjects, } from "./defaultHeadersFromCore";
4
+ export type { SimpleTableSolidProps, TableInstance, SolidHeaderObject, SolidColumnEditorConfig, SolidIconsConfig, SolidIconElement, SolidCellRenderer, SolidHeaderRenderer, SolidFooterRenderer, SolidHeaderDropdown, SolidColumnEditorRowRenderer, SolidColumnEditorCustomRenderer, SolidLoadingStateRenderer, SolidErrorStateRenderer, SolidEmptyStateRenderer, } from "./types";
5
+ export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, 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,5 +1,5 @@
1
1
  import type { Component, JSX } from "solid-js";
2
- import type { SimpleTableProps, SimpleTableConfig, HeaderObject, TableAPI, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorConfig } from "simple-table-core";
2
+ import type { SimpleTableProps, SimpleTableConfig, HeaderObject, Row, TableAPI, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, ColumnEditorConfig } from "simple-table-core";
3
3
  export interface TableInstance {
4
4
  mount(): void;
5
5
  update(config: Partial<SimpleTableConfig>): void;
@@ -25,20 +25,29 @@ export type SolidHeaderRenderer = Component<HeaderRendererProps>;
25
25
  export type SolidFooterRenderer = Component<FooterRendererProps>;
26
26
  export type SolidHeaderDropdown = Component<HeaderDropdownProps>;
27
27
  export type SolidColumnEditorRowRenderer = Component<ColumnEditorRowRendererProps>;
28
+ export type SolidColumnEditorCustomRenderer = Component<ColumnEditorCustomRendererProps>;
28
29
  export type SolidLoadingStateRenderer = Component<LoadingStateRendererProps> | JSX.Element;
29
30
  export type SolidErrorStateRenderer = Component<ErrorStateRendererProps> | JSX.Element;
30
31
  export type SolidEmptyStateRenderer = Component<EmptyStateRendererProps> | JSX.Element;
31
- export interface SolidColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer"> {
32
+ export interface SolidColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer" | "customRenderer"> {
32
33
  rowRenderer?: SolidColumnEditorRowRenderer;
34
+ customRenderer?: SolidColumnEditorCustomRenderer;
33
35
  }
36
+ /**
37
+ * Column definition for `defaultHeaders`: core column metadata with Solid-only
38
+ * renderer fields. For trees from `simple-table-core`, use `defaultHeadersFromCore` /
39
+ * `mapToSolidHeaderObjects`.
40
+ */
34
41
  export interface SolidHeaderObject extends Omit<HeaderObject, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
35
42
  cellRenderer?: SolidCellRenderer;
36
43
  headerRenderer?: SolidHeaderRenderer;
37
44
  children?: SolidHeaderObject[];
38
- nestedTable?: Omit<SimpleTableSolidProps, "rows">;
45
+ nestedTable?: Omit<SimpleTableSolidProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
39
46
  }
40
- export interface SimpleTableSolidProps extends Omit<SimpleTableProps, "tableRef" | "allowAnimations" | "expandIcon" | "filterIcon" | "headerCollapseIcon" | "headerExpandIcon" | "nextIcon" | "prevIcon" | "sortDownIcon" | "sortUpIcon" | "columnEditorText" | "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons"> {
47
+ export interface SimpleTableSolidProps extends Omit<SimpleTableProps, "rows" | "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons"> {
41
48
  defaultHeaders: SolidHeaderObject[];
49
+ /** Row data: domain objects or core `Row[]`; cast inside the adapter. */
50
+ rows: ReadonlyArray<Row> | ReadonlyArray<object>;
42
51
  footerRenderer?: SolidFooterRenderer;
43
52
  loadingStateRenderer?: SolidLoadingStateRenderer;
44
53
  errorStateRenderer?: SolidErrorStateRenderer;
@@ -50,4 +59,4 @@ export interface SimpleTableSolidProps extends Omit<SimpleTableProps, "tableRef"
50
59
  /** Callback ref — receives the TableAPI once the table is mounted. */
51
60
  ref?: (api: TableAPI) => void;
52
61
  }
53
- export type { CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, };
62
+ export type { CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, };
package/package.json CHANGED
@@ -1,17 +1,20 @@
1
1
  {
2
2
  "name": "@simple-table/solid",
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/solid/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/solid/src/index.d.ts"
16
+ },
17
+ "./styles.css": "./dist/styles.css"
15
18
  },
16
19
  "license": "MIT",
17
20
  "publishConfig": {
@@ -25,7 +28,7 @@
25
28
  "solid-js": ">=1.0.0"
26
29
  },
27
30
  "dependencies": {
28
- "simple-table-core": "3.0.0-beta.9"
31
+ "simple-table-core": "3.0.2"
29
32
  },
30
33
  "devDependencies": {
31
34
  "@babel/preset-typescript": "^7.28.5",
@@ -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 {};
@@ -1,246 +0,0 @@
1
- import type Cell from "../../types/Cell";
2
- import { type SelectionManagerConfig } from "./types";
3
- export type { SelectionManagerConfig } from "./types";
4
- export { createSetString } from "./types";
5
- export declare class SelectionManager {
6
- private config;
7
- private selectedCells;
8
- private selectedColumns;
9
- private lastSelectedColumnIndex;
10
- private initialFocusedCell;
11
- private copyFlashCells;
12
- private warningFlashCells;
13
- private isSelecting;
14
- private startCell;
15
- private keydownHandler;
16
- private currentMouseX;
17
- private currentMouseY;
18
- private scrollAnimationFrame;
19
- private lastSelectionUpdate;
20
- private selectionThrottleMs;
21
- private globalMouseMoveHandler;
22
- private globalMouseUpHandler;
23
- private columnsWithSelectedCells;
24
- private rowsWithSelectedCells;
25
- private leafHeaders;
26
- /** rowId -> table row index; avoids O(tableRows) findIndex per cell in getBorderClass */
27
- private rowIdToTableIndex;
28
- /** Set of "rowId\tcolIndex" for O(1) selected membership in syncAllCellClasses */
29
- private selectedByRowIdColIndex;
30
- /** When true, all cells are selected without storing R×C cell IDs (fast path for Cmd+A). */
31
- private fullTableSelected;
32
- constructor(config: SelectionManagerConfig);
33
- /**
34
- * Update configuration when props change.
35
- * When options.positionOnlyBody is true (e.g. scroll-only render), only updates rowIdToTableIndex and
36
- * selectedByRowIdColIndex so lookups work for new cells; skips columnsWithSelectedCells/rowsWithSelectedCells.
37
- */
38
- updateConfig(config: Partial<SelectionManagerConfig>, options?: {
39
- positionOnlyBody?: boolean;
40
- }): void;
41
- /**
42
- * Update derived state based on current selections.
43
- * When fullTableSelected, derives columns/rows from table shape (O(R+C)) instead of iterating selectedCells (O(R×C)).
44
- * Otherwise, single pass over selectedCells to build selectedByRowIdColIndex, columnsWithSelectedCells, rowsWithSelectedCells.
45
- */
46
- private updateDerivedState;
47
- /**
48
- * Minimal update for scroll-only renders: only rowIdToTableIndex and selectedByRowIdColIndex
49
- * so isSelected/getBorderClass work for new cells; skips columnsWithSelectedCells and rowsWithSelectedCells.
50
- * When fullTableSelected, selectedByRowIdColIndex is left empty (isSelected uses the flag).
51
- */
52
- private updateRowIdAndSelectionLookupOnly;
53
- /**
54
- * Setup keyboard navigation event listener
55
- */
56
- private setupKeyboardNavigation;
57
- /**
58
- * Clean up event listeners and resources
59
- */
60
- destroy(): void;
61
- /**
62
- * Handle keyboard events for navigation and clipboard operations
63
- */
64
- private handleKeyDown;
65
- /**
66
- * Handle navigation keys (arrows, home, end, page up/down)
67
- */
68
- private handleNavigationKeys;
69
- /**
70
- * Helper function to find the edge of data in a direction
71
- */
72
- private findEdgeInDirection;
73
- /**
74
- * Handle arrow up key
75
- */
76
- private handleArrowUp;
77
- /**
78
- * Handle arrow down key
79
- */
80
- private handleArrowDown;
81
- /**
82
- * Handle arrow left key
83
- */
84
- private handleArrowLeft;
85
- /**
86
- * Handle arrow right key
87
- */
88
- private handleArrowRight;
89
- /**
90
- * Handle home key
91
- */
92
- private handleHome;
93
- /**
94
- * Handle end key
95
- */
96
- private handleEnd;
97
- /**
98
- * Handle page up key
99
- */
100
- private handlePageUp;
101
- /**
102
- * Handle page down key
103
- */
104
- private handlePageDown;
105
- /**
106
- * Copy selected cells to clipboard
107
- */
108
- private copyToClipboard;
109
- /**
110
- * Paste from clipboard to cells
111
- */
112
- private pasteFromClipboard;
113
- /**
114
- * Delete content from selected cells
115
- */
116
- private deleteSelectedCells;
117
- /**
118
- * Select all cells in the table. Uses fullTableSelected flag instead of storing R×C cell IDs for O(1) update.
119
- */
120
- private selectAll;
121
- /**
122
- * Build the full set of cell IDs when fullTableSelected. Used for copy/delete/getSelectedCells.
123
- */
124
- private buildFullTableSelectedSet;
125
- /**
126
- * Clear all selections
127
- */
128
- clearSelection(): void;
129
- /**
130
- * Set selected cells (for external control)
131
- */
132
- setSelectedCells(cells: Set<string>): void;
133
- /**
134
- * Set selected columns (for external control)
135
- */
136
- setSelectedColumns(columns: Set<number>): void;
137
- /**
138
- * Update flash classes on cells (copy/warning animations)
139
- */
140
- private updateCellFlashClasses;
141
- private static readonly SELECTION_CLASSES;
142
- /**
143
- * Apply selection classes to all currently rendered cells. Used after drag ends
144
- * so that the DOM (which may have been replaced during scroll) reflects selection.
145
- * Only adds/removes classes that changed to reduce DOM writes.
146
- * Fast path when there is no selection: one pass to clear all selection classes.
147
- */
148
- private syncAllCellClasses;
149
- /**
150
- * Update all cell classes based on current selection state
151
- * Directly manipulates the DOM without triggering React re-renders.
152
- * When isSelecting (drag) or fullTableSelected (Cmd+A), run synchronously so classes are applied
153
- * before any scroll-triggered render or next frame.
154
- */
155
- private updateAllCellClasses;
156
- /**
157
- * Check if a cell is selected. Uses selectedByRowIdColIndex for O(1) membership.
158
- * When fullTableSelected, returns true for any cell without lookup.
159
- */
160
- isSelected({ colIndex, rowIndex, rowId }: Cell): boolean;
161
- /**
162
- * Get border class for a cell based on its selection state. Uses rowIdToTableIndex for O(1) lookups.
163
- * When fullTableSelected, short-circuits with border classes for the full grid (no neighbor lookups).
164
- */
165
- getBorderClass({ colIndex, rowIndex, rowId }: Cell): string;
166
- /**
167
- * Check if a cell is the initial focused cell
168
- */
169
- isInitialFocusedCell({ rowIndex, colIndex, rowId }: Cell): boolean;
170
- /**
171
- * Check if a cell is currently showing copy flash animation
172
- */
173
- isCopyFlashing({ colIndex, rowIndex, rowId }: Cell): boolean;
174
- /**
175
- * Check if a cell is currently showing warning flash animation
176
- */
177
- isWarningFlashing({ colIndex, rowIndex, rowId }: Cell): boolean;
178
- /**
179
- * Get columns that have selected cells
180
- */
181
- getColumnsWithSelectedCells(): Set<number>;
182
- /**
183
- * Get rows that have selected cells
184
- */
185
- getRowsWithSelectedCells(): Set<string>;
186
- /**
187
- * Get selected cells. When fullTableSelected, builds and returns the full set on demand.
188
- */
189
- getSelectedCells(): Set<string>;
190
- /**
191
- * Get selected columns
192
- */
193
- getSelectedColumns(): Set<number>;
194
- /**
195
- * Get last selected column index
196
- */
197
- getLastSelectedColumnIndex(): number | null;
198
- /**
199
- * Get start cell for range selection
200
- */
201
- getStartCell(): Cell | null;
202
- /**
203
- * Set the initial focused cell (e.g. when clearing selection from header drag).
204
- */
205
- setInitialFocusedCell(cell: Cell | null): void;
206
- /**
207
- * Select a single cell
208
- */
209
- selectSingleCell(cell: Cell): void;
210
- /**
211
- * Select a range of cells from startCell to endCell
212
- */
213
- selectCellRange(startCell: Cell, endCell: Cell): void;
214
- /**
215
- * Select one or more columns
216
- */
217
- selectColumns(columnIndices: number[], isShiftKey?: boolean): void;
218
- /**
219
- * Update selection range during mouse drag. Skips derived state and class sync when selection unchanged.
220
- */
221
- private updateSelectionRange;
222
- /**
223
- * Calculate the nearest cell to a given mouse position
224
- */
225
- private calculateNearestCell;
226
- /**
227
- * Get cell from mouse position
228
- */
229
- private getCellFromMousePosition;
230
- /**
231
- * Handle auto-scrolling when dragging near edges
232
- */
233
- private handleAutoScroll;
234
- /**
235
- * Continuous scroll loop during mouse drag
236
- */
237
- private continuousScroll;
238
- /**
239
- * Handle mouse down on a cell to start selection
240
- */
241
- handleMouseDown({ colIndex, rowIndex, rowId }: Cell): void;
242
- /**
243
- * Handle mouse over a cell during selection drag
244
- */
245
- handleMouseOver({ colIndex, rowIndex, rowId }: Cell): void;
246
- }