@rio-cloud/rio-uikit 2.3.0-beta.1 → 2.3.0-beta.3

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 (344) hide show
  1. package/DayPicker.js +6 -2
  2. package/DayPicker.js.map +1 -1
  3. package/DayPickerCalendar.d.ts +2 -0
  4. package/DayPickerCalendar.js +5 -0
  5. package/DayPickerCalendar.js.map +1 -0
  6. package/DayPickerPrototype.d.ts +2 -0
  7. package/DayPickerPrototype.js +5 -0
  8. package/DayPickerPrototype.js.map +1 -0
  9. package/Marker.js +9 -5
  10. package/TableNext.d.ts +2 -0
  11. package/TableNext.js +23 -0
  12. package/TableNext.js.map +1 -0
  13. package/TableToolbar.js +3 -2
  14. package/TableToolbar.js.map +1 -1
  15. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
  16. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
  17. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
  18. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
  19. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
  20. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
  21. package/components/assetTree/Tree.js +13 -13
  22. package/components/charts/Area.d.ts +5 -3
  23. package/components/charts/Area.js +4 -3
  24. package/components/charts/Area.js.map +1 -1
  25. package/components/charts/AreaChart.js.map +1 -1
  26. package/components/charts/ComposedChart.js.map +1 -1
  27. package/components/clearableInput/ClearableInput.d.ts +30 -0
  28. package/components/clearableInput/ClearableInput.js +81 -78
  29. package/components/clearableInput/ClearableInput.js.map +1 -1
  30. package/components/datepicker/DayPicker.d.ts +4 -51
  31. package/components/datepicker/DayPicker.js +267 -257
  32. package/components/datepicker/DayPicker.js.map +1 -1
  33. package/components/datepicker/DayPickerCalendar.d.ts +4 -0
  34. package/components/datepicker/DayPickerCalendar.js +129 -0
  35. package/components/datepicker/DayPickerCalendar.js.map +1 -0
  36. package/components/datepicker/DayPickerDropdown.d.ts +19 -0
  37. package/components/datepicker/DayPickerDropdown.js +88 -0
  38. package/components/datepicker/DayPickerDropdown.js.map +1 -0
  39. package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
  40. package/components/datepicker/DayPickerDropdownFooter.js +7 -0
  41. package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
  42. package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
  43. package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
  44. package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
  45. package/components/datepicker/DayPickerInput.d.ts +28 -0
  46. package/components/datepicker/DayPickerInput.js +65 -0
  47. package/components/datepicker/DayPickerInput.js.map +1 -0
  48. package/components/datepicker/DayPickerPrototype.d.ts +53 -0
  49. package/components/datepicker/DayPickerPrototype.js +285 -0
  50. package/components/datepicker/DayPickerPrototype.js.map +1 -0
  51. package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
  52. package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
  53. package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
  54. package/components/datepicker/dayPickerTypes.d.ts +517 -0
  55. package/components/datepicker/dayPickerTypes.js +7 -0
  56. package/components/datepicker/dayPickerTypes.js.map +1 -0
  57. package/components/datepicker/dayPickerUtils.d.ts +10 -0
  58. package/components/datepicker/dayPickerUtils.js +92 -0
  59. package/components/datepicker/dayPickerUtils.js.map +1 -0
  60. package/components/datepicker/useDayPickerInputState.d.ts +32 -0
  61. package/components/datepicker/useDayPickerInputState.js +85 -0
  62. package/components/datepicker/useDayPickerInputState.js.map +1 -0
  63. package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
  64. package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
  65. package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
  66. package/components/divider/Divider.js +6 -6
  67. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  68. package/components/dropdown/ButtonDropdown.js +70 -68
  69. package/components/dropdown/ButtonDropdown.js.map +1 -1
  70. package/components/dropdown/DropdownToggleButton.d.ts +1 -0
  71. package/components/dropdown/DropdownToggleButton.js +17 -15
  72. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  73. package/components/fade/FadeExpander.js +17 -20
  74. package/components/fade/FadeExpander.js.map +1 -1
  75. package/components/listMenu/ListMenu.d.ts +8 -0
  76. package/components/listMenu/ListMenu.js +74 -66
  77. package/components/listMenu/ListMenu.js.map +1 -1
  78. package/components/loadMore/LoadMoreProgress.js +6 -7
  79. package/components/map/components/Map.js +189 -157
  80. package/components/map/components/Map.js.map +1 -1
  81. package/components/map/components/MapContext.d.ts +1 -0
  82. package/components/map/components/MapContext.js +8 -7
  83. package/components/map/components/MapContext.js.map +1 -1
  84. package/components/map/components/features/Route.d.ts +65 -1
  85. package/components/map/components/features/Route.js +184 -98
  86. package/components/map/components/features/Route.js.map +1 -1
  87. package/components/map/components/features/basics/Marker.d.ts +21 -1
  88. package/components/map/components/features/basics/Marker.js +99 -40
  89. package/components/map/components/features/basics/Marker.js.map +1 -1
  90. package/components/map/components/features/basics/Polygon.d.ts +24 -1
  91. package/components/map/components/features/basics/Polygon.js +72 -19
  92. package/components/map/components/features/basics/Polygon.js.map +1 -1
  93. package/components/map/components/features/basics/Polyline.d.ts +29 -0
  94. package/components/map/components/features/basics/Polyline.js +69 -39
  95. package/components/map/components/features/basics/Polyline.js.map +1 -1
  96. package/components/map/components/features/layers/MarkerLayer.js +8 -8
  97. package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
  98. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
  99. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
  100. package/components/map/utils/clustering.d.ts +1 -1
  101. package/components/map/utils/clustering.js +30 -30
  102. package/components/map/utils/clustering.js.map +1 -1
  103. package/components/map/utils/mapTypes.d.ts +135 -0
  104. package/components/map/utils/mapTypes.js.map +1 -1
  105. package/components/map/utils/rendering.js +5 -5
  106. package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
  107. package/components/mapMarker/ClusterMapMarker.js.map +1 -1
  108. package/components/mapMarker/SingleMapMarker.d.ts +2 -0
  109. package/components/mapMarker/SingleMapMarker.js.map +1 -1
  110. package/components/popover/Popover.js +4 -4
  111. package/components/radiobutton/RadioCardGroup.js +3 -3
  112. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  113. package/components/selects/ClearButton.js +9 -7
  114. package/components/selects/ClearButton.js.map +1 -1
  115. package/components/selects/Multiselect.d.ts +6 -0
  116. package/components/selects/Multiselect.js +164 -150
  117. package/components/selects/Multiselect.js.map +1 -1
  118. package/components/selects/Select.js +39 -37
  119. package/components/selects/Select.js.map +1 -1
  120. package/components/table/Table.d.ts +27 -248
  121. package/components/table/Table.js +240 -214
  122. package/components/table/Table.js.map +1 -1
  123. package/components/table/Table.types.d.ts +302 -121
  124. package/components/table/TableBody.d.ts +65 -5
  125. package/components/table/TableBody.js +132 -2
  126. package/components/table/TableBody.js.map +1 -1
  127. package/components/table/TableCardsSorting.js +25 -32
  128. package/components/table/TableCardsSorting.js.map +1 -1
  129. package/components/table/TableColumn.d.ts +21 -6
  130. package/components/table/TableColumn.js +114 -2
  131. package/components/table/TableColumn.js.map +1 -1
  132. package/components/table/TableExpandedContentRow.d.ts +7 -7
  133. package/components/table/TableExpandedContentRow.js +107 -2
  134. package/components/table/TableExpandedContentRow.js.map +1 -1
  135. package/components/table/TableExpandedRow.d.ts +9 -4
  136. package/components/table/TableExpandedRow.js +147 -2
  137. package/components/table/TableExpandedRow.js.map +1 -1
  138. package/components/table/TableExpanderButton.js +13 -11
  139. package/components/table/TableExpanderButton.js.map +1 -1
  140. package/components/table/TableFooter.d.ts +10 -6
  141. package/components/table/TableFooter.js +49 -2
  142. package/components/table/TableFooter.js.map +1 -1
  143. package/components/table/TableGroupFooterRow.d.ts +7 -7
  144. package/components/table/TableGroupFooterRow.js +27 -2
  145. package/components/table/TableGroupFooterRow.js.map +1 -1
  146. package/components/table/TableGroupRow.d.ts +7 -7
  147. package/components/table/TableGroupRow.js +33 -2
  148. package/components/table/TableGroupRow.js.map +1 -1
  149. package/components/table/TableHeader.d.ts +26 -4
  150. package/components/table/TableHeader.js +117 -2
  151. package/components/table/TableHeader.js.map +1 -1
  152. package/components/table/TableHeaderColumn.d.ts +25 -9
  153. package/components/table/TableHeaderColumn.js +83 -2
  154. package/components/table/TableHeaderColumn.js.map +1 -1
  155. package/components/table/TableHeaderRow.d.ts +1 -1
  156. package/components/table/TableHeaderRow.js +11 -2
  157. package/components/table/TableHeaderRow.js.map +1 -1
  158. package/components/table/TableRow.d.ts +15 -4
  159. package/components/table/TableRow.js +109 -2
  160. package/components/table/TableRow.js.map +1 -1
  161. package/components/table/TableSpacerRow.d.ts +3 -2
  162. package/components/table/TableSpacerRow.js +26 -2
  163. package/components/table/TableSpacerRow.js.map +1 -1
  164. package/components/table/TableToolbar.d.ts +4 -23
  165. package/components/table/TableToolbar.js +39 -28
  166. package/components/table/TableToolbar.js.map +1 -1
  167. package/components/table/TableToolbarColumn.d.ts +31 -0
  168. package/components/table/TableToolbarColumn.js +33 -0
  169. package/components/table/TableToolbarColumn.js.map +1 -0
  170. package/components/table/TableViewToggles.d.ts +3 -3
  171. package/components/table/TableViewToggles.js.map +1 -1
  172. package/components/table/context/TableInteractionContext.d.ts +26 -0
  173. package/components/table/context/TableInteractionContext.js +7 -0
  174. package/components/table/context/TableInteractionContext.js.map +1 -0
  175. package/components/table/context/TableLayoutContext.d.ts +26 -0
  176. package/components/table/context/TableLayoutContext.js +7 -0
  177. package/components/table/context/TableLayoutContext.js.map +1 -0
  178. package/components/table/context/TableRenderConfigContext.d.ts +27 -0
  179. package/components/table/context/TableRenderConfigContext.js +7 -0
  180. package/components/table/context/TableRenderConfigContext.js.map +1 -0
  181. package/components/table/context/TableRenderContext.d.ts +85 -0
  182. package/components/table/context/TableRenderContext.js +7 -0
  183. package/components/table/context/TableRenderContext.js.map +1 -0
  184. package/components/table/context/TableStructureContext.d.ts +31 -0
  185. package/components/table/context/TableStructureContext.js +17 -0
  186. package/components/table/context/TableStructureContext.js.map +1 -0
  187. package/components/table/layout/columnSizing.d.ts +2 -2
  188. package/components/table/layout/columnSizing.js.map +1 -1
  189. package/components/table/layout/useDraggableColumns.d.ts +3 -3
  190. package/components/table/layout/useDraggableColumns.js +17 -17
  191. package/components/table/layout/useDraggableColumns.js.map +1 -1
  192. package/components/table/layout/useHorizontalSectionSync.d.ts +4 -1
  193. package/components/table/layout/useHorizontalSectionSync.js +36 -31
  194. package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
  195. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +3 -3
  196. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -1
  197. package/components/table/layout/useResizableColumns.d.ts +5 -4
  198. package/components/table/layout/useResizableColumns.js +108 -67
  199. package/components/table/layout/useResizableColumns.js.map +1 -1
  200. package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
  201. package/components/table/layout/useTableBodyScrollBottom.js +37 -0
  202. package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
  203. package/components/table/layout/useTableLayout.d.ts +18 -6
  204. package/components/table/layout/useTableLayout.js +51 -41
  205. package/components/table/layout/useTableLayout.js.map +1 -1
  206. package/components/table/layout/useTableVirtualization.d.ts +6 -6
  207. package/components/table/layout/useTableVirtualization.js +22 -22
  208. package/components/table/layout/useTableVirtualization.js.map +1 -1
  209. package/components/table/model/resolveRowMeta.d.ts +3 -2
  210. package/components/table/model/resolveRowMeta.js.map +1 -1
  211. package/components/table/model/resolveTableClassConfig.d.ts +2 -3
  212. package/components/table/model/resolveTableClassConfig.js.map +1 -1
  213. package/components/table/model/tableView.types.d.ts +41 -0
  214. package/components/table/native/TableSettingsListItem.js +1 -1
  215. package/components/table/native/TableSettingsListItem.js.map +1 -1
  216. package/components/table/render/body/TableBodyContent.d.ts +21 -0
  217. package/components/table/render/body/TableBodyContent.js +52 -0
  218. package/components/table/render/body/TableBodyContent.js.map +1 -0
  219. package/components/table/render/body/TableEmptyRow.js +2 -2
  220. package/components/table/render/body/TableEmptyRow.js.map +1 -1
  221. package/components/table/render/header/TableBatchDropdown.d.ts +5 -1
  222. package/components/table/render/header/TableBatchDropdown.js +17 -15
  223. package/components/table/render/header/TableBatchDropdown.js.map +1 -1
  224. package/components/table/render/header/TableColumnFilter.d.ts +2 -2
  225. package/components/table/render/header/TableColumnFilter.js +16 -14
  226. package/components/table/render/header/TableColumnFilter.js.map +1 -1
  227. package/components/table/render/header/TableDraggableHeaderCell.d.ts +2 -1
  228. package/components/table/render/header/TableDraggableHeaderCell.js +45 -33
  229. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
  230. package/components/table/render/header/TableHeader.types.d.ts +13 -9
  231. package/components/table/render/header/TableHeaderCellContent.d.ts +2 -1
  232. package/components/table/render/header/TableHeaderCellContent.js +16 -16
  233. package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
  234. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +2 -1
  235. package/components/table/render/header/TableHeaderCellResizeHandle.js +8 -8
  236. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -1
  237. package/components/table/render/header/TableHeaderDragOverlay.d.ts +5 -4
  238. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -1
  239. package/components/table/render/header/TableStaticHeaderCell.d.ts +2 -1
  240. package/components/table/render/header/TableStaticHeaderCell.js +34 -20
  241. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
  242. package/components/table/render/header/resolveAriaSort.d.ts +2 -1
  243. package/components/table/render/header/resolveAriaSort.js.map +1 -1
  244. package/components/table/render/header/resolveHeaderCellClassName.d.ts +5 -2
  245. package/components/table/render/header/resolveHeaderCellClassName.js +14 -12
  246. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
  247. package/components/table/render/header/resolveHeaderCellStyle.d.ts +2 -1
  248. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -1
  249. package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
  250. package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
  251. package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
  252. package/components/table/runtime/useRenderDraftState.d.ts +14 -0
  253. package/components/table/runtime/useRenderDraftState.js +80 -0
  254. package/components/table/runtime/useRenderDraftState.js.map +1 -0
  255. package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
  256. package/components/table/runtime/useResolvedRenderColumns.js +113 -0
  257. package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
  258. package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
  259. package/components/table/runtime/useResolvedRenderHeader.js +67 -0
  260. package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
  261. package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
  262. package/components/table/selection/useInternalTableSelectionState.js +28 -0
  263. package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
  264. package/components/table/selection/useTableSelection.d.ts +3 -3
  265. package/components/table/selection/useTableSelection.js.map +1 -1
  266. package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
  267. package/components/table/shared/getCellContentOverflowClassName.js +18 -0
  268. package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
  269. package/components/table/shared/getInteractiveRowProps.d.ts +3 -2
  270. package/components/table/shared/getInteractiveRowProps.js.map +1 -1
  271. package/hooks/useDraggableElement.d.ts +27 -5
  272. package/hooks/useDraggableElement.js +100 -23
  273. package/hooks/useDraggableElement.js.map +1 -1
  274. package/hooks/usePopperDropdown.d.ts +1 -0
  275. package/hooks/usePopperDropdown.js +15 -12
  276. package/hooks/usePopperDropdown.js.map +1 -1
  277. package/hooks/useUrlState.js +3 -3
  278. package/package.json +16 -17
  279. package/utils/analytics/createAnalyticsOverlayTooltip.js +57 -57
  280. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
  281. package/utils/analytics/useAnalyticsOverlayDom.js +3 -3
  282. package/utils/init/initConfig.js +5 -5
  283. package/utils/init/initConfig.js.map +1 -1
  284. package/utils/routeUtils.d.ts +5 -2
  285. package/utils/routeUtils.js +17 -17
  286. package/utils/routeUtils.js.map +1 -1
  287. package/version.d.ts +1 -1
  288. package/version.js +1 -1
  289. package/version.js.map +1 -1
  290. package/components/table/TableCard.d.ts +0 -63
  291. package/components/table/TableCard.js +0 -150
  292. package/components/table/TableCard.js.map +0 -1
  293. package/components/table/model/buildTableViewModel.d.ts +0 -28
  294. package/components/table/model/buildTableViewModel.js +0 -221
  295. package/components/table/model/buildTableViewModel.js.map +0 -1
  296. package/components/table/model/resolveCellContent.d.ts +0 -2
  297. package/components/table/model/resolveCellContent.js +0 -5
  298. package/components/table/model/resolveCellContent.js.map +0 -1
  299. package/components/table/model/tableViewModel.types.d.ts +0 -153
  300. package/components/table/parse/parseBody.d.ts +0 -3
  301. package/components/table/parse/parseBody.js +0 -13
  302. package/components/table/parse/parseBody.js.map +0 -1
  303. package/components/table/parse/parseColumns.d.ts +0 -3
  304. package/components/table/parse/parseColumns.js +0 -81
  305. package/components/table/parse/parseColumns.js.map +0 -1
  306. package/components/table/parse/parseFooter.d.ts +0 -3
  307. package/components/table/parse/parseFooter.js +0 -39
  308. package/components/table/parse/parseFooter.js.map +0 -1
  309. package/components/table/parse/parseHeaders.d.ts +0 -4
  310. package/components/table/parse/parseHeaders.js +0 -89
  311. package/components/table/parse/parseHeaders.js.map +0 -1
  312. package/components/table/parse/parseRows.d.ts +0 -3
  313. package/components/table/parse/parseRows.js +0 -93
  314. package/components/table/parse/parseRows.js.map +0 -1
  315. package/components/table/parse/tableChildGuards.d.ts +0 -25
  316. package/components/table/parse/tableChildGuards.js +0 -29
  317. package/components/table/parse/tableChildGuards.js.map +0 -1
  318. package/components/table/render/body/TableBodyRow.d.ts +0 -16
  319. package/components/table/render/body/TableBodyRow.js +0 -84
  320. package/components/table/render/body/TableBodyRow.js.map +0 -1
  321. package/components/table/render/body/TableBodySection.d.ts +0 -20
  322. package/components/table/render/body/TableBodySection.js +0 -68
  323. package/components/table/render/body/TableBodySection.js.map +0 -1
  324. package/components/table/render/body/TableDataRow.d.ts +0 -15
  325. package/components/table/render/body/TableDataRow.js +0 -143
  326. package/components/table/render/body/TableDataRow.js.map +0 -1
  327. package/components/table/render/body/TableExpandedRow.d.ts +0 -8
  328. package/components/table/render/body/TableExpandedRow.js +0 -84
  329. package/components/table/render/body/TableExpandedRow.js.map +0 -1
  330. package/components/table/render/body/TableGroupRow.d.ts +0 -8
  331. package/components/table/render/body/TableGroupRow.js +0 -21
  332. package/components/table/render/body/TableGroupRow.js.map +0 -1
  333. package/components/table/render/body/TableSpacerRow.d.ts +0 -7
  334. package/components/table/render/body/TableSpacerRow.js +0 -15
  335. package/components/table/render/body/TableSpacerRow.js.map +0 -1
  336. package/components/table/render/footer/TableFooterCell.d.ts +0 -8
  337. package/components/table/render/footer/TableFooterCell.js +0 -31
  338. package/components/table/render/footer/TableFooterCell.js.map +0 -1
  339. package/components/table/render/footer/TableFooterSection.d.ts +0 -10
  340. package/components/table/render/footer/TableFooterSection.js +0 -28
  341. package/components/table/render/footer/TableFooterSection.js.map +0 -1
  342. package/components/table/render/header/TableHeaderSection.d.ts +0 -3
  343. package/components/table/render/header/TableHeaderSection.js +0 -104
  344. package/components/table/render/header/TableHeaderSection.js.map +0 -1
@@ -1,13 +1,14 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { HeaderColumn } from './TableHeader.types';
2
- type TableHeaderDragOverlayProps<RowType extends Record<string, unknown>> = {
3
- column?: HeaderColumn<RowType>;
3
+ type TableHeaderDragOverlayProps = {
4
+ column?: HeaderColumn<TableRowData>;
4
5
  header: NonNullable<{
5
- columns: HeaderColumn<RowType>[];
6
+ columns: HeaderColumn<TableRowData>[];
6
7
  rowCount: number;
7
8
  totalColumnCount: number;
8
9
  }>;
9
10
  showSelectionColumn?: boolean;
10
11
  width?: number;
11
12
  };
12
- declare const TableHeaderDragOverlay: <RowType extends Record<string, unknown>>(props: TableHeaderDragOverlayProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
13
+ declare const TableHeaderDragOverlay: (props: TableHeaderDragOverlayProps) => import("react/jsx-runtime").JSX.Element | null;
13
14
  export default TableHeaderDragOverlay;
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderDragOverlay.js","sources":["../../../../../src/components/table/render/header/TableHeaderDragOverlay.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport type { HeaderColumn } from './TableHeader.types';\n\ntype TableHeaderDragOverlayProps<RowType extends Record<string, unknown>> = {\n column?: HeaderColumn<RowType>;\n header: NonNullable<{ columns: HeaderColumn<RowType>[]; rowCount: number; totalColumnCount: number }>;\n showSelectionColumn?: boolean;\n width?: number;\n};\n\nconst TableHeaderDragOverlay = <RowType extends Record<string, unknown>>(\n props: TableHeaderDragOverlayProps<RowType>\n) => {\n const { column, header, showSelectionColumn, width } = props;\n\n if (!column) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n resolveHeaderCellClassName(column, header, {\n isDraggable: true,\n isResizable: false,\n }),\n 'table-head-cell-drag-overlay'\n )}\n data-column={column.columnKey ?? String(column.key)}\n role='presentation'\n style={{ width }}\n >\n <TableHeaderCellContent\n column={column}\n header={header}\n isResizable={false}\n showSelectionColumn={showSelectionColumn}\n />\n </div>\n );\n};\n\nexport default TableHeaderDragOverlay;\n"],"names":["TableHeaderDragOverlay","props","column","header","showSelectionColumn","width","jsx","classNames","resolveHeaderCellClassName","TableHeaderCellContent"],"mappings":";;;;AAYA,MAAMA,IAAyB,CAC3BC,MACC;AACD,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,qBAAAC,GAAqB,OAAAC,MAAUJ;AAEvD,SAAKC,IAKD,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACPC,EAA2BN,GAAQC,GAAQ;AAAA,UACvC,aAAa;AAAA,UACb,aAAa;AAAA,QAAA,CAChB;AAAA,QACD;AAAA,MAAA;AAAA,MAEJ,eAAaD,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,MAClD,MAAK;AAAA,MACL,OAAO,EAAE,OAAAG,EAAA;AAAA,MAET,UAAA,gBAAAC;AAAA,QAACG;AAAA,QAAA;AAAA,UACG,QAAAP;AAAA,UACA,QAAAC;AAAA,UACA,aAAa;AAAA,UACb,qBAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA,IArBG;AAwBf;"}
1
+ {"version":3,"file":"TableHeaderDragOverlay.js","sources":["../../../../../src/components/table/render/header/TableHeaderDragOverlay.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport type { TableRowData } from '../../Table.types';\nimport type { HeaderColumn } from './TableHeader.types';\n\ntype TableHeaderDragOverlayProps = {\n column?: HeaderColumn<TableRowData>;\n header: NonNullable<{ columns: HeaderColumn<TableRowData>[]; rowCount: number; totalColumnCount: number }>;\n showSelectionColumn?: boolean;\n width?: number;\n};\n\nconst TableHeaderDragOverlay = (props: TableHeaderDragOverlayProps) => {\n const { column, header, showSelectionColumn, width } = props;\n\n if (!column) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n resolveHeaderCellClassName(column, header, {\n isDraggable: true,\n isResizable: false,\n }),\n 'table-head-cell-drag-overlay'\n )}\n data-column={column.columnKey ?? String(column.key)}\n role='presentation'\n style={{ width }}\n >\n <TableHeaderCellContent\n column={column}\n header={header}\n isResizable={false}\n showSelectionColumn={showSelectionColumn}\n />\n </div>\n );\n};\n\nexport default TableHeaderDragOverlay;\n"],"names":["TableHeaderDragOverlay","props","column","header","showSelectionColumn","width","jsx","classNames","resolveHeaderCellClassName","TableHeaderCellContent"],"mappings":";;;;AAaA,MAAMA,IAAyB,CAACC,MAAuC;AACnE,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,qBAAAC,GAAqB,OAAAC,MAAUJ;AAEvD,SAAKC,IAKD,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACPC,EAA2BN,GAAQC,GAAQ;AAAA,UACvC,aAAa;AAAA,UACb,aAAa;AAAA,QAAA,CAChB;AAAA,QACD;AAAA,MAAA;AAAA,MAEJ,eAAaD,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,MAClD,MAAK;AAAA,MACL,OAAO,EAAE,OAAAG,EAAA;AAAA,MAET,UAAA,gBAAAC;AAAA,QAACG;AAAA,QAAA;AAAA,UACG,QAAAP;AAAA,UACA,QAAAC;AAAA,UACA,aAAa;AAAA,UACb,qBAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA,IArBG;AAwBf;"}
@@ -1,3 +1,4 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { SharedHeaderCellProps } from './TableHeader.types';
2
- declare const TableStaticHeaderCell: <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const TableStaticHeaderCell: (props: SharedHeaderCellProps<TableRowData>) => import("react/jsx-runtime").JSX.Element;
3
4
  export default TableStaticHeaderCell;
@@ -1,36 +1,50 @@
1
- import { jsxs as n, jsx as l } from "react/jsx-runtime";
2
- import s from "../../../../utils/classNames.js";
3
- import d from "./TableHeaderCellContent.js";
4
- import c from "./TableHeaderCellResizeHandle.js";
1
+ import { jsxs as C, jsx as i } from "react/jsx-runtime";
2
+ import S from "../../../../utils/classNames.js";
3
+ import f from "./TableHeaderCellContent.js";
4
+ import h from "./TableHeaderCellResizeHandle.js";
5
5
  import { resolveAriaSort as p } from "./resolveAriaSort.js";
6
- import { resolveHeaderCellClassName as S } from "./resolveHeaderCellClassName.js";
7
- import { resolveHeaderCellStyle as f } from "./resolveHeaderCellStyle.js";
8
- import { resolveAriaSpan as o, resolveAriaColIndex as C } from "../../shared/resolveTableAria.js";
9
- const y = (r) => {
10
- const { column: e, header: i, hideWhileDragging: t, isResizable: m, showSelectionColumn: a } = r;
11
- return /* @__PURE__ */ n(
6
+ import { resolveHeaderCellClassName as y } from "./resolveHeaderCellClassName.js";
7
+ import { resolveHeaderCellStyle as g } from "./resolveHeaderCellStyle.js";
8
+ import { resolveAriaSpan as n, resolveAriaColIndex as k } from "../../shared/resolveTableAria.js";
9
+ const N = (o) => {
10
+ const {
11
+ column: e,
12
+ header: l,
13
+ hideWhileDragging: m,
14
+ htmlAttributes: s,
15
+ isResizable: c,
16
+ showSelectionColumn: t,
17
+ stickyLeftColumnCount: u,
18
+ stickyRightColumnCount: d
19
+ } = o, r = u ?? 0, a = d ?? 0;
20
+ return /* @__PURE__ */ C(
12
21
  "div",
13
22
  {
14
- className: s(
15
- S(e, i, { isResizable: m }),
16
- t && "table-head-cell-drag-placeholder"
23
+ ...s,
24
+ className: S(
25
+ y(e, l, {
26
+ isResizable: c,
27
+ isStickyLeftColumn: r > 0 && e.columnStart <= r,
28
+ isStickyRightColumn: a > 0 && e.columnStart + e.colSpan - 1 > l.totalColumnCount - a
29
+ }),
30
+ m && "table-head-cell-drag-placeholder"
17
31
  ),
18
32
  "data-column": e.columnKey ?? String(e.key),
19
33
  role: "columnheader",
20
- "aria-colindex": C(e.columnStart, a),
21
- "aria-colspan": o(e.colSpan),
34
+ "aria-colindex": k(e.columnStart, t),
35
+ "aria-colspan": n(e.colSpan),
22
36
  "aria-rowindex": e.rowStart,
23
- "aria-rowspan": o(e.rowSpan),
37
+ "aria-rowspan": n(e.rowSpan),
24
38
  "aria-sort": p(e),
25
- style: f(e, a),
39
+ style: g(e, t),
26
40
  children: [
27
- /* @__PURE__ */ l(d, { ...r }),
28
- /* @__PURE__ */ l(c, { ...r })
41
+ /* @__PURE__ */ i(f, { ...o }),
42
+ /* @__PURE__ */ i(h, { ...o })
29
43
  ]
30
44
  }
31
45
  );
32
46
  };
33
47
  export {
34
- y as default
48
+ N as default
35
49
  };
36
50
  //# sourceMappingURL=TableStaticHeaderCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableStaticHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableStaticHeaderCell.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport TableHeaderCellResizeHandle from './TableHeaderCellResizeHandle';\nimport { resolveAriaSort } from './resolveAriaSort';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport { resolveHeaderCellStyle } from './resolveHeaderCellStyle';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\nimport { resolveAriaColIndex, resolveAriaSpan } from '../../shared/resolveTableAria';\n\nconst TableStaticHeaderCell = <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => {\n const { column, header, hideWhileDragging, isResizable, showSelectionColumn } = props;\n\n return (\n <div\n className={classNames(\n resolveHeaderCellClassName(column, header, { isResizable }),\n hideWhileDragging && 'table-head-cell-drag-placeholder'\n )}\n data-column={column.columnKey ?? String(column.key)}\n role='columnheader'\n aria-colindex={resolveAriaColIndex(column.columnStart, showSelectionColumn)}\n aria-colspan={resolveAriaSpan(column.colSpan)}\n aria-rowindex={column.rowStart}\n aria-rowspan={resolveAriaSpan(column.rowSpan)}\n aria-sort={resolveAriaSort(column)}\n style={resolveHeaderCellStyle(column, showSelectionColumn)}\n >\n <TableHeaderCellContent {...props} />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableStaticHeaderCell;\n"],"names":["TableStaticHeaderCell","props","column","header","hideWhileDragging","isResizable","showSelectionColumn","jsxs","classNames","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AASA,MAAMA,IAAwB,CAA0CC,MAA0C;AAC9G,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,mBAAAC,GAAmB,aAAAC,GAAa,qBAAAC,MAAwBL;AAEhF,SACI,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACPC,EAA2BP,GAAQC,GAAQ,EAAE,aAAAE,GAAa;AAAA,QAC1DD,KAAqB;AAAA,MAAA;AAAA,MAEzB,eAAaF,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,MAClD,MAAK;AAAA,MACL,iBAAeQ,EAAoBR,EAAO,aAAaI,CAAmB;AAAA,MAC1E,gBAAcK,EAAgBT,EAAO,OAAO;AAAA,MAC5C,iBAAeA,EAAO;AAAA,MACtB,gBAAcS,EAAgBT,EAAO,OAAO;AAAA,MAC5C,aAAWU,EAAgBV,CAAM;AAAA,MACjC,OAAOW,EAAuBX,GAAQI,CAAmB;AAAA,MAEzD,UAAA;AAAA,QAAA,gBAAAQ,EAACC,GAAA,EAAwB,GAAGd,GAAO;AAAA,QACnC,gBAAAa,EAACE,GAAA,EAA6B,GAAGf,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
1
+ {"version":3,"file":"TableStaticHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableStaticHeaderCell.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport type { TableRowData } from '../../Table.types';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport TableHeaderCellResizeHandle from './TableHeaderCellResizeHandle';\nimport { resolveAriaSort } from './resolveAriaSort';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport { resolveHeaderCellStyle } from './resolveHeaderCellStyle';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\nimport { resolveAriaColIndex, resolveAriaSpan } from '../../shared/resolveTableAria';\n\nconst TableStaticHeaderCell = (props: SharedHeaderCellProps<TableRowData>) => {\n const {\n column,\n header,\n hideWhileDragging,\n htmlAttributes,\n isResizable,\n showSelectionColumn,\n stickyLeftColumnCount,\n stickyRightColumnCount,\n } = props;\n\n const stickyLeftColumns = stickyLeftColumnCount ?? 0;\n const stickyRightColumns = stickyRightColumnCount ?? 0;\n\n return (\n <div\n {...htmlAttributes}\n className={classNames(\n resolveHeaderCellClassName(column, header, {\n isResizable,\n isStickyLeftColumn: stickyLeftColumns > 0 && column.columnStart <= stickyLeftColumns,\n isStickyRightColumn:\n stickyRightColumns > 0 &&\n column.columnStart + column.colSpan - 1 > header.totalColumnCount - stickyRightColumns,\n }),\n hideWhileDragging && 'table-head-cell-drag-placeholder'\n )}\n data-column={column.columnKey ?? String(column.key)}\n role='columnheader'\n aria-colindex={resolveAriaColIndex(column.columnStart, showSelectionColumn)}\n aria-colspan={resolveAriaSpan(column.colSpan)}\n aria-rowindex={column.rowStart}\n aria-rowspan={resolveAriaSpan(column.rowSpan)}\n aria-sort={resolveAriaSort(column)}\n style={resolveHeaderCellStyle(column, showSelectionColumn)}\n >\n <TableHeaderCellContent {...props} />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableStaticHeaderCell;\n"],"names":["TableStaticHeaderCell","props","column","header","hideWhileDragging","htmlAttributes","isResizable","showSelectionColumn","stickyLeftColumnCount","stickyRightColumnCount","stickyLeftColumns","stickyRightColumns","jsxs","classNames","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAUA,MAAMA,IAAwB,CAACC,MAA+C;AAC1E,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,wBAAAC;AAAA,EAAA,IACAR,GAEES,IAAoBF,KAAyB,GAC7CG,IAAqBF,KAA0B;AAErD,SACI,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGP;AAAA,MACJ,WAAWQ;AAAA,QACPC,EAA2BZ,GAAQC,GAAQ;AAAA,UACvC,aAAAG;AAAA,UACA,oBAAoBI,IAAoB,KAAKR,EAAO,eAAeQ;AAAA,UACnE,qBACIC,IAAqB,KACrBT,EAAO,cAAcA,EAAO,UAAU,IAAIC,EAAO,mBAAmBQ;AAAA,QAAA,CAC3E;AAAA,QACDP,KAAqB;AAAA,MAAA;AAAA,MAEzB,eAAaF,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,MAClD,MAAK;AAAA,MACL,iBAAea,EAAoBb,EAAO,aAAaK,CAAmB;AAAA,MAC1E,gBAAcS,EAAgBd,EAAO,OAAO;AAAA,MAC5C,iBAAeA,EAAO;AAAA,MACtB,gBAAcc,EAAgBd,EAAO,OAAO;AAAA,MAC5C,aAAWe,EAAgBf,CAAM;AAAA,MACjC,OAAOgB,EAAuBhB,GAAQK,CAAmB;AAAA,MAEzD,UAAA;AAAA,QAAA,gBAAAY,EAACC,GAAA,EAAwB,GAAGnB,GAAO;AAAA,QACnC,gBAAAkB,EAACE,GAAA,EAA6B,GAAGpB,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
@@ -1,2 +1,3 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { HeaderColumn } from './TableHeader.types';
2
- export declare const resolveAriaSort: <RowType extends Record<string, unknown>>(column: HeaderColumn<RowType>) => "none" | "ascending" | "descending" | undefined;
3
+ export declare const resolveAriaSort: (column: HeaderColumn<TableRowData>) => "none" | "ascending" | "descending" | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAriaSort.js","sources":["../../../../../src/components/table/render/header/resolveAriaSort.ts"],"sourcesContent":["import type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveAriaSort = <RowType extends Record<string, unknown>>(column: HeaderColumn<RowType>) => {\n if (!column.sortable) {\n return;\n }\n\n if (column.sortDirection === 'asc') {\n return 'ascending';\n }\n\n if (column.sortDirection === 'desc') {\n return 'descending';\n }\n\n return 'none';\n};\n"],"names":["resolveAriaSort","column"],"mappings":"AAEO,MAAMA,IAAkB,CAA0CC,MAAkC;AACvG,MAAKA,EAAO;AAIZ,WAAIA,EAAO,kBAAkB,QAClB,cAGPA,EAAO,kBAAkB,SAClB,eAGJ;AACX;"}
1
+ {"version":3,"file":"resolveAriaSort.js","sources":["../../../../../src/components/table/render/header/resolveAriaSort.ts"],"sourcesContent":["import type { TableRowData } from '../../Table.types';\nimport type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveAriaSort = (column: HeaderColumn<TableRowData>) => {\n if (!column.sortable) {\n return;\n }\n\n if (column.sortDirection === 'asc') {\n return 'ascending';\n }\n\n if (column.sortDirection === 'desc') {\n return 'descending';\n }\n\n return 'none';\n};\n"],"names":["resolveAriaSort","column"],"mappings":"AAGO,MAAMA,IAAkB,CAACC,MAAuC;AACnE,MAAKA,EAAO;AAIZ,WAAIA,EAAO,kBAAkB,QAClB,cAGPA,EAAO,kBAAkB,SAClB,eAGJ;AACX;"}
@@ -1,10 +1,13 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { HeaderColumn } from './TableHeader.types';
2
- export declare const resolveHeaderCellClassName: <RowType extends Record<string, unknown>>(column: HeaderColumn<RowType>, header: NonNullable<{
3
- columns: HeaderColumn<RowType>[];
3
+ export declare const resolveHeaderCellClassName: (column: HeaderColumn<TableRowData>, header: NonNullable<{
4
+ columns: HeaderColumn<TableRowData>[];
4
5
  rowCount: number;
5
6
  totalColumnCount: number;
6
7
  }>, options: {
7
8
  isDraggable?: boolean;
8
9
  isDragging?: boolean;
9
10
  isResizable: boolean;
11
+ isStickyLeftColumn?: boolean;
12
+ isStickyRightColumn?: boolean;
10
13
  }) => string;
@@ -1,22 +1,24 @@
1
- import s from "../../../../utils/classNames.js";
2
- import { getVerticalAlignClassName as o, getHorizontalAlignClassName as b } from "../../shared/getAlignClassName.js";
3
- const h = (e, a, l) => {
4
- const { isDraggable: t, isDragging: r, isResizable: i } = l;
5
- return s(
1
+ import b from "../../../../utils/classNames.js";
2
+ import { getVerticalAlignClassName as d, getHorizontalAlignClassName as g } from "../../shared/getAlignClassName.js";
3
+ const n = (e, l, a) => {
4
+ const { isDraggable: t, isDragging: i, isResizable: r, isStickyLeftColumn: s, isStickyRightColumn: o } = a;
5
+ return b(
6
6
  "table-head-cell",
7
7
  e.sortable && "table-head-cell-sortable",
8
8
  t && "table-head-cell-draggable",
9
- r && "table-head-cell-dragging",
10
- i && "table-head-cell-resizable",
11
- e.columnStart + e.colSpan - 1 < a.totalColumnCount && "table-head-cell-has-column-divider",
12
- e.rowStart + e.rowSpan - 1 < a.rowCount && "table-head-cell-has-row-divider",
13
- b(e.horizontalAlign),
14
- o(e.verticalAlign),
9
+ i && "table-head-cell-dragging",
10
+ r && "table-head-cell-resizable",
11
+ s && "table-head-cell-sticky-left-column",
12
+ o && "table-head-cell-sticky-right-column",
13
+ e.columnStart + e.colSpan - 1 < l.totalColumnCount && "table-head-cell-has-column-divider",
14
+ e.rowStart + e.rowSpan - 1 < l.rowCount && "table-head-cell-has-row-divider",
15
+ g(e.horizontalAlign),
16
+ d(e.verticalAlign),
15
17
  e.hideOnMobile && "table-hide-mobile",
16
18
  e.headerClassName
17
19
  );
18
20
  };
19
21
  export {
20
- h as resolveHeaderCellClassName
22
+ n as resolveHeaderCellClassName
21
23
  };
22
24
  //# sourceMappingURL=resolveHeaderCellClassName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveHeaderCellClassName.js","sources":["../../../../../src/components/table/render/header/resolveHeaderCellClassName.ts"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport { getHorizontalAlignClassName, getVerticalAlignClassName } from '../../shared/getAlignClassName';\nimport type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveHeaderCellClassName = <RowType extends Record<string, unknown>>(\n column: HeaderColumn<RowType>,\n header: NonNullable<{ columns: HeaderColumn<RowType>[]; rowCount: number; totalColumnCount: number }>,\n options: {\n isDraggable?: boolean;\n isDragging?: boolean;\n isResizable: boolean;\n }\n) => {\n const { isDraggable, isDragging, isResizable } = options;\n\n return classNames(\n 'table-head-cell',\n column.sortable && 'table-head-cell-sortable',\n isDraggable && 'table-head-cell-draggable',\n isDragging && 'table-head-cell-dragging',\n isResizable && 'table-head-cell-resizable',\n column.columnStart + column.colSpan - 1 < header.totalColumnCount && 'table-head-cell-has-column-divider',\n column.rowStart + column.rowSpan - 1 < header.rowCount && 'table-head-cell-has-row-divider',\n getHorizontalAlignClassName(column.horizontalAlign),\n getVerticalAlignClassName(column.verticalAlign),\n column.hideOnMobile && 'table-hide-mobile',\n column.headerClassName\n );\n};\n"],"names":["resolveHeaderCellClassName","column","header","options","isDraggable","isDragging","isResizable","classNames","getHorizontalAlignClassName","getVerticalAlignClassName"],"mappings":";;AAIO,MAAMA,IAA6B,CACtCC,GACAC,GACAC,MAKC;AACD,QAAM,EAAE,aAAAC,GAAa,YAAAC,GAAY,aAAAC,EAAA,IAAgBH;AAEjD,SAAOI;AAAA,IACH;AAAA,IACAN,EAAO,YAAY;AAAA,IACnBG,KAAe;AAAA,IACfC,KAAc;AAAA,IACdC,KAAe;AAAA,IACfL,EAAO,cAAcA,EAAO,UAAU,IAAIC,EAAO,oBAAoB;AAAA,IACrED,EAAO,WAAWA,EAAO,UAAU,IAAIC,EAAO,YAAY;AAAA,IAC1DM,EAA4BP,EAAO,eAAe;AAAA,IAClDQ,EAA0BR,EAAO,aAAa;AAAA,IAC9CA,EAAO,gBAAgB;AAAA,IACvBA,EAAO;AAAA,EAAA;AAEf;"}
1
+ {"version":3,"file":"resolveHeaderCellClassName.js","sources":["../../../../../src/components/table/render/header/resolveHeaderCellClassName.ts"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport { getHorizontalAlignClassName, getVerticalAlignClassName } from '../../shared/getAlignClassName';\nimport type { TableRowData } from '../../Table.types';\nimport type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveHeaderCellClassName = (\n column: HeaderColumn<TableRowData>,\n header: NonNullable<{ columns: HeaderColumn<TableRowData>[]; rowCount: number; totalColumnCount: number }>,\n options: {\n isDraggable?: boolean;\n isDragging?: boolean;\n isResizable: boolean;\n isStickyLeftColumn?: boolean;\n isStickyRightColumn?: boolean;\n }\n) => {\n const { isDraggable, isDragging, isResizable, isStickyLeftColumn, isStickyRightColumn } = options;\n\n return classNames(\n 'table-head-cell',\n column.sortable && 'table-head-cell-sortable',\n isDraggable && 'table-head-cell-draggable',\n isDragging && 'table-head-cell-dragging',\n isResizable && 'table-head-cell-resizable',\n isStickyLeftColumn && 'table-head-cell-sticky-left-column',\n isStickyRightColumn && 'table-head-cell-sticky-right-column',\n column.columnStart + column.colSpan - 1 < header.totalColumnCount && 'table-head-cell-has-column-divider',\n column.rowStart + column.rowSpan - 1 < header.rowCount && 'table-head-cell-has-row-divider',\n getHorizontalAlignClassName(column.horizontalAlign),\n getVerticalAlignClassName(column.verticalAlign),\n column.hideOnMobile && 'table-hide-mobile',\n column.headerClassName\n );\n};\n"],"names":["resolveHeaderCellClassName","column","header","options","isDraggable","isDragging","isResizable","isStickyLeftColumn","isStickyRightColumn","classNames","getHorizontalAlignClassName","getVerticalAlignClassName"],"mappings":";;AAKO,MAAMA,IAA6B,CACtCC,GACAC,GACAC,MAOC;AACD,QAAM,EAAE,aAAAC,GAAa,YAAAC,GAAY,aAAAC,GAAa,oBAAAC,GAAoB,qBAAAC,MAAwBL;AAE1F,SAAOM;AAAA,IACH;AAAA,IACAR,EAAO,YAAY;AAAA,IACnBG,KAAe;AAAA,IACfC,KAAc;AAAA,IACdC,KAAe;AAAA,IACfC,KAAsB;AAAA,IACtBC,KAAuB;AAAA,IACvBP,EAAO,cAAcA,EAAO,UAAU,IAAIC,EAAO,oBAAoB;AAAA,IACrED,EAAO,WAAWA,EAAO,UAAU,IAAIC,EAAO,YAAY;AAAA,IAC1DQ,EAA4BT,EAAO,eAAe;AAAA,IAClDU,EAA0BV,EAAO,aAAa;AAAA,IAC9CA,EAAO,gBAAgB;AAAA,IACvBA,EAAO;AAAA,EAAA;AAEf;"}
@@ -1,6 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
+ import { TableRowData } from '../../Table.types';
2
3
  import { HeaderColumn } from './TableHeader.types';
3
- export declare const resolveHeaderCellStyle: <RowType extends Record<string, unknown>>(column: HeaderColumn<RowType>, showSelectionColumn?: boolean, extraStyle?: CSSProperties) => {
4
+ export declare const resolveHeaderCellStyle: (column: HeaderColumn<TableRowData>, showSelectionColumn?: boolean, extraStyle?: CSSProperties) => {
4
5
  accentColor?: import("csstype").Property.AccentColor | undefined;
5
6
  alignContent?: import("csstype").Property.AlignContent | undefined;
6
7
  alignItems?: import("csstype").Property.AlignItems | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveHeaderCellStyle.js","sources":["../../../../../src/components/table/render/header/resolveHeaderCellStyle.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nimport type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveHeaderCellStyle = <RowType extends Record<string, unknown>>(\n column: HeaderColumn<RowType>,\n showSelectionColumn?: boolean,\n extraStyle?: CSSProperties\n) => ({\n gridColumn: `${column.columnStart + (showSelectionColumn ? 1 : 0)} / span ${column.colSpan}`,\n gridRow: `${column.rowStart} / span ${column.rowSpan}`,\n ...extraStyle,\n});\n"],"names":["resolveHeaderCellStyle","column","showSelectionColumn","extraStyle"],"mappings":"AAIO,MAAMA,IAAyB,CAClCC,GACAC,GACAC,OACE;AAAA,EACF,YAAY,GAAGF,EAAO,eAAeC,IAAsB,IAAI,EAAE,WAAWD,EAAO,OAAO;AAAA,EAC1F,SAAS,GAAGA,EAAO,QAAQ,WAAWA,EAAO,OAAO;AAAA,EACpD,GAAGE;AACP;"}
1
+ {"version":3,"file":"resolveHeaderCellStyle.js","sources":["../../../../../src/components/table/render/header/resolveHeaderCellStyle.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nimport type { TableRowData } from '../../Table.types';\nimport type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveHeaderCellStyle = (\n column: HeaderColumn<TableRowData>,\n showSelectionColumn?: boolean,\n extraStyle?: CSSProperties\n) => ({\n gridColumn: `${column.columnStart + (showSelectionColumn ? 1 : 0)} / span ${column.colSpan}`,\n gridRow: `${column.rowStart} / span ${column.rowSpan}`,\n ...extraStyle,\n});\n"],"names":["resolveHeaderCellStyle","column","showSelectionColumn","extraStyle"],"mappings":"AAKO,MAAMA,IAAyB,CAClCC,GACAC,GACAC,OACE;AAAA,EACF,YAAY,GAAGF,EAAO,eAAeC,IAAsB,IAAI,EAAE,WAAWD,EAAO,OAAO;AAAA,EAC1F,SAAS,GAAGA,EAAO,QAAQ,WAAWA,EAAO,OAAO;AAAA,EACpD,GAAGE;AACP;"}
@@ -0,0 +1,17 @@
1
+ import { TableExpandedRowAnimation, TableRowAnimationProps, TableRowData } from '../Table.types';
2
+ type ShouldAnimateBodyRowsOptions<RowType extends TableRowData> = {
3
+ rowAnimationProps?: TableRowAnimationProps<RowType>;
4
+ expandedRowAnimation?: TableExpandedRowAnimation;
5
+ hasExpandableRows?: boolean;
6
+ hasExpandedRows?: boolean;
7
+ };
8
+ /**
9
+ * Body rows only animate when the consumer explicitly opted into row animations
10
+ * or when expanded-row animations are enabled.
11
+ *
12
+ * Expanded rows need AnimatePresence to stay mounted before the first row is
13
+ * opened. Otherwise the first expanded row would mount together with the
14
+ * presence wrapper and skip its enter animation.
15
+ */
16
+ export declare const shouldAnimateBodyRows: <RowType extends TableRowData>(options: ShouldAnimateBodyRowsOptions<RowType>) => boolean;
17
+ export {};
@@ -0,0 +1,5 @@
1
+ const r = (e) => e.rowAnimationProps ? !0 : e.expandedRowAnimation === !1 ? !1 : e.hasExpandableRows === !0 || e.hasExpandedRows === !0;
2
+ export {
3
+ r as shouldAnimateBodyRows
4
+ };
5
+ //# sourceMappingURL=shouldAnimateBodyRows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldAnimateBodyRows.js","sources":["../../../../src/components/table/runtime/shouldAnimateBodyRows.ts"],"sourcesContent":["import type { TableExpandedRowAnimation, TableRowAnimationProps, TableRowData } from '../Table.types';\n\ntype ShouldAnimateBodyRowsOptions<RowType extends TableRowData> = {\n rowAnimationProps?: TableRowAnimationProps<RowType>;\n expandedRowAnimation?: TableExpandedRowAnimation;\n hasExpandableRows?: boolean;\n hasExpandedRows?: boolean;\n};\n\n/**\n * Body rows only animate when the consumer explicitly opted into row animations\n * or when expanded-row animations are enabled.\n *\n * Expanded rows need AnimatePresence to stay mounted before the first row is\n * opened. Otherwise the first expanded row would mount together with the\n * presence wrapper and skip its enter animation.\n */\nexport const shouldAnimateBodyRows = <RowType extends TableRowData>(options: ShouldAnimateBodyRowsOptions<RowType>) => {\n if (options.rowAnimationProps) {\n return true;\n }\n\n if (options.expandedRowAnimation === false) {\n return false;\n }\n\n return options.hasExpandableRows === true || options.hasExpandedRows === true;\n};\n"],"names":["shouldAnimateBodyRows","options"],"mappings":"AAiBO,MAAMA,IAAwB,CAA+BC,MAC5DA,EAAQ,oBACD,KAGPA,EAAQ,yBAAyB,KAC1B,KAGJA,EAAQ,sBAAsB,MAAQA,EAAQ,oBAAoB;"}
@@ -0,0 +1,14 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ import { RenderBodyRow, RenderHeaderColumn, TableRenderDraft } from '../context/TableRenderContext';
3
+ import { TableRowData } from '../Table.types';
4
+ export type UseRenderDraftStateReturn<RowType extends TableRowData> = {
5
+ renderHeaderColumns: RenderHeaderColumn<RowType>[];
6
+ renderBodyRows: RenderBodyRow<RowType>[];
7
+ renderBodyMaxHeight?: string;
8
+ renderHasFooter: boolean;
9
+ renderHasFooterCells?: boolean;
10
+ renderHasExpandableRows?: boolean;
11
+ renderBodyRow: (row: RenderBodyRow<RowType>) => ReactNode;
12
+ };
13
+ export declare const useRenderDraftState: <RowType extends TableRowData>(renderDraftRef: RefObject<TableRenderDraft<RowType>>) => UseRenderDraftStateReturn<RowType>;
14
+ export default useRenderDraftState;
@@ -0,0 +1,80 @@
1
+ import { useRef as v, useState as f, useLayoutEffect as B, useCallback as M } from "react";
2
+ const h = (o) => `${o.kind}-${String(o.rowId)}`, S = [
3
+ "id",
4
+ "columnKey",
5
+ "width",
6
+ "mobileLabel",
7
+ "horizontalAlign",
8
+ "verticalAlign",
9
+ "headerClassName",
10
+ "hideOnMobile",
11
+ "sortable",
12
+ "draggable",
13
+ "resizeable",
14
+ "minResizeWidth",
15
+ "maxResizeWidth",
16
+ "row",
17
+ "colSpan",
18
+ "rowSpan"
19
+ ], E = ["rowId", "rowIndex", "kind", "disabled"], K = (o, r) => o.length === r.length && o.every((e, n) => {
20
+ const t = r[n];
21
+ return t !== void 0 && S.every((s) => e[s] === t[s]);
22
+ }), I = (o, r) => o.length === r.length && o.every((e, n) => {
23
+ const t = r[n];
24
+ return t !== void 0 && E.every((s) => e[s] === t[s]);
25
+ }), z = (o) => {
26
+ const r = /* @__PURE__ */ new Set();
27
+ return o.filter((e) => r.has(e.id) ? !1 : (r.add(e.id), !0));
28
+ }, H = (o) => {
29
+ const r = /* @__PURE__ */ new Set();
30
+ return o.filter((e) => {
31
+ const n = `${e.kind}-${String(e.rowId)}`;
32
+ return r.has(n) ? !1 : (r.add(n), !0);
33
+ });
34
+ }, g = (o) => new Map(o.map((r) => [h(r), r.render])), k = (o) => {
35
+ const r = v(/* @__PURE__ */ new Map()), [e, n] = f({
36
+ headerColumns: [],
37
+ bodyRows: [],
38
+ bodyMaxHeight: void 0,
39
+ hasFooter: !1,
40
+ hasFooterCells: void 0,
41
+ hasExpandableRows: void 0
42
+ });
43
+ B(() => {
44
+ const s = o.current;
45
+ if (!s)
46
+ return;
47
+ const d = z(s.headerColumns), a = H(s.bodyRows), l = a.map(({ render: $, ...F }) => F), p = g(a), R = s.bodyMaxHeight, i = s.hasFooter === !0, c = s.hasFooterCells, w = s.hasExpandableRows;
48
+ r.current = p;
49
+ const u = K(e.headerColumns, d) ? e.headerColumns : d, y = I(e.bodyRows, l) ? e.bodyRows : l, b = e.bodyMaxHeight === R ? e.bodyMaxHeight : R, x = e.hasFooter === i ? e.hasFooter : i, C = e.hasFooterCells === c ? e.hasFooterCells : c, m = e.hasExpandableRows === w ? e.hasExpandableRows : w;
50
+ e.headerColumns === u && e.bodyRows === y && e.bodyMaxHeight === b && e.hasFooter === x && e.hasFooterCells === C && e.hasExpandableRows === m || n({
51
+ headerColumns: u,
52
+ bodyRows: y,
53
+ bodyMaxHeight: b,
54
+ hasFooter: x,
55
+ hasFooterCells: C,
56
+ hasExpandableRows: m
57
+ });
58
+ });
59
+ const t = M(
60
+ (s) => {
61
+ const d = o.current;
62
+ return ((d ? g(H(d.bodyRows)) : void 0)?.get(h(s)) ?? r.current.get(h(s)))?.() ?? null;
63
+ },
64
+ [o]
65
+ );
66
+ return {
67
+ renderHeaderColumns: e.headerColumns,
68
+ renderBodyRows: e.bodyRows,
69
+ renderBodyMaxHeight: e.bodyMaxHeight,
70
+ renderHasFooter: e.hasFooter,
71
+ renderHasFooterCells: e.hasFooterCells,
72
+ renderHasExpandableRows: e.hasExpandableRows,
73
+ renderBodyRow: t
74
+ };
75
+ };
76
+ export {
77
+ k as default,
78
+ k as useRenderDraftState
79
+ };
80
+ //# sourceMappingURL=useRenderDraftState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRenderDraftState.js","sources":["../../../../src/components/table/runtime/useRenderDraftState.ts"],"sourcesContent":["import { useCallback, useLayoutEffect, useRef, useState, type ReactNode, type RefObject } from 'react';\n\nimport type { RenderBodyRow, RenderHeaderColumn, TableRenderDraft } from '../context/TableRenderContext';\nimport type { TableRowData } from '../Table.types';\n\ntype RenderDraftState<RowType extends TableRowData> = {\n headerColumns: RenderHeaderColumn<RowType>[];\n bodyRows: RenderBodyRow<RowType>[];\n bodyMaxHeight?: string;\n hasFooter: boolean;\n hasFooterCells?: boolean;\n hasExpandableRows?: boolean;\n};\n\nconst getRenderBodyRowRendererKey = <RowType extends TableRowData>(\n row: Pick<TableRenderDraft<RowType>['bodyRows'][number], 'kind' | 'rowId'>\n) => `${row.kind}-${String(row.rowId)}`;\n\nconst renderHeaderColumnComparisonKeys = [\n 'id',\n 'columnKey',\n 'width',\n 'mobileLabel',\n 'horizontalAlign',\n 'verticalAlign',\n 'headerClassName',\n 'hideOnMobile',\n 'sortable',\n 'draggable',\n 'resizeable',\n 'minResizeWidth',\n 'maxResizeWidth',\n 'row',\n 'colSpan',\n 'rowSpan',\n] as const satisfies ReadonlyArray<keyof RenderHeaderColumn<TableRowData>>;\n\nconst renderBodyRowComparisonKeys = ['rowId', 'rowIndex', 'kind', 'disabled'] as const satisfies ReadonlyArray<\n keyof RenderBodyRow<TableRowData>\n>;\n\nconst haveSameRenderHeaderColumns = <RowType extends TableRowData>(\n currentColumns: RenderHeaderColumn<RowType>[],\n nextColumns: RenderHeaderColumn<RowType>[]\n) =>\n currentColumns.length === nextColumns.length &&\n currentColumns.every((currentColumn, index) => {\n const nextColumn = nextColumns[index];\n\n return (\n nextColumn !== undefined &&\n renderHeaderColumnComparisonKeys.every(key => currentColumn[key] === nextColumn[key])\n );\n });\n\nconst haveSameRenderBodyRows = <RowType extends TableRowData>(\n currentRows: RenderBodyRow<RowType>[],\n nextRows: RenderBodyRow<RowType>[]\n) =>\n currentRows.length === nextRows.length &&\n currentRows.every((currentRow, index) => {\n const nextRow = nextRows[index];\n\n return nextRow !== undefined && renderBodyRowComparisonKeys.every(key => currentRow[key] === nextRow[key]);\n });\n\nconst dedupeRenderHeaderColumns = <RowType extends TableRowData>(headerColumns: RenderHeaderColumn<RowType>[]) => {\n const seenColumnIds = new Set<string>();\n\n return headerColumns.filter(column => {\n if (seenColumnIds.has(column.id)) {\n return false;\n }\n\n seenColumnIds.add(column.id);\n return true;\n });\n};\n\nconst dedupeRenderBodyRows = <RowType extends TableRowData>(bodyRows: TableRenderDraft<RowType>['bodyRows']) => {\n const seenRowKeys = new Set<string>();\n\n return bodyRows.filter(row => {\n const rowKey = `${row.kind}-${String(row.rowId)}`;\n\n if (seenRowKeys.has(rowKey)) {\n return false;\n }\n\n seenRowKeys.add(rowKey);\n return true;\n });\n};\n\nconst createRenderBodyRowRendererMap = <RowType extends TableRowData>(\n bodyRows: TableRenderDraft<RowType>['bodyRows']\n) => new Map(bodyRows.map(row => [getRenderBodyRowRendererKey(row), row.render] as const));\n\nexport type UseRenderDraftStateReturn<RowType extends TableRowData> = {\n renderHeaderColumns: RenderHeaderColumn<RowType>[];\n renderBodyRows: RenderBodyRow<RowType>[];\n renderBodyMaxHeight?: string;\n renderHasFooter: boolean;\n renderHasFooterCells?: boolean;\n renderHasExpandableRows?: boolean;\n renderBodyRow: (row: RenderBodyRow<RowType>) => ReactNode;\n};\n\nexport const useRenderDraftState = <RowType extends TableRowData>(\n renderDraftRef: RefObject<TableRenderDraft<RowType>>\n): UseRenderDraftStateReturn<RowType> => {\n const bodyRowRenderersRef = useRef(new Map<string, () => ReactNode>());\n const [renderDraftState, setRenderDraftState] = useState<RenderDraftState<RowType>>({\n headerColumns: [],\n bodyRows: [],\n bodyMaxHeight: undefined,\n hasFooter: false,\n hasFooterCells: undefined,\n hasExpandableRows: undefined,\n });\n\n useLayoutEffect(() => {\n const draft = renderDraftRef.current;\n\n if (!draft) {\n return;\n }\n\n const nextHeaderColumns = dedupeRenderHeaderColumns(draft.headerColumns);\n const nextBodyRowsWithRenderers = dedupeRenderBodyRows(draft.bodyRows);\n const nextBodyRows = nextBodyRowsWithRenderers.map(({ render: _render, ...bodyRow }) => bodyRow);\n const nextBodyRowRenderers = createRenderBodyRowRendererMap(nextBodyRowsWithRenderers);\n const nextBodyMaxHeight = draft.bodyMaxHeight;\n const nextHasFooter = draft.hasFooter === true;\n const nextHasFooterCells = draft.hasFooterCells;\n const nextHasExpandableRows = draft.hasExpandableRows;\n\n // Keep render functions out of React state. The draft state only tracks structural row\n // metadata, while the latest row render callbacks stay available via this ref.\n bodyRowRenderersRef.current = nextBodyRowRenderers;\n\n const resolvedHeaderColumns = haveSameRenderHeaderColumns(renderDraftState.headerColumns, nextHeaderColumns)\n ? renderDraftState.headerColumns\n : nextHeaderColumns;\n const resolvedBodyRows = haveSameRenderBodyRows(renderDraftState.bodyRows, nextBodyRows)\n ? renderDraftState.bodyRows\n : nextBodyRows;\n const resolvedBodyMaxHeight =\n renderDraftState.bodyMaxHeight === nextBodyMaxHeight ? renderDraftState.bodyMaxHeight : nextBodyMaxHeight;\n const resolvedHasFooter =\n renderDraftState.hasFooter === nextHasFooter ? renderDraftState.hasFooter : nextHasFooter;\n const resolvedHasFooterCells =\n renderDraftState.hasFooterCells === nextHasFooterCells\n ? renderDraftState.hasFooterCells\n : nextHasFooterCells;\n const resolvedHasExpandableRows =\n renderDraftState.hasExpandableRows === nextHasExpandableRows\n ? renderDraftState.hasExpandableRows\n : nextHasExpandableRows;\n\n // Avoid scheduling a layout-state update when the normalized draft did not\n // actually change. This keeps the render/register cycle stable in StrictMode\n // and prevents resize-reset flows from bouncing through nested updates.\n if (\n renderDraftState.headerColumns === resolvedHeaderColumns &&\n renderDraftState.bodyRows === resolvedBodyRows &&\n renderDraftState.bodyMaxHeight === resolvedBodyMaxHeight &&\n renderDraftState.hasFooter === resolvedHasFooter &&\n renderDraftState.hasFooterCells === resolvedHasFooterCells &&\n renderDraftState.hasExpandableRows === resolvedHasExpandableRows\n ) {\n return;\n }\n\n setRenderDraftState({\n headerColumns: resolvedHeaderColumns,\n bodyRows: resolvedBodyRows,\n bodyMaxHeight: resolvedBodyMaxHeight,\n hasFooter: resolvedHasFooter,\n hasFooterCells: resolvedHasFooterCells,\n hasExpandableRows: resolvedHasExpandableRows,\n });\n });\n\n const renderBodyRow = useCallback(\n (row: RenderBodyRow<RowType>) => {\n const draft = renderDraftRef.current;\n const draftRowRenderers = draft\n ? createRenderBodyRowRendererMap(dedupeRenderBodyRows(draft.bodyRows))\n : undefined;\n const rowRenderer =\n draftRowRenderers?.get(getRenderBodyRowRendererKey(row)) ??\n bodyRowRenderersRef.current.get(getRenderBodyRowRendererKey(row));\n\n return rowRenderer?.() ?? null;\n },\n [renderDraftRef]\n );\n\n return {\n renderHeaderColumns: renderDraftState.headerColumns,\n renderBodyRows: renderDraftState.bodyRows,\n renderBodyMaxHeight: renderDraftState.bodyMaxHeight,\n renderHasFooter: renderDraftState.hasFooter,\n renderHasFooterCells: renderDraftState.hasFooterCells,\n renderHasExpandableRows: renderDraftState.hasExpandableRows,\n renderBodyRow,\n };\n};\n\nexport default useRenderDraftState;\n"],"names":["getRenderBodyRowRendererKey","row","renderHeaderColumnComparisonKeys","renderBodyRowComparisonKeys","haveSameRenderHeaderColumns","currentColumns","nextColumns","currentColumn","index","nextColumn","key","haveSameRenderBodyRows","currentRows","nextRows","currentRow","nextRow","dedupeRenderHeaderColumns","headerColumns","seenColumnIds","column","dedupeRenderBodyRows","bodyRows","seenRowKeys","rowKey","createRenderBodyRowRendererMap","useRenderDraftState","renderDraftRef","bodyRowRenderersRef","useRef","renderDraftState","setRenderDraftState","useState","useLayoutEffect","draft","nextHeaderColumns","nextBodyRowsWithRenderers","nextBodyRows","_render","bodyRow","nextBodyRowRenderers","nextBodyMaxHeight","nextHasFooter","nextHasFooterCells","nextHasExpandableRows","resolvedHeaderColumns","resolvedBodyRows","resolvedBodyMaxHeight","resolvedHasFooter","resolvedHasFooterCells","resolvedHasExpandableRows","renderBodyRow","useCallback"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { RenderHeaderColumn } from '../context/TableRenderContext';
2
+ import { useDraggableColumns } from '../layout/useDraggableColumns';
3
+ import { useResizableColumns } from '../layout/useResizableColumns';
4
+ import { TableColumnDefinition, TableProps, TableRowData } from '../Table.types';
5
+ type UseResolvedRenderColumnsProps<RowType extends TableRowData> = {
6
+ columnOrder: TableProps<RowType>['columnOrder'];
7
+ onColumnOrderChange: TableProps<RowType>['onColumnOrderChange'];
8
+ onColumnResize: TableProps<RowType>['onColumnResize'];
9
+ renderHeaderColumns: RenderHeaderColumn<RowType>[];
10
+ viewType: TableProps<RowType>['viewType'];
11
+ };
12
+ export type UseResolvedRenderColumnsReturn<RowType extends TableRowData> = {
13
+ columnDefinitionsByKey: Map<string, TableColumnDefinition<RowType>>;
14
+ columnIndexByKey: Map<string, number>;
15
+ draggableColumnKeys?: string[];
16
+ draggableColumnsEnabled: boolean;
17
+ handleColumnDragEnd: ReturnType<typeof useDraggableColumns>['handleColumnDragEnd'];
18
+ handleColumnResizeReset: ReturnType<typeof useResizableColumns<RowType>>['handleColumnResizeReset'];
19
+ handleColumnResizeStart: ReturnType<typeof useResizableColumns<RowType>>['handleColumnResizeStart'];
20
+ lastResizableColumnKey?: string;
21
+ resettableColumnKeys: Set<string>;
22
+ renderDataColumns: RenderHeaderColumn<RowType>[];
23
+ resizeColumnsEnabled: boolean;
24
+ resolvedRenderColumns: RenderHeaderColumn<RowType>[];
25
+ resizedColumns: ReturnType<typeof useResizableColumns<RowType>>['resizedColumns'];
26
+ };
27
+ /**
28
+ * Resolves the actual data columns that drive layout and column behavior.
29
+ *
30
+ * Header registration can contain grouped header cells, multi-row headers, and
31
+ * other metadata that is useful for rendering, but drag, resize, sticky layout,
32
+ * and body/footer cell placement ultimately need a flat list of actual data columns.
33
+ *
34
+ * This hook therefore:
35
+ * - narrows registered header cells down to single-column data headers with a stable `columnKey`
36
+ * - applies column reordering
37
+ * - applies resized widths
38
+ * - exposes a normalized column map for body/footer cell lookup
39
+ *
40
+ * `Table` uses this as the canonical column model for the rest of the render pass.
41
+ */
42
+ declare const useResolvedRenderColumns: <RowType extends TableRowData>(props: UseResolvedRenderColumnsProps<RowType>) => UseResolvedRenderColumnsReturn<RowType>;
43
+ export default useResolvedRenderColumns;
@@ -0,0 +1,113 @@
1
+ import { useMemo as l } from "react";
2
+ import { useDraggableColumns as A } from "../layout/useDraggableColumns.js";
3
+ import { useResizableColumns as L } from "../layout/useResizableColumns.js";
4
+ const B = (m) => {
5
+ const { columnOrder: g, onColumnOrderChange: C, onColumnResize: y, renderHeaderColumns: t, viewType: d } = m, i = l(
6
+ () => t.flatMap(
7
+ (e) => e.columnKey && e.colSpan === 1 ? [
8
+ {
9
+ ...e,
10
+ columnKey: e.columnKey
11
+ }
12
+ ] : []
13
+ ),
14
+ [t]
15
+ ), n = l(
16
+ () => i.map((e) => ({
17
+ key: e.columnKey,
18
+ label: e.columnKey,
19
+ mobileLabel: e.mobileLabel,
20
+ width: e.width,
21
+ minResizeWidth: e.minResizeWidth,
22
+ maxResizeWidth: e.maxResizeWidth,
23
+ draggable: e.draggable,
24
+ resizeable: e.resizeable,
25
+ horizontalAlign: e.horizontalAlign,
26
+ headerClassName: e.headerClassName,
27
+ hideOnMobile: e.hideOnMobile,
28
+ sortable: e.sortable
29
+ })),
30
+ [i]
31
+ ), o = d === "TABLE" && n.filter((e) => e.draggable === !0).length > 1, { draggableColumnKeys: R, handleColumnDragEnd: p, orderedColumns: b } = A({
32
+ columns: n,
33
+ columnOrder: g,
34
+ enabled: o,
35
+ onColumnOrderChange: C
36
+ }), h = d === "TABLE" && b.some((e) => e.resizeable === !0), {
37
+ handleColumnResizeReset: K,
38
+ handleColumnResizeStart: M,
39
+ lastResizableColumnKey: W,
40
+ resettableColumnKeys: f,
41
+ resizedColumns: r
42
+ } = L({
43
+ columns: b,
44
+ enabled: h,
45
+ onColumnResize: y
46
+ }), s = l(() => {
47
+ const e = new Map(i.map((a) => [a.columnKey, a]));
48
+ return r.flatMap((a) => {
49
+ const z = e.get(a.key);
50
+ return z ? [
51
+ {
52
+ ...z,
53
+ width: a.width,
54
+ minResizeWidth: a.minResizeWidth,
55
+ maxResizeWidth: a.maxResizeWidth,
56
+ draggable: a.draggable,
57
+ resizeable: a.resizeable,
58
+ horizontalAlign: a.horizontalAlign,
59
+ headerClassName: a.headerClassName,
60
+ hideOnMobile: a.hideOnMobile,
61
+ sortable: a.sortable
62
+ }
63
+ ] : [];
64
+ });
65
+ }, [i, r]), w = l(
66
+ () => new Map(
67
+ s.map((e) => [
68
+ e.columnKey,
69
+ {
70
+ key: e.columnKey,
71
+ label: e.label,
72
+ mobileLabel: e.mobileLabel,
73
+ icon: e.icon,
74
+ filter: e.filter,
75
+ hideLabel: e.hideLabel,
76
+ width: e.width,
77
+ minResizeWidth: e.minResizeWidth,
78
+ maxResizeWidth: e.maxResizeWidth,
79
+ draggable: e.draggable,
80
+ resizeable: e.resizeable,
81
+ horizontalAlign: e.horizontalAlign,
82
+ className: void 0,
83
+ headerClassName: e.headerClassName,
84
+ hideOnMobile: e.hideOnMobile,
85
+ sortable: e.sortable
86
+ }
87
+ ])
88
+ ),
89
+ [s]
90
+ ), x = l(
91
+ () => new Map(s.map((e, a) => [e.columnKey, a])),
92
+ [s]
93
+ );
94
+ return {
95
+ columnDefinitionsByKey: w,
96
+ columnIndexByKey: x,
97
+ draggableColumnKeys: R,
98
+ draggableColumnsEnabled: o,
99
+ handleColumnDragEnd: p,
100
+ handleColumnResizeReset: K,
101
+ handleColumnResizeStart: M,
102
+ lastResizableColumnKey: W,
103
+ resettableColumnKeys: f,
104
+ renderDataColumns: i,
105
+ resizeColumnsEnabled: h,
106
+ resolvedRenderColumns: s,
107
+ resizedColumns: r
108
+ };
109
+ };
110
+ export {
111
+ B as default
112
+ };
113
+ //# sourceMappingURL=useResolvedRenderColumns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolvedRenderColumns.js","sources":["../../../../src/components/table/runtime/useResolvedRenderColumns.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { RenderHeaderColumn } from '../context/TableRenderContext';\nimport { useDraggableColumns } from '../layout/useDraggableColumns';\nimport { useResizableColumns } from '../layout/useResizableColumns';\nimport type { TableColumnDefinition, TableProps, TableRowData } from '../Table.types';\n\ntype UseResolvedRenderColumnsProps<RowType extends TableRowData> = {\n columnOrder: TableProps<RowType>['columnOrder'];\n onColumnOrderChange: TableProps<RowType>['onColumnOrderChange'];\n onColumnResize: TableProps<RowType>['onColumnResize'];\n renderHeaderColumns: RenderHeaderColumn<RowType>[];\n viewType: TableProps<RowType>['viewType'];\n};\n\nexport type UseResolvedRenderColumnsReturn<RowType extends TableRowData> = {\n columnDefinitionsByKey: Map<string, TableColumnDefinition<RowType>>;\n columnIndexByKey: Map<string, number>;\n draggableColumnKeys?: string[];\n draggableColumnsEnabled: boolean;\n handleColumnDragEnd: ReturnType<typeof useDraggableColumns>['handleColumnDragEnd'];\n handleColumnResizeReset: ReturnType<typeof useResizableColumns<RowType>>['handleColumnResizeReset'];\n handleColumnResizeStart: ReturnType<typeof useResizableColumns<RowType>>['handleColumnResizeStart'];\n lastResizableColumnKey?: string;\n resettableColumnKeys: Set<string>;\n renderDataColumns: RenderHeaderColumn<RowType>[];\n resizeColumnsEnabled: boolean;\n resolvedRenderColumns: RenderHeaderColumn<RowType>[];\n resizedColumns: ReturnType<typeof useResizableColumns<RowType>>['resizedColumns'];\n};\n\n/**\n * Resolves the actual data columns that drive layout and column behavior.\n *\n * Header registration can contain grouped header cells, multi-row headers, and\n * other metadata that is useful for rendering, but drag, resize, sticky layout,\n * and body/footer cell placement ultimately need a flat list of actual data columns.\n *\n * This hook therefore:\n * - narrows registered header cells down to single-column data headers with a stable `columnKey`\n * - applies column reordering\n * - applies resized widths\n * - exposes a normalized column map for body/footer cell lookup\n *\n * `Table` uses this as the canonical column model for the rest of the render pass.\n */\nconst useResolvedRenderColumns = <RowType extends TableRowData>(\n props: UseResolvedRenderColumnsProps<RowType>\n): UseResolvedRenderColumnsReturn<RowType> => {\n const { columnOrder, onColumnOrderChange, onColumnResize, renderHeaderColumns, viewType } = props;\n\n // Only single-column header cells represent actual data columns. Group headers span\n // other columns and are part of the header layout, but not the column model\n // used by body/footer cells or drag/resize behavior.\n const renderDataColumns = useMemo(\n () =>\n renderHeaderColumns.flatMap(column =>\n column.columnKey && column.colSpan === 1\n ? [\n {\n ...column,\n columnKey: column.columnKey,\n },\n ]\n : []\n ),\n [renderHeaderColumns]\n );\n\n const baseRenderColumnDefinitions = useMemo(\n () =>\n renderDataColumns.map(column => ({\n key: column.columnKey,\n label: column.columnKey,\n mobileLabel: column.mobileLabel,\n width: column.width,\n minResizeWidth: column.minResizeWidth,\n maxResizeWidth: column.maxResizeWidth,\n draggable: column.draggable,\n resizeable: column.resizeable,\n horizontalAlign: column.horizontalAlign,\n headerClassName: column.headerClassName,\n hideOnMobile: column.hideOnMobile,\n sortable: column.sortable,\n })),\n [renderDataColumns]\n );\n\n const draggableColumnsEnabled =\n viewType === 'TABLE' && baseRenderColumnDefinitions.filter(column => column.draggable === true).length > 1;\n const { draggableColumnKeys, handleColumnDragEnd, orderedColumns } = useDraggableColumns({\n columns: baseRenderColumnDefinitions,\n columnOrder,\n enabled: draggableColumnsEnabled,\n onColumnOrderChange,\n });\n\n const resizeColumnsEnabled = viewType === 'TABLE' && orderedColumns.some(column => column.resizeable === true);\n const {\n handleColumnResizeReset,\n handleColumnResizeStart,\n lastResizableColumnKey,\n resettableColumnKeys,\n resizedColumns,\n } = useResizableColumns({\n columns: orderedColumns,\n enabled: resizeColumnsEnabled,\n onColumnResize,\n });\n\n // Merge reordered/resized column behavior back into the registered data\n // columns so the rest of the table can render from one normalized shape.\n const resolvedRenderColumns = useMemo(() => {\n const renderColumnsByKey = new Map(renderDataColumns.map(column => [column.columnKey, column] as const));\n\n return resizedColumns.flatMap(column => {\n const renderColumn = renderColumnsByKey.get(column.key);\n\n return renderColumn\n ? [\n {\n ...renderColumn,\n width: column.width,\n minResizeWidth: column.minResizeWidth,\n maxResizeWidth: column.maxResizeWidth,\n draggable: column.draggable,\n resizeable: column.resizeable,\n horizontalAlign: column.horizontalAlign,\n headerClassName: column.headerClassName,\n hideOnMobile: column.hideOnMobile,\n sortable: column.sortable,\n },\n ]\n : [];\n });\n }, [renderDataColumns, resizedColumns]);\n\n // Body and footer cells resolve their column metadata by `columnKey`, so keep\n // an efficient lookup map next to the ordered column array.\n const columnDefinitionsByKey = useMemo(\n () =>\n new Map<string, TableColumnDefinition<RowType>>(\n resolvedRenderColumns.map(column => [\n column.columnKey,\n {\n key: column.columnKey,\n label: column.label,\n mobileLabel: column.mobileLabel,\n icon: column.icon,\n filter: column.filter,\n hideLabel: column.hideLabel,\n width: column.width,\n minResizeWidth: column.minResizeWidth,\n maxResizeWidth: column.maxResizeWidth,\n draggable: column.draggable,\n resizeable: column.resizeable,\n horizontalAlign: column.horizontalAlign,\n className: undefined,\n headerClassName: column.headerClassName,\n hideOnMobile: column.hideOnMobile,\n sortable: column.sortable,\n },\n ])\n ),\n [resolvedRenderColumns]\n );\n const columnIndexByKey = useMemo(\n () => new Map(resolvedRenderColumns.map((column, index) => [column.columnKey, index] as const)),\n [resolvedRenderColumns]\n );\n\n return {\n columnDefinitionsByKey,\n columnIndexByKey,\n draggableColumnKeys,\n draggableColumnsEnabled,\n handleColumnDragEnd,\n handleColumnResizeReset,\n handleColumnResizeStart,\n lastResizableColumnKey,\n resettableColumnKeys,\n renderDataColumns,\n resizeColumnsEnabled,\n resolvedRenderColumns,\n resizedColumns,\n };\n};\n\nexport default useResolvedRenderColumns;\n"],"names":["useResolvedRenderColumns","props","columnOrder","onColumnOrderChange","onColumnResize","renderHeaderColumns","viewType","renderDataColumns","useMemo","column","baseRenderColumnDefinitions","draggableColumnsEnabled","draggableColumnKeys","handleColumnDragEnd","orderedColumns","useDraggableColumns","resizeColumnsEnabled","handleColumnResizeReset","handleColumnResizeStart","lastResizableColumnKey","resettableColumnKeys","resizedColumns","useResizableColumns","resolvedRenderColumns","renderColumnsByKey","renderColumn","columnDefinitionsByKey","columnIndexByKey","index"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { RenderHeaderColumn } from '../context/TableRenderContext';
2
+ import { TableViewHeader } from '../model/tableView.types';
3
+ import { TableRowData, TableSortDirection } from '../Table.types';
4
+ type UseResolvedRenderHeaderProps<RowType extends TableRowData> = {
5
+ renderHeaderColumns: RenderHeaderColumn<RowType>[];
6
+ resolvedRenderColumns: RenderHeaderColumn<RowType>[];
7
+ sortBy?: string | string[];
8
+ sortDirection?: TableSortDirection;
9
+ };
10
+ /**
11
+ * Builds the normalized header layout from registered header cells and the
12
+ * already-resolved data columns.
13
+ *
14
+ * `useResolvedRenderColumns(...)` decides which columns actually exist after
15
+ * reorder/resize behavior. This hook takes that flat column model plus the
16
+ * registered header cells and computes the final header grid:
17
+ * - row count
18
+ * - column start positions
19
+ * - row/column spans
20
+ * - sortable state for the active sort key
21
+ * - `source` metadata for downstream header/cell consumers
22
+ *
23
+ * The result is a stable header view model that `TableHeader` can render
24
+ * without repeating placement logic.
25
+ */
26
+ declare const useResolvedRenderHeader: <RowType extends TableRowData>(props: UseResolvedRenderHeaderProps<RowType>) => TableViewHeader<RowType> | undefined;
27
+ export default useResolvedRenderHeader;