@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
@@ -0,0 +1,21 @@
1
+ import { MutableRefObject } from 'react';
2
+ import { TableHtmlAttributes, TableRowData } from '../../Table.types';
3
+ import { RenderBodyRow, TableRenderContextValue } from '../../context/TableRenderContext';
4
+ import { TableRenderConfigContextValue } from '../../context/TableRenderConfigContext';
5
+ export type TableBodyContentProps = {
6
+ columnCount: number;
7
+ hasDeclaredChildren: boolean;
8
+ htmlAttributes: TableHtmlAttributes;
9
+ isVirtualized: boolean;
10
+ itemsRef: MutableRefObject<HTMLDivElement | null>;
11
+ paddingBottom: number;
12
+ paddingTop: number;
13
+ renderConfigContext: TableRenderConfigContextValue<TableRowData>;
14
+ renderContext: TableRenderContextValue<TableRowData>;
15
+ shouldAnimateBodyRows: boolean;
16
+ virtualRows: Array<{
17
+ row: RenderBodyRow<TableRowData>;
18
+ }>;
19
+ };
20
+ declare const TableBodyContent: (props: TableBodyContentProps) => import("react/jsx-runtime").JSX.Element;
21
+ export default TableBodyContent;
@@ -0,0 +1,52 @@
1
+ import { jsxs as w, Fragment as g, jsx as t } from "react/jsx-runtime";
2
+ import { AnimatePresence as v } from "motion/react";
3
+ import { isValidElement as B, cloneElement as C } from "react";
4
+ import x from "./TableEmptyRow.js";
5
+ const j = (m) => {
6
+ const {
7
+ columnCount: c,
8
+ hasDeclaredChildren: u,
9
+ htmlAttributes: p,
10
+ isVirtualized: d,
11
+ itemsRef: y,
12
+ paddingBottom: i,
13
+ paddingTop: l,
14
+ renderConfigContext: h,
15
+ renderContext: o,
16
+ shouldAnimateBodyRows: f,
17
+ virtualRows: R
18
+ } = m, a = (e) => {
19
+ const n = `${e.kind}-${String(e.rowId)}`, s = o.renderBodyRow?.(e);
20
+ return B(s) ? C(s, { key: n }) : null;
21
+ }, b = (e) => {
22
+ y.current = e;
23
+ }, r = (e) => /* @__PURE__ */ t(
24
+ "div",
25
+ {
26
+ ...p,
27
+ className: "table-body",
28
+ ref: d ? b : void 0,
29
+ role: "rowgroup",
30
+ children: e
31
+ }
32
+ );
33
+ if (d)
34
+ return r(
35
+ /* @__PURE__ */ w(g, { children: [
36
+ l > 0 ? /* @__PURE__ */ t("div", { "aria-hidden": !0, className: "table-body-virtual-spacer", style: { height: l } }) : null,
37
+ R.map(({ row: e }) => a(e)),
38
+ i > 0 ? /* @__PURE__ */ t("div", { "aria-hidden": !0, className: "table-body-virtual-spacer", style: { height: i } }) : null
39
+ ] })
40
+ );
41
+ if (o.bodyRows.length > 0) {
42
+ const e = o.bodyRows.map((n) => a(n));
43
+ return r(
44
+ f ? /* @__PURE__ */ t(v, { initial: !1, children: e }) : e
45
+ );
46
+ }
47
+ return r(u ? null : /* @__PURE__ */ t(x, { columnCount: c, content: h.noRowsState }));
48
+ };
49
+ export {
50
+ j as default
51
+ };
52
+ //# sourceMappingURL=TableBodyContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableBodyContent.js","sources":["../../../../../src/components/table/render/body/TableBodyContent.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport { cloneElement, isValidElement, type MutableRefObject, type ReactElement, type ReactNode } from 'react';\n\nimport type { TableHtmlAttributes, TableRowData } from '../../Table.types';\nimport type { RenderBodyRow, TableRenderContextValue } from '../../context/TableRenderContext';\nimport type { TableRenderConfigContextValue } from '../../context/TableRenderConfigContext';\nimport TableEmptyRow from './TableEmptyRow';\n\nexport type TableBodyContentProps = {\n columnCount: number;\n hasDeclaredChildren: boolean;\n htmlAttributes: TableHtmlAttributes;\n isVirtualized: boolean;\n itemsRef: MutableRefObject<HTMLDivElement | null>;\n paddingBottom: number;\n paddingTop: number;\n renderConfigContext: TableRenderConfigContextValue<TableRowData>;\n renderContext: TableRenderContextValue<TableRowData>;\n shouldAnimateBodyRows: boolean;\n virtualRows: Array<{ row: RenderBodyRow<TableRowData> }>;\n};\n\nconst TableBodyContent = (props: TableBodyContentProps) => {\n const {\n columnCount,\n hasDeclaredChildren,\n htmlAttributes,\n isVirtualized,\n itemsRef,\n paddingBottom,\n paddingTop,\n renderConfigContext,\n renderContext,\n shouldAnimateBodyRows,\n virtualRows,\n } = props;\n\n const renderResolvedBodyRow = (row: RenderBodyRow<TableRowData>) => {\n const rowKey = `${row.kind}-${String(row.rowId)}`;\n const renderedRow = renderContext.renderBodyRow?.(row);\n\n return isValidElement(renderedRow) ? cloneElement(renderedRow as ReactElement, { key: rowKey }) : null;\n };\n\n const handleItemsRef = (element: HTMLDivElement | null) => {\n itemsRef.current = element;\n };\n\n const renderBodyWrapper = (content: ReactNode) => (\n <div\n {...htmlAttributes}\n className='table-body'\n ref={isVirtualized ? handleItemsRef : undefined}\n role='rowgroup'\n >\n {content}\n </div>\n );\n\n if (isVirtualized) {\n return renderBodyWrapper(\n <>\n {paddingTop > 0 ? (\n <div aria-hidden className='table-body-virtual-spacer' style={{ height: paddingTop }} />\n ) : null}\n {virtualRows.map(({ row }) => renderResolvedBodyRow(row))}\n {paddingBottom > 0 ? (\n <div aria-hidden className='table-body-virtual-spacer' style={{ height: paddingBottom }} />\n ) : null}\n </>\n );\n }\n\n if (renderContext.bodyRows.length > 0) {\n const renderedBodyRows = renderContext.bodyRows.map(row => renderResolvedBodyRow(row));\n\n return renderBodyWrapper(\n shouldAnimateBodyRows ? (\n <AnimatePresence initial={false}>{renderedBodyRows}</AnimatePresence>\n ) : (\n renderedBodyRows\n )\n );\n }\n\n if (!hasDeclaredChildren) {\n return renderBodyWrapper(<TableEmptyRow columnCount={columnCount} content={renderConfigContext.noRowsState} />);\n }\n\n return renderBodyWrapper(null);\n};\n\nexport default TableBodyContent;\n"],"names":["TableBodyContent","props","columnCount","hasDeclaredChildren","htmlAttributes","isVirtualized","itemsRef","paddingBottom","paddingTop","renderConfigContext","renderContext","shouldAnimateBodyRows","virtualRows","renderResolvedBodyRow","row","rowKey","renderedRow","isValidElement","cloneElement","handleItemsRef","element","renderBodyWrapper","content","jsx","jsxs","Fragment","renderedBodyRows","AnimatePresence","TableEmptyRow"],"mappings":";;;;AAsBA,MAAMA,IAAmB,CAACC,MAAiC;AACvD,QAAM;AAAA,IACF,aAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACAX,GAEEY,IAAwB,CAACC,MAAqC;AAChE,UAAMC,IAAS,GAAGD,EAAI,IAAI,IAAI,OAAOA,EAAI,KAAK,CAAC,IACzCE,IAAcN,EAAc,gBAAgBI,CAAG;AAErD,WAAOG,EAAeD,CAAW,IAAIE,EAAaF,GAA6B,EAAE,KAAKD,EAAA,CAAQ,IAAI;AAAA,EACtG,GAEMI,IAAiB,CAACC,MAAmC;AACvD,IAAAd,EAAS,UAAUc;AAAA,EACvB,GAEMC,IAAoB,CAACC,MACvB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGnB;AAAA,MACJ,WAAU;AAAA,MACV,KAAKC,IAAgBc,IAAiB;AAAA,MACtC,MAAK;AAAA,MAEJ,UAAAG;AAAA,IAAA;AAAA,EAAA;AAIT,MAAIjB;AACA,WAAOgB;AAAA,MACH,gBAAAG,EAAAC,GAAA,EACK,UAAA;AAAA,QAAAjB,IAAa,IACV,gBAAAe,EAAC,OAAA,EAAI,eAAW,IAAC,WAAU,6BAA4B,OAAO,EAAE,QAAQf,EAAA,EAAW,CAAG,IACtF;AAAA,QACHI,EAAY,IAAI,CAAC,EAAE,KAAAE,QAAUD,EAAsBC,CAAG,CAAC;AAAA,QACvDP,IAAgB,IACb,gBAAAgB,EAAC,OAAA,EAAI,eAAW,IAAC,WAAU,6BAA4B,OAAO,EAAE,QAAQhB,EAAA,GAAiB,IACzF;AAAA,MAAA,EAAA,CACR;AAAA,IAAA;AAIR,MAAIG,EAAc,SAAS,SAAS,GAAG;AACnC,UAAMgB,IAAmBhB,EAAc,SAAS,IAAI,CAAAI,MAAOD,EAAsBC,CAAG,CAAC;AAErF,WAAOO;AAAA,MACHV,IACI,gBAAAY,EAACI,GAAA,EAAgB,SAAS,IAAQ,aAAiB,IAEnDD;AAAA,IAAA;AAAA,EAGZ;AAEA,SAIOL,EAJFlB,IAIoB,OAHI,gBAAAoB,EAACK,GAAA,EAAc,aAAA1B,GAA0B,SAASO,EAAoB,aAAa,CAGnF;AACjC;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- const o = ({ columnCount: l, content: a, dataIndex: t }) => /* @__PURE__ */ e("div", { className: "table-row table-row-empty", "data-index": t, role: "row", children: /* @__PURE__ */ e("div", { className: "table-cell table-empty", role: "cell", "aria-colspan": l, children: /* @__PURE__ */ e("div", { className: "table-cell-content", children: a }) }) });
2
+ const r = ({ columnCount: l, content: a, dataIndex: t }) => /* @__PURE__ */ e("div", { className: "table-row table-row-empty table-row-no-hover", "data-index": t, role: "row", children: /* @__PURE__ */ e("div", { className: "table-cell table-empty", role: "cell", "aria-colspan": l, children: /* @__PURE__ */ e("div", { className: "table-cell-content", children: a }) }) });
3
3
  export {
4
- o as default
4
+ r as default
5
5
  };
6
6
  //# sourceMappingURL=TableEmptyRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableEmptyRow.js","sources":["../../../../../src/components/table/render/body/TableEmptyRow.tsx"],"sourcesContent":["type TableEmptyRowProps = {\n columnCount: number;\n content: React.ReactNode;\n dataIndex?: number;\n};\n\nconst TableEmptyRow = ({ columnCount, content, dataIndex }: TableEmptyRowProps) => (\n <div className='table-row table-row-empty' data-index={dataIndex} role='row'>\n <div className='table-cell table-empty' role='cell' aria-colspan={columnCount}>\n <div className='table-cell-content'>{content}</div>\n </div>\n </div>\n);\n\nexport default TableEmptyRow;\n"],"names":["TableEmptyRow","columnCount","content","dataIndex","jsx"],"mappings":";AAMA,MAAMA,IAAgB,CAAC,EAAE,aAAAC,GAAa,SAAAC,GAAS,WAAAC,EAAA,MAC3C,gBAAAC,EAAC,OAAA,EAAI,WAAU,6BAA4B,cAAYD,GAAW,MAAK,OACnE,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,0BAAyB,MAAK,QAAO,gBAAcH,GAC9D,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAF,EAAA,CAAQ,GACjD,EAAA,CACJ;"}
1
+ {"version":3,"file":"TableEmptyRow.js","sources":["../../../../../src/components/table/render/body/TableEmptyRow.tsx"],"sourcesContent":["type TableEmptyRowProps = {\n columnCount: number;\n content: React.ReactNode;\n dataIndex?: number;\n};\n\nconst TableEmptyRow = ({ columnCount, content, dataIndex }: TableEmptyRowProps) => (\n <div className='table-row table-row-empty table-row-no-hover' data-index={dataIndex} role='row'>\n <div className='table-cell table-empty' role='cell' aria-colspan={columnCount}>\n <div className='table-cell-content'>{content}</div>\n </div>\n </div>\n);\n\nexport default TableEmptyRow;\n"],"names":["TableEmptyRow","columnCount","content","dataIndex","jsx"],"mappings":";AAMA,MAAMA,IAAgB,CAAC,EAAE,aAAAC,GAAa,SAAAC,GAAS,WAAAC,EAAA,MAC3C,gBAAAC,EAAC,OAAA,EAAI,WAAU,gDAA+C,cAAYD,GAAW,MAAK,OACtF,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,0BAAyB,MAAK,QAAO,gBAAcH,GAC9D,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAF,EAAA,CAAQ,GACjD,EAAA,CACJ;"}
@@ -4,6 +4,10 @@ export type TableBatchDropdownProps = {
4
4
  * Dropdown items rendered for batch actions in the selection header.
5
5
  */
6
6
  items: NonNullable<ButtonDropdownProps['items']>;
7
+ /**
8
+ * Optional class names for the dropdown menu.
9
+ */
10
+ dropdownClassName?: ButtonDropdownProps['dropdownClassName'];
7
11
  };
8
- declare const TableBatchDropdown: ({ items }: TableBatchDropdownProps) => import("react/jsx-runtime").JSX.Element;
12
+ declare const TableBatchDropdown: ({ items, dropdownClassName, ...remainingProps }: TableBatchDropdownProps) => import("react/jsx-runtime").JSX.Element;
9
13
  export default TableBatchDropdown;
@@ -1,28 +1,30 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { useState as a, useEffect as l } from "react";
3
- import i from "../../../dropdown/ButtonDropdown.js";
4
- import { TABLE_HORIZONTAL_SCROLL_EVENT as n } from "../../layout/useHorizontalSectionSync.js";
5
- const f = ({ items: r }) => {
6
- const [s, e] = a(!1);
7
- return l(() => {
8
- const o = () => e(!1);
9
- return window.addEventListener(n, o), () => window.removeEventListener(n, o);
10
- }, []), /* @__PURE__ */ t(
11
- i,
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { useState as i, useEffect as m } from "react";
3
+ import p from "../../../dropdown/ButtonDropdown.js";
4
+ import { TABLE_HORIZONTAL_SCROLL_EVENT as r } from "../../layout/useHorizontalSectionSync.js";
5
+ const h = ({ items: a, dropdownClassName: o, ...s }) => {
6
+ const [l, e] = i(!1);
7
+ return m(() => {
8
+ const t = () => e(!1);
9
+ return window.addEventListener(r, t), () => window.removeEventListener(r, t);
10
+ }, []), /* @__PURE__ */ n(
11
+ p,
12
12
  {
13
- title: /* @__PURE__ */ t("span", { className: "rioglyph rioglyph-checkboxes" }),
13
+ ...s,
14
+ title: /* @__PURE__ */ n("span", { className: "rioglyph rioglyph-checkboxes" }),
14
15
  variant: "outline",
15
16
  bsSize: "sm",
16
17
  toggleClassName: "table-batch-dropdown-button no-hover-scale",
18
+ dropdownClassName: o ? `text-normal ${o}` : "text-normal",
17
19
  iconOnly: !0,
18
- items: r,
19
- open: s,
20
+ items: a,
21
+ open: l,
20
22
  onOpen: () => e(!0),
21
23
  onClose: () => e(!1)
22
24
  }
23
25
  );
24
26
  };
25
27
  export {
26
- f as default
28
+ h as default
27
29
  };
28
30
  //# sourceMappingURL=TableBatchDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableBatchDropdown.js","sources":["../../../../../src/components/table/render/header/TableBatchDropdown.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport ButtonDropdown, { type ButtonDropdownProps } from '../../../dropdown/ButtonDropdown';\nimport { TABLE_HORIZONTAL_SCROLL_EVENT } from '../../layout/useHorizontalSectionSync';\n\nexport type TableBatchDropdownProps = {\n /**\n * Dropdown items rendered for batch actions in the selection header.\n */\n items: NonNullable<ButtonDropdownProps['items']>;\n};\n\nconst TableBatchDropdown = ({ items }: TableBatchDropdownProps) => {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const handleHorizontalScroll = () => setOpen(false);\n\n window.addEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n\n return () => window.removeEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n }, []);\n\n return (\n <ButtonDropdown\n title={<span className='rioglyph rioglyph-checkboxes' />}\n variant='outline'\n bsSize='sm'\n toggleClassName='table-batch-dropdown-button no-hover-scale'\n iconOnly\n items={items}\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n />\n );\n};\n\nexport default TableBatchDropdown;\n"],"names":["TableBatchDropdown","items","open","setOpen","useState","useEffect","handleHorizontalScroll","TABLE_HORIZONTAL_SCROLL_EVENT","jsx","ButtonDropdown"],"mappings":";;;;AAYA,MAAMA,IAAqB,CAAC,EAAE,OAAAC,QAAqC;AAC/D,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK;AAEtC,SAAAC,EAAU,MAAM;AACZ,UAAMC,IAAyB,MAAMH,EAAQ,EAAK;AAElD,kBAAO,iBAAiBI,GAA+BD,CAAsB,GAEtE,MAAM,OAAO,oBAAoBC,GAA+BD,CAAsB;AAAA,EACjG,GAAG,CAAA,CAAE,GAGD,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAO,gBAAAD,EAAC,QAAA,EAAK,WAAU,+BAAA,CAA+B;AAAA,MACtD,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,iBAAgB;AAAA,MAChB,UAAQ;AAAA,MACR,OAAAP;AAAA,MACA,MAAAC;AAAA,MACA,QAAQ,MAAMC,EAAQ,EAAI;AAAA,MAC1B,SAAS,MAAMA,EAAQ,EAAK;AAAA,IAAA;AAAA,EAAA;AAGxC;"}
1
+ {"version":3,"file":"TableBatchDropdown.js","sources":["../../../../../src/components/table/render/header/TableBatchDropdown.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport ButtonDropdown, { type ButtonDropdownProps } from '../../../dropdown/ButtonDropdown';\nimport { TABLE_HORIZONTAL_SCROLL_EVENT } from '../../layout/useHorizontalSectionSync';\n\nexport type TableBatchDropdownProps = {\n /**\n * Dropdown items rendered for batch actions in the selection header.\n */\n items: NonNullable<ButtonDropdownProps['items']>;\n\n /**\n * Optional class names for the dropdown menu.\n */\n dropdownClassName?: ButtonDropdownProps['dropdownClassName'];\n};\n\nconst TableBatchDropdown = ({ items, dropdownClassName, ...remainingProps }: TableBatchDropdownProps) => {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const handleHorizontalScroll = () => setOpen(false);\n\n window.addEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n\n return () => window.removeEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n }, []);\n\n return (\n <ButtonDropdown\n {...remainingProps}\n title={<span className='rioglyph rioglyph-checkboxes' />}\n variant='outline'\n bsSize='sm'\n toggleClassName='table-batch-dropdown-button no-hover-scale'\n dropdownClassName={dropdownClassName ? `text-normal ${dropdownClassName}` : 'text-normal'}\n iconOnly\n items={items}\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n />\n );\n};\n\nexport default TableBatchDropdown;\n"],"names":["TableBatchDropdown","items","dropdownClassName","remainingProps","open","setOpen","useState","useEffect","handleHorizontalScroll","TABLE_HORIZONTAL_SCROLL_EVENT","jsx","ButtonDropdown"],"mappings":";;;;AAiBA,MAAMA,IAAqB,CAAC,EAAE,OAAAC,GAAO,mBAAAC,GAAmB,GAAGC,QAA8C;AACrG,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK;AAEtC,SAAAC,EAAU,MAAM;AACZ,UAAMC,IAAyB,MAAMH,EAAQ,EAAK;AAElD,kBAAO,iBAAiBI,GAA+BD,CAAsB,GAEtE,MAAM,OAAO,oBAAoBC,GAA+BD,CAAsB;AAAA,EACjG,GAAG,CAAA,CAAE,GAGD,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACI,GAAGR;AAAA,MACJ,OAAO,gBAAAO,EAAC,QAAA,EAAK,WAAU,+BAAA,CAA+B;AAAA,MACtD,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,iBAAgB;AAAA,MAChB,mBAAmBR,IAAoB,eAAeA,CAAiB,KAAK;AAAA,MAC5E,UAAQ;AAAA,MACR,OAAAD;AAAA,MACA,MAAAG;AAAA,MACA,QAAQ,MAAMC,EAAQ,EAAI;AAAA,MAC1B,SAAS,MAAMA,EAAQ,EAAK;AAAA,IAAA;AAAA,EAAA;AAGxC;"}
@@ -1,6 +1,6 @@
1
- import { ReactNode } from 'react';
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
2
  import { ButtonDropdownProps } from '../../../dropdown/ButtonDropdown';
3
- export type TableColumnFilterProps = {
3
+ export type TableColumnFilterProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'className' | 'onClick' | 'role'> & {
4
4
  /**
5
5
  * Custom dropdown content rendered below the filter trigger.
6
6
  */
@@ -1,9 +1,9 @@
1
- import { jsx as s, jsxs as x } from "react/jsx-runtime";
2
- import { useState as w, useEffect as y } from "react";
3
- import E from "../../../../utils/classNames.js";
4
- import L from "../../../dropdown/ButtonDropdown.js";
5
- import { TABLE_HORIZONTAL_SCROLL_EVENT as d } from "../../layout/useHorizontalSectionSync.js";
6
- const _ = (p) => {
1
+ import { jsx as s, jsxs as w } from "react/jsx-runtime";
2
+ import { useState as y, useEffect as E } from "react";
3
+ import L from "../../../../utils/classNames.js";
4
+ import S from "../../../dropdown/ButtonDropdown.js";
5
+ import { TABLE_HORIZONTAL_SCROLL_EVENT as p } from "../../layout/useHorizontalSectionSync.js";
6
+ const j = (d) => {
7
7
  const {
8
8
  activeCount: a = 0,
9
9
  active: c = !1,
@@ -17,18 +17,20 @@ const _ = (p) => {
17
17
  popperConfig: v,
18
18
  pullRight: C = !0,
19
19
  toggleClassName: N,
20
- usePortal: O = !0
21
- } = p, [b, n] = w(!1), e = i !== void 0, r = e ? i : b, l = a > 0;
22
- return y(() => {
20
+ usePortal: O = !0,
21
+ ...b
22
+ } = d, [x, n] = y(!1), e = i !== void 0, r = e ? i : x, l = a > 0;
23
+ return E(() => {
23
24
  const t = () => {
24
25
  r && (e || n(!1), o?.());
25
26
  };
26
- return window.addEventListener(d, t), () => window.removeEventListener(d, t);
27
+ return window.addEventListener(p, t), () => window.removeEventListener(p, t);
27
28
  }, [e, r, o]), /* @__PURE__ */ s(
28
- L,
29
+ S,
29
30
  {
31
+ ...b,
30
32
  id: g,
31
- title: /* @__PURE__ */ x("span", { className: "display-flex gap-0 align-items-center text-color-dark", children: [
33
+ title: /* @__PURE__ */ w("span", { className: "display-flex gap-0 align-items-center text-color-dark", children: [
32
34
  /* @__PURE__ */ s(
33
35
  "span",
34
36
  {
@@ -54,7 +56,7 @@ const _ = (p) => {
54
56
  usePortal: O,
55
57
  className: f,
56
58
  popperConfig: v,
57
- toggleClassName: E(
59
+ toggleClassName: L(
58
60
  "table-head-filter-button no-hover-scale border-color-light bg-decent hover-bg-lighter rounded-small",
59
61
  l && "padding-left-2",
60
62
  N
@@ -65,6 +67,6 @@ const _ = (p) => {
65
67
  );
66
68
  };
67
69
  export {
68
- _ as default
70
+ j as default
69
71
  };
70
72
  //# sourceMappingURL=TableColumnFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnFilter.js","sources":["../../../../../src/components/table/render/header/TableColumnFilter.tsx"],"sourcesContent":["import { useEffect, useState, type ReactNode } from 'react';\n\nimport classNames from '../../../../utils/classNames';\nimport ButtonDropdown, { type ButtonDropdownProps } from '../../../dropdown/ButtonDropdown';\nimport { TABLE_HORIZONTAL_SCROLL_EVENT } from '../../layout/useHorizontalSectionSync';\n\nexport type TableColumnFilterProps = {\n /**\n * Custom dropdown content rendered below the filter trigger.\n */\n children?: ReactNode;\n\n /**\n * Optional classes for the outer dropdown component.\n */\n className?: ButtonDropdownProps['className'];\n\n /**\n * Optional classes for the dropdown menu.\n */\n dropdownClassName?: ButtonDropdownProps['dropdownClassName'];\n\n /**\n * Optional DOM id for the dropdown trigger.\n */\n id?: ButtonDropdownProps['id'];\n\n /**\n * Called when the dropdown closes.\n */\n onClose?: ButtonDropdownProps['onClose'];\n\n /**\n * Called when the dropdown opens.\n */\n onOpen?: ButtonDropdownProps['onOpen'];\n\n /**\n * Controlled open state for the dropdown.\n */\n open?: ButtonDropdownProps['open'];\n\n /**\n * Optional Popper configuration passed to the underlying dropdown.\n */\n popperConfig?: ButtonDropdownProps['popperConfig'];\n\n /**\n * Aligns the dropdown menu to the right side of the trigger.\n *\n * @default true\n */\n pullRight?: ButtonDropdownProps['pullRight'];\n\n /**\n * Optional classes for the dropdown toggle button.\n */\n toggleClassName?: ButtonDropdownProps['toggleClassName'];\n\n /**\n * Renders the dropdown through a portal.\n *\n * @default true\n */\n usePortal?: ButtonDropdownProps['usePortal'];\n\n /**\n * Renders the active filter icon variant.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Optional number of currently active filters shown next to the filter icon.\n *\n * @default 0\n */\n activeCount?: number;\n};\n\nconst TableColumnFilter = (props: TableColumnFilterProps) => {\n const {\n activeCount = 0,\n active = false,\n children,\n className,\n dropdownClassName,\n id,\n onClose,\n onOpen,\n open,\n popperConfig,\n pullRight = true,\n toggleClassName,\n usePortal = true,\n } = props;\n\n const [internalOpen, setInternalOpen] = useState(false);\n\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : internalOpen;\n const hasActiveFilters = activeCount > 0;\n\n useEffect(() => {\n const handleHorizontalScroll = () => {\n if (!isOpen) {\n return;\n }\n\n if (!isControlled) {\n setInternalOpen(false);\n }\n\n onClose?.();\n };\n\n window.addEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n\n return () => window.removeEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n }, [isControlled, isOpen, onClose]);\n\n return (\n <ButtonDropdown\n id={id}\n title={\n <span className='display-flex gap-0 align-items-center text-color-dark'>\n <span\n className={`text-size-16 rioglyph ${active ? 'rioglyph-filter-active' : 'rioglyph-filter'}`}\n aria-hidden='true'\n />\n {hasActiveFilters && <span className='text-medium'>{activeCount}</span>}\n </span>\n }\n bsStyle='default'\n variant='outline'\n bsSize='xs'\n noCaret\n iconOnly={!hasActiveFilters}\n open={isOpen}\n onOpen={event => {\n if (!isControlled) {\n setInternalOpen(true);\n }\n\n onOpen?.(event);\n }}\n onClose={() => {\n if (!isControlled) {\n setInternalOpen(false);\n }\n\n onClose?.();\n }}\n pullRight={pullRight}\n usePortal={usePortal}\n className={className}\n popperConfig={popperConfig}\n toggleClassName={classNames(\n 'table-head-filter-button no-hover-scale border-color-light bg-decent hover-bg-lighter rounded-small',\n hasActiveFilters && 'padding-left-2',\n toggleClassName\n )}\n dropdownClassName={dropdownClassName}\n customDropdown={children}\n />\n );\n};\n\nexport default TableColumnFilter;\n"],"names":["TableColumnFilter","props","activeCount","active","children","className","dropdownClassName","id","onClose","onOpen","open","popperConfig","pullRight","toggleClassName","usePortal","internalOpen","setInternalOpen","useState","isControlled","isOpen","hasActiveFilters","useEffect","handleHorizontalScroll","TABLE_HORIZONTAL_SCROLL_EVENT","jsx","ButtonDropdown","jsxs","event","classNames"],"mappings":";;;;;AAiFA,MAAMA,IAAoB,CAACC,MAAkC;AACzD,QAAM;AAAA,IACF,aAAAC,IAAc;AAAA,IACd,QAAAC,IAAS;AAAA,IACT,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,IAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,iBAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,EAAA,IACZb,GAEE,CAACc,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAeR,MAAS,QACxBS,IAASD,IAAeR,IAAOK,GAC/BK,IAAmBlB,IAAc;AAEvC,SAAAmB,EAAU,MAAM;AACZ,UAAMC,IAAyB,MAAM;AACjC,MAAKH,MAIAD,KACDF,EAAgB,EAAK,GAGzBR,IAAA;AAAA,IACJ;AAEA,kBAAO,iBAAiBe,GAA+BD,CAAsB,GAEtE,MAAM,OAAO,oBAAoBC,GAA+BD,CAAsB;AAAA,EACjG,GAAG,CAACJ,GAAcC,GAAQX,CAAO,CAAC,GAG9B,gBAAAgB;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,IAAAlB;AAAA,MACA,OACI,gBAAAmB,EAAC,QAAA,EAAK,WAAU,yDACZ,UAAA;AAAA,QAAA,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAW,yBAAyBrB,IAAS,2BAA2B,iBAAiB;AAAA,YACzF,eAAY;AAAA,UAAA;AAAA,QAAA;AAAA,QAEfiB,KAAoB,gBAAAI,EAAC,QAAA,EAAK,WAAU,eAAe,UAAAtB,EAAA,CAAY;AAAA,MAAA,GACpE;AAAA,MAEJ,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,SAAO;AAAA,MACP,UAAU,CAACkB;AAAA,MACX,MAAMD;AAAA,MACN,QAAQ,CAAAQ,MAAS;AACb,QAAKT,KACDF,EAAgB,EAAI,GAGxBP,IAASkB,CAAK;AAAA,MAClB;AAAA,MACA,SAAS,MAAM;AACX,QAAKT,KACDF,EAAgB,EAAK,GAGzBR,IAAA;AAAA,MACJ;AAAA,MACA,WAAAI;AAAA,MACA,WAAAE;AAAA,MACA,WAAAT;AAAA,MACA,cAAAM;AAAA,MACA,iBAAiBiB;AAAA,QACb;AAAA,QACAR,KAAoB;AAAA,QACpBP;AAAA,MAAA;AAAA,MAEJ,mBAAAP;AAAA,MACA,gBAAgBF;AAAA,IAAA;AAAA,EAAA;AAG5B;"}
1
+ {"version":3,"file":"TableColumnFilter.js","sources":["../../../../../src/components/table/render/header/TableColumnFilter.tsx"],"sourcesContent":["import { useEffect, useState, type HTMLAttributes, type ReactNode } from 'react';\n\nimport classNames from '../../../../utils/classNames';\nimport ButtonDropdown, { type ButtonDropdownProps } from '../../../dropdown/ButtonDropdown';\nimport { TABLE_HORIZONTAL_SCROLL_EVENT } from '../../layout/useHorizontalSectionSync';\n\nexport type TableColumnFilterProps = Omit<\n HTMLAttributes<HTMLDivElement>,\n 'children' | 'className' | 'onClick' | 'role'\n> & {\n /**\n * Custom dropdown content rendered below the filter trigger.\n */\n children?: ReactNode;\n\n /**\n * Optional classes for the outer dropdown component.\n */\n className?: ButtonDropdownProps['className'];\n\n /**\n * Optional classes for the dropdown menu.\n */\n dropdownClassName?: ButtonDropdownProps['dropdownClassName'];\n\n /**\n * Optional DOM id for the dropdown trigger.\n */\n id?: ButtonDropdownProps['id'];\n\n /**\n * Called when the dropdown closes.\n */\n onClose?: ButtonDropdownProps['onClose'];\n\n /**\n * Called when the dropdown opens.\n */\n onOpen?: ButtonDropdownProps['onOpen'];\n\n /**\n * Controlled open state for the dropdown.\n */\n open?: ButtonDropdownProps['open'];\n\n /**\n * Optional Popper configuration passed to the underlying dropdown.\n */\n popperConfig?: ButtonDropdownProps['popperConfig'];\n\n /**\n * Aligns the dropdown menu to the right side of the trigger.\n *\n * @default true\n */\n pullRight?: ButtonDropdownProps['pullRight'];\n\n /**\n * Optional classes for the dropdown toggle button.\n */\n toggleClassName?: ButtonDropdownProps['toggleClassName'];\n\n /**\n * Renders the dropdown through a portal.\n *\n * @default true\n */\n usePortal?: ButtonDropdownProps['usePortal'];\n\n /**\n * Renders the active filter icon variant.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Optional number of currently active filters shown next to the filter icon.\n *\n * @default 0\n */\n activeCount?: number;\n};\n\nconst TableColumnFilter = (props: TableColumnFilterProps) => {\n const {\n activeCount = 0,\n active = false,\n children,\n className,\n dropdownClassName,\n id,\n onClose,\n onOpen,\n open,\n popperConfig,\n pullRight = true,\n toggleClassName,\n usePortal = true,\n ...remainingProps\n } = props;\n\n const [internalOpen, setInternalOpen] = useState(false);\n\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : internalOpen;\n const hasActiveFilters = activeCount > 0;\n\n useEffect(() => {\n const handleHorizontalScroll = () => {\n if (!isOpen) {\n return;\n }\n\n if (!isControlled) {\n setInternalOpen(false);\n }\n\n onClose?.();\n };\n\n window.addEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n\n return () => window.removeEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n }, [isControlled, isOpen, onClose]);\n\n return (\n <ButtonDropdown\n {...remainingProps}\n id={id}\n title={\n <span className='display-flex gap-0 align-items-center text-color-dark'>\n <span\n className={`text-size-16 rioglyph ${active ? 'rioglyph-filter-active' : 'rioglyph-filter'}`}\n aria-hidden='true'\n />\n {hasActiveFilters && <span className='text-medium'>{activeCount}</span>}\n </span>\n }\n bsStyle='default'\n variant='outline'\n bsSize='xs'\n noCaret\n iconOnly={!hasActiveFilters}\n open={isOpen}\n onOpen={event => {\n if (!isControlled) {\n setInternalOpen(true);\n }\n\n onOpen?.(event);\n }}\n onClose={() => {\n if (!isControlled) {\n setInternalOpen(false);\n }\n\n onClose?.();\n }}\n pullRight={pullRight}\n usePortal={usePortal}\n className={className}\n popperConfig={popperConfig}\n toggleClassName={classNames(\n 'table-head-filter-button no-hover-scale border-color-light bg-decent hover-bg-lighter rounded-small',\n hasActiveFilters && 'padding-left-2',\n toggleClassName\n )}\n dropdownClassName={dropdownClassName}\n customDropdown={children}\n />\n );\n};\n\nexport default TableColumnFilter;\n"],"names":["TableColumnFilter","props","activeCount","active","children","className","dropdownClassName","id","onClose","onOpen","open","popperConfig","pullRight","toggleClassName","usePortal","remainingProps","internalOpen","setInternalOpen","useState","isControlled","isOpen","hasActiveFilters","useEffect","handleHorizontalScroll","TABLE_HORIZONTAL_SCROLL_EVENT","jsx","ButtonDropdown","jsxs","event","classNames"],"mappings":";;;;;AAoFA,MAAMA,IAAoB,CAACC,MAAkC;AACzD,QAAM;AAAA,IACF,aAAAC,IAAc;AAAA,IACd,QAAAC,IAAS;AAAA,IACT,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,IAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,iBAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,GAAGC;AAAA,EAAA,IACHd,GAEE,CAACe,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAeT,MAAS,QACxBU,IAASD,IAAeT,IAAOM,GAC/BK,IAAmBnB,IAAc;AAEvC,SAAAoB,EAAU,MAAM;AACZ,UAAMC,IAAyB,MAAM;AACjC,MAAKH,MAIAD,KACDF,EAAgB,EAAK,GAGzBT,IAAA;AAAA,IACJ;AAEA,kBAAO,iBAAiBgB,GAA+BD,CAAsB,GAEtE,MAAM,OAAO,oBAAoBC,GAA+BD,CAAsB;AAAA,EACjG,GAAG,CAACJ,GAAcC,GAAQZ,CAAO,CAAC,GAG9B,gBAAAiB;AAAA,IAACC;AAAA,IAAA;AAAA,MACI,GAAGX;AAAA,MACJ,IAAAR;AAAA,MACA,OACI,gBAAAoB,EAAC,QAAA,EAAK,WAAU,yDACZ,UAAA;AAAA,QAAA,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAW,yBAAyBtB,IAAS,2BAA2B,iBAAiB;AAAA,YACzF,eAAY;AAAA,UAAA;AAAA,QAAA;AAAA,QAEfkB,KAAoB,gBAAAI,EAAC,QAAA,EAAK,WAAU,eAAe,UAAAvB,EAAA,CAAY;AAAA,MAAA,GACpE;AAAA,MAEJ,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,SAAO;AAAA,MACP,UAAU,CAACmB;AAAA,MACX,MAAMD;AAAA,MACN,QAAQ,CAAAQ,MAAS;AACb,QAAKT,KACDF,EAAgB,EAAI,GAGxBR,IAASmB,CAAK;AAAA,MAClB;AAAA,MACA,SAAS,MAAM;AACX,QAAKT,KACDF,EAAgB,EAAK,GAGzBT,IAAA;AAAA,MACJ;AAAA,MACA,WAAAI;AAAA,MACA,WAAAE;AAAA,MACA,WAAAT;AAAA,MACA,cAAAM;AAAA,MACA,iBAAiBkB;AAAA,QACb;AAAA,QACAR,KAAoB;AAAA,QACpBR;AAAA,MAAA;AAAA,MAEJ,mBAAAP;AAAA,MACA,gBAAgBF;AAAA,IAAA;AAAA,EAAA;AAG5B;"}
@@ -1,3 +1,4 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { SharedHeaderCellProps } from './TableHeader.types';
2
- declare const TableDraggableHeaderCell: <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const TableDraggableHeaderCell: (props: SharedHeaderCellProps<TableRowData>) => import("react/jsx-runtime").JSX.Element;
3
4
  export default TableDraggableHeaderCell;
@@ -1,54 +1,66 @@
1
- import { jsxs as S, jsx as i } from "react/jsx-runtime";
2
- import { useSortable as x } from "@dnd-kit/sortable";
3
- import C from "./TableHeaderCellContent.js";
4
- import A from "./TableHeaderCellResizeHandle.js";
5
- import { resolveAriaSort as h } from "./resolveAriaSort.js";
6
- import { resolveHeaderCellClassName as y } from "./resolveHeaderCellClassName.js";
7
- import { resolveHeaderCellStyle as H } from "./resolveHeaderCellStyle.js";
8
- import { resolveAriaSpan as s, resolveAriaColIndex as R } from "../../shared/resolveTableAria.js";
9
- const E = (r) => {
10
- const { column: e, header: n, hideWhileDragging: a, isResizable: m, showSelectionColumn: t } = r, l = e.columnKey ?? String(e.key), { attributes: d, listeners: c, setActivatorNodeRef: f, setNodeRef: p, transform: o, transition: g, isDragging: u } = x({
11
- id: l
12
- }), { role: w, ...v } = d, b = {
13
- ...v,
14
- ...c
1
+ import { jsxs as R, jsx as m } from "react/jsx-runtime";
2
+ import { useSortable as A } from "@dnd-kit/sortable";
3
+ import k from "./TableHeaderCellContent.js";
4
+ import H from "./TableHeaderCellResizeHandle.js";
5
+ import { resolveAriaSort as w } from "./resolveAriaSort.js";
6
+ import { resolveHeaderCellClassName as D } from "./resolveHeaderCellClassName.js";
7
+ import { resolveHeaderCellStyle as N } from "./resolveHeaderCellStyle.js";
8
+ import { resolveAriaSpan as c, resolveAriaColIndex as L } from "../../shared/resolveTableAria.js";
9
+ const _ = (t) => {
10
+ const {
11
+ column: e,
12
+ header: r,
13
+ hideWhileDragging: a,
14
+ htmlAttributes: u,
15
+ isResizable: d,
16
+ showSelectionColumn: l,
17
+ stickyLeftColumnCount: C,
18
+ stickyRightColumnCount: f
19
+ } = t, i = C ?? 0, n = f ?? 0, s = e.columnKey ?? String(e.key), { attributes: g, listeners: p, setActivatorNodeRef: S, setNodeRef: v, transform: o, transition: b, isDragging: y } = A({
20
+ id: s
21
+ }), { role: T, ...h } = g, x = {
22
+ ...h,
23
+ ...p
15
24
  };
16
- return /* @__PURE__ */ S(
25
+ return /* @__PURE__ */ R(
17
26
  "div",
18
27
  {
19
- ref: p,
20
- className: y(e, n, {
28
+ ref: v,
29
+ ...u,
30
+ className: D(e, r, {
21
31
  isDraggable: !0,
22
- isDragging: u,
23
- isResizable: m
32
+ isDragging: y,
33
+ isResizable: d,
34
+ isStickyLeftColumn: i > 0 && e.columnStart <= i,
35
+ isStickyRightColumn: n > 0 && e.columnStart + e.colSpan - 1 > r.totalColumnCount - n
24
36
  }),
25
- "data-column": l,
37
+ "data-column": s,
26
38
  role: "columnheader",
27
- "aria-colindex": R(e.columnStart, t),
28
- "aria-colspan": s(e.colSpan),
39
+ "aria-colindex": L(e.columnStart, l),
40
+ "aria-colspan": c(e.colSpan),
29
41
  "aria-rowindex": e.rowStart,
30
- "aria-rowspan": s(e.rowSpan),
31
- "aria-sort": h(e),
32
- style: H(e, t, {
42
+ "aria-rowspan": c(e.rowSpan),
43
+ "aria-sort": w(e),
44
+ style: N(e, l, {
33
45
  pointerEvents: a ? "none" : void 0,
34
46
  transform: a ? void 0 : o ? `translate3d(${o.x}px, ${o.y}px, 0)` : void 0,
35
- transition: g
47
+ transition: b
36
48
  }),
37
49
  children: [
38
- /* @__PURE__ */ i(
39
- C,
50
+ /* @__PURE__ */ m(
51
+ k,
40
52
  {
41
- ...r,
42
- dragActivatorProps: b,
43
- dragActivatorRef: f
53
+ ...t,
54
+ dragActivatorProps: x,
55
+ dragActivatorRef: S
44
56
  }
45
57
  ),
46
- /* @__PURE__ */ i(A, { ...r })
58
+ /* @__PURE__ */ m(H, { ...t })
47
59
  ]
48
60
  }
49
61
  );
50
62
  };
51
63
  export {
52
- E as default
64
+ _ as default
53
65
  };
54
66
  //# sourceMappingURL=TableDraggableHeaderCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableDraggableHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableDraggableHeaderCell.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\n\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 TableDraggableHeaderCell = <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => {\n const { column, header, hideWhileDragging, isResizable, showSelectionColumn } = props;\n\n const columnKey = column.columnKey ?? String(column.key);\n\n const { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging } = useSortable({\n id: columnKey,\n });\n\n const { role: _sortableRole, ...sortableAttributes } = attributes;\n\n const dragActivatorProps = {\n ...sortableAttributes,\n ...listeners,\n };\n\n return (\n <div\n ref={setNodeRef}\n className={resolveHeaderCellClassName(column, header, {\n isDraggable: true,\n isDragging,\n isResizable,\n })}\n data-column={columnKey}\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 pointerEvents: hideWhileDragging ? 'none' : undefined,\n transform: hideWhileDragging\n ? undefined\n : transform\n ? `translate3d(${transform.x}px, ${transform.y}px, 0)`\n : undefined,\n transition,\n })}\n >\n <TableHeaderCellContent\n {...props}\n dragActivatorProps={dragActivatorProps}\n dragActivatorRef={setActivatorNodeRef}\n />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableDraggableHeaderCell;\n"],"names":["TableDraggableHeaderCell","props","column","header","hideWhileDragging","isResizable","showSelectionColumn","columnKey","attributes","listeners","setActivatorNodeRef","setNodeRef","transform","transition","isDragging","useSortable","_sortableRole","sortableAttributes","dragActivatorProps","jsxs","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAUA,MAAMA,IAA2B,CAA0CC,MAA0C;AACjH,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,mBAAAC,GAAmB,aAAAC,GAAa,qBAAAC,MAAwBL,GAE1EM,IAAYL,EAAO,aAAa,OAAOA,EAAO,GAAG,GAEjD,EAAE,YAAAM,GAAY,WAAAC,GAAW,qBAAAC,GAAqB,YAAAC,GAAY,WAAAC,GAAW,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAY;AAAA,IAC9G,IAAIR;AAAA,EAAA,CACP,GAEK,EAAE,MAAMS,GAAe,GAAGC,MAAuBT,GAEjDU,IAAqB;AAAA,IACvB,GAAGD;AAAA,IACH,GAAGR;AAAA,EAAA;AAGP,SACI,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKR;AAAA,MACL,WAAWS,EAA2BlB,GAAQC,GAAQ;AAAA,QAClD,aAAa;AAAA,QACb,YAAAW;AAAA,QACA,aAAAT;AAAA,MAAA,CACH;AAAA,MACD,eAAaE;AAAA,MACb,MAAK;AAAA,MACL,iBAAec,EAAoBnB,EAAO,aAAaI,CAAmB;AAAA,MAC1E,gBAAcgB,EAAgBpB,EAAO,OAAO;AAAA,MAC5C,iBAAeA,EAAO;AAAA,MACtB,gBAAcoB,EAAgBpB,EAAO,OAAO;AAAA,MAC5C,aAAWqB,EAAgBrB,CAAM;AAAA,MACjC,OAAOsB,EAAuBtB,GAAQI,GAAqB;AAAA,QACvD,eAAeF,IAAoB,SAAS;AAAA,QAC5C,WAAWA,IACL,SACAQ,IACE,eAAeA,EAAU,CAAC,OAAOA,EAAU,CAAC,WAC5C;AAAA,QACR,YAAAC;AAAA,MAAA,CACH;AAAA,MAED,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACI,GAAGzB;AAAA,YACJ,oBAAAiB;AAAA,YACA,kBAAkBR;AAAA,UAAA;AAAA,QAAA;AAAA,QAEtB,gBAAAe,EAACE,GAAA,EAA6B,GAAG1B,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
1
+ {"version":3,"file":"TableDraggableHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableDraggableHeaderCell.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\n\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 TableDraggableHeaderCell = (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 const columnKey = column.columnKey ?? String(column.key);\n\n const { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging } = useSortable({\n id: columnKey,\n });\n\n const { role: _sortableRole, ...sortableAttributes } = attributes;\n\n const dragActivatorProps = {\n ...sortableAttributes,\n ...listeners,\n };\n\n return (\n <div\n ref={setNodeRef}\n {...htmlAttributes}\n className={resolveHeaderCellClassName(column, header, {\n isDraggable: true,\n isDragging,\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 data-column={columnKey}\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 pointerEvents: hideWhileDragging ? 'none' : undefined,\n transform: hideWhileDragging\n ? undefined\n : transform\n ? `translate3d(${transform.x}px, ${transform.y}px, 0)`\n : undefined,\n transition,\n })}\n >\n <TableHeaderCellContent\n {...props}\n dragActivatorProps={dragActivatorProps}\n dragActivatorRef={setActivatorNodeRef}\n />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableDraggableHeaderCell;\n"],"names":["TableDraggableHeaderCell","props","column","header","hideWhileDragging","htmlAttributes","isResizable","showSelectionColumn","stickyLeftColumnCount","stickyRightColumnCount","stickyLeftColumns","stickyRightColumns","columnKey","attributes","listeners","setActivatorNodeRef","setNodeRef","transform","transition","isDragging","useSortable","_sortableRole","sortableAttributes","dragActivatorProps","jsxs","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAWA,MAAMA,IAA2B,CAACC,MAA+C;AAC7E,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,GAE/CG,IAAYV,EAAO,aAAa,OAAOA,EAAO,GAAG,GAEjD,EAAE,YAAAW,GAAY,WAAAC,GAAW,qBAAAC,GAAqB,YAAAC,GAAY,WAAAC,GAAW,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAY;AAAA,IAC9G,IAAIR;AAAA,EAAA,CACP,GAEK,EAAE,MAAMS,GAAe,GAAGC,MAAuBT,GAEjDU,IAAqB;AAAA,IACvB,GAAGD;AAAA,IACH,GAAGR;AAAA,EAAA;AAGP,SACI,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKR;AAAA,MACJ,GAAGX;AAAA,MACJ,WAAWoB,EAA2BvB,GAAQC,GAAQ;AAAA,QAClD,aAAa;AAAA,QACb,YAAAgB;AAAA,QACA,aAAAb;AAAA,QACA,oBAAoBI,IAAoB,KAAKR,EAAO,eAAeQ;AAAA,QACnE,qBACIC,IAAqB,KACrBT,EAAO,cAAcA,EAAO,UAAU,IAAIC,EAAO,mBAAmBQ;AAAA,MAAA,CAC3E;AAAA,MACD,eAAaC;AAAA,MACb,MAAK;AAAA,MACL,iBAAec,EAAoBxB,EAAO,aAAaK,CAAmB;AAAA,MAC1E,gBAAcoB,EAAgBzB,EAAO,OAAO;AAAA,MAC5C,iBAAeA,EAAO;AAAA,MACtB,gBAAcyB,EAAgBzB,EAAO,OAAO;AAAA,MAC5C,aAAW0B,EAAgB1B,CAAM;AAAA,MACjC,OAAO2B,EAAuB3B,GAAQK,GAAqB;AAAA,QACvD,eAAeH,IAAoB,SAAS;AAAA,QAC5C,WAAWA,IACL,SACAa,IACE,eAAeA,EAAU,CAAC,OAAOA,EAAU,CAAC,WAC5C;AAAA,QACR,YAAAC;AAAA,MAAA,CACH;AAAA,MAED,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACI,GAAG9B;AAAA,YACJ,oBAAAsB;AAAA,YACA,kBAAkBR;AAAA,UAAA;AAAA,QAAA;AAAA,QAEtB,gBAAAe,EAACE,GAAA,EAA6B,GAAG/B,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
@@ -1,13 +1,12 @@
1
1
  import { DragEndEvent } from '@dnd-kit/core';
2
2
  import { HTMLAttributes, MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent, ReactNode, Ref } from 'react';
3
- import { TableViewModel } from '../../model/tableViewModel.types';
4
- import { TableSortDirection } from '../../Table.types';
5
- export type HeaderColumn<RowType extends Record<string, unknown>> = NonNullable<TableViewModel<RowType>['header']>['columns'][number];
6
- export type TableHeaderSectionProps<RowType extends Record<string, unknown>> = {
7
- header: NonNullable<TableViewModel<RowType>['header']>;
3
+ import { TableViewHeader } from '../../model/tableView.types';
4
+ import { TableHtmlAttributes, TableRowData, TableSortDirection } from '../../Table.types';
5
+ export type HeaderColumn<RowType extends TableRowData = TableRowData> = TableViewHeader<RowType>['columns'][number];
6
+ export type TableHeaderSectionProps<RowType extends TableRowData = TableRowData> = {
7
+ header: TableViewHeader<RowType>;
8
8
  headerClassName?: string;
9
9
  draggableColumnKeys?: string[];
10
- draggableColumns?: boolean;
11
10
  isAllSelected?: boolean;
12
11
  isSomeRowsSelected?: boolean;
13
12
  lastResizableColumnKey?: string;
@@ -17,19 +16,24 @@ export type TableHeaderSectionProps<RowType extends Record<string, unknown>> = {
17
16
  onToggleAllSelection?: () => void;
18
17
  selectionHeaderContent?: ReactNode;
19
18
  showSelectionColumn?: boolean;
19
+ stickyLeftColumnCount?: number;
20
+ stickyRightColumnCount?: number;
20
21
  tableHeadRowRef: Ref<HTMLDivElement>;
21
22
  onSortChange?: (columnKey: string, direction: TableSortDirection, event: ReactMouseEvent<HTMLButtonElement>) => void;
22
- resizeableColumns?: boolean;
23
23
  };
24
- export type SharedHeaderCellProps<RowType extends Record<string, unknown>> = {
24
+ export type SharedHeaderCellProps<RowType extends TableRowData = TableRowData> = {
25
25
  column: HeaderColumn<RowType>;
26
- header: NonNullable<TableViewModel<RowType>['header']>;
26
+ header: TableViewHeader<RowType>;
27
27
  dragActivatorProps?: HTMLAttributes<HTMLSpanElement>;
28
28
  dragActivatorRef?: Ref<HTMLSpanElement>;
29
+ htmlAttributes?: TableHtmlAttributes;
29
30
  hideWhileDragging?: boolean;
31
+ hasResettableWidth?: boolean;
30
32
  isResizable: boolean;
31
33
  onColumnResizeReset?: (columnKey: string) => void;
32
34
  onColumnResizeStart?: (columnKey: string, event: ReactPointerEvent<HTMLDivElement>) => void;
33
35
  onSortChange?: (columnKey: string, direction: TableSortDirection, event: ReactMouseEvent<HTMLButtonElement>) => void;
34
36
  showSelectionColumn?: boolean;
37
+ stickyLeftColumnCount?: number;
38
+ stickyRightColumnCount?: number;
35
39
  };
@@ -1,3 +1,4 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { SharedHeaderCellProps } from './TableHeader.types';
2
- declare const TableHeaderCellContent: <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const TableHeaderCellContent: (props: SharedHeaderCellProps<TableRowData>) => import("react/jsx-runtime").JSX.Element;
3
4
  export default TableHeaderCellContent;
@@ -7,7 +7,7 @@ const u = (c) => {
7
7
  /* @__PURE__ */ a("span", { children: e.label })
8
8
  ] }) : e.label, o = s === null ? null : /* @__PURE__ */ a("span", { className: "table-head-label", children: s });
9
9
  return /* @__PURE__ */ a("div", { className: l("table-head-cell-content", d && "table-head-cell-content-hidden"), children: /* @__PURE__ */ r("div", { className: "table-head-cell-content-row", children: [
10
- e.sortable ? /* @__PURE__ */ r(
10
+ e.sortable ? /* @__PURE__ */ a(
11
11
  "button",
12
12
  {
13
13
  type: "button",
@@ -18,21 +18,21 @@ const u = (c) => {
18
18
  e.sortDirection === "asc" ? "desc" : "asc",
19
19
  h
20
20
  ),
21
- children: [
22
- /* @__PURE__ */ a(p, { direction: e.sortDirection }),
23
- /* @__PURE__ */ a(
24
- "span",
25
- {
26
- ref: n,
27
- className: l(
28
- "table-head-button-label",
29
- t && "table-head-drag-label"
30
- ),
31
- ...t,
32
- children: o
33
- }
34
- )
35
- ]
21
+ children: /* @__PURE__ */ r(
22
+ "span",
23
+ {
24
+ ref: n,
25
+ className: l(
26
+ "table-head-button-label",
27
+ t && "table-head-drag-label"
28
+ ),
29
+ ...t,
30
+ children: [
31
+ /* @__PURE__ */ a(p, { direction: e.sortDirection }),
32
+ o
33
+ ]
34
+ }
35
+ )
36
36
  }
37
37
  ) : /* @__PURE__ */ a(
38
38
  "span",
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderCellContent.js","sources":["../../../../../src/components/table/render/header/TableHeaderCellContent.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport SortArrows from '../../SortArrows';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\n\nconst TableHeaderCellContent = <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => {\n const { column, dragActivatorProps, dragActivatorRef, hideWhileDragging, onSortChange } = props;\n const ariaLabel = column.hideLabel && typeof column.label === 'string' ? column.label : undefined;\n const labelContent = column.hideLabel ? null : column.icon ? (\n <span className='display-inline-flex align-items-center gap-5'>\n <span className={classNames('text-color-dark rioglyph', column.icon)} />\n <span>{column.label}</span>\n </span>\n ) : (\n column.label\n );\n const wrappedLabelContent = labelContent === null ? null : <span className='table-head-label'>{labelContent}</span>;\n\n return (\n <div className={classNames('table-head-cell-content', hideWhileDragging && 'table-head-cell-content-hidden')}>\n <div className='table-head-cell-content-row'>\n {column.sortable ? (\n <button\n type='button'\n className={classNames('table-head-button', column.filter && 'table-head-button-has-filter')}\n aria-label={ariaLabel}\n onClick={event =>\n onSortChange?.(\n column.columnKey ?? String(column.key),\n column.sortDirection === 'asc' ? 'desc' : 'asc',\n event\n )\n }\n >\n <SortArrows direction={column.sortDirection} />\n <span\n ref={dragActivatorRef}\n className={classNames(\n 'table-head-button-label',\n dragActivatorProps && 'table-head-drag-label'\n )}\n {...dragActivatorProps}\n >\n {wrappedLabelContent}\n </span>\n </button>\n ) : (\n <span\n ref={dragActivatorRef}\n className={classNames(\n 'table-head-label-wrapper',\n column.filter && 'table-head-label-wrapper-has-filter',\n dragActivatorProps && 'table-head-drag-label'\n )}\n aria-label={ariaLabel}\n {...dragActivatorProps}\n >\n {wrappedLabelContent}\n </span>\n )}\n {column.filter && <span className='table-head-filter'>{column.filter}</span>}\n </div>\n </div>\n );\n};\n\nexport default TableHeaderCellContent;\n"],"names":["TableHeaderCellContent","props","column","dragActivatorProps","dragActivatorRef","hideWhileDragging","onSortChange","ariaLabel","labelContent","jsxs","jsx","classNames","wrappedLabelContent","event","SortArrows"],"mappings":";;;AAIA,MAAMA,IAAyB,CAA0CC,MAA0C;AAC/G,QAAM,EAAE,QAAAC,GAAQ,oBAAAC,GAAoB,kBAAAC,GAAkB,mBAAAC,GAAmB,cAAAC,MAAiBL,GACpFM,IAAYL,EAAO,aAAa,OAAOA,EAAO,SAAU,WAAWA,EAAO,QAAQ,QAClFM,IAAeN,EAAO,YAAY,OAAOA,EAAO,OAClD,gBAAAO,EAAC,QAAA,EAAK,WAAU,gDACZ,UAAA;AAAA,IAAA,gBAAAC,EAAC,UAAK,WAAWC,EAAW,4BAA4BT,EAAO,IAAI,GAAG;AAAA,IACtE,gBAAAQ,EAAC,QAAA,EAAM,UAAAR,EAAO,MAAA,CAAM;AAAA,EAAA,EAAA,CACxB,IAEAA,EAAO,OAELU,IAAsBJ,MAAiB,OAAO,yBAAQ,QAAA,EAAK,WAAU,oBAAoB,UAAAA,EAAA,CAAa;AAE5G,SACI,gBAAAE,EAAC,OAAA,EAAI,WAAWC,EAAW,2BAA2BN,KAAqB,gCAAgC,GACvG,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,+BACV,UAAA;AAAA,IAAAP,EAAO,WACJ,gBAAAO;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,WAAWE,EAAW,qBAAqBT,EAAO,UAAU,8BAA8B;AAAA,QAC1F,cAAYK;AAAA,QACZ,SAAS,CAAAM,MACLP;AAAA,UACIJ,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,UACrCA,EAAO,kBAAkB,QAAQ,SAAS;AAAA,UAC1CW;AAAA,QAAA;AAAA,QAIR,UAAA;AAAA,UAAA,gBAAAH,EAACI,GAAA,EAAW,WAAWZ,EAAO,cAAA,CAAe;AAAA,UAC7C,gBAAAQ;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,KAAKN;AAAA,cACL,WAAWO;AAAA,gBACP;AAAA,gBACAR,KAAsB;AAAA,cAAA;AAAA,cAEzB,GAAGA;AAAA,cAEH,UAAAS;AAAA,YAAA;AAAA,UAAA;AAAA,QACL;AAAA,MAAA;AAAA,IAAA,IAGJ,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKN;AAAA,QACL,WAAWO;AAAA,UACP;AAAA,UACAT,EAAO,UAAU;AAAA,UACjBC,KAAsB;AAAA,QAAA;AAAA,QAE1B,cAAYI;AAAA,QACX,GAAGJ;AAAA,QAEH,UAAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAGRV,EAAO,UAAU,gBAAAQ,EAAC,UAAK,WAAU,qBAAqB,YAAO,OAAA,CAAO;AAAA,EAAA,EAAA,CACzE,EAAA,CACJ;AAER;"}
1
+ {"version":3,"file":"TableHeaderCellContent.js","sources":["../../../../../src/components/table/render/header/TableHeaderCellContent.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport SortArrows from '../../SortArrows';\nimport type { TableRowData } from '../../Table.types';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\n\nconst TableHeaderCellContent = (props: SharedHeaderCellProps<TableRowData>) => {\n const { column, dragActivatorProps, dragActivatorRef, hideWhileDragging, onSortChange } = props;\n\n const ariaLabel = column.hideLabel && typeof column.label === 'string' ? column.label : undefined;\n\n const labelContent = column.hideLabel ? null : column.icon ? (\n <span className='display-inline-flex align-items-center gap-5'>\n <span className={classNames('text-color-dark rioglyph', column.icon)} />\n <span>{column.label}</span>\n </span>\n ) : (\n column.label\n );\n\n const wrappedLabelContent = labelContent === null ? null : <span className='table-head-label'>{labelContent}</span>;\n\n return (\n <div className={classNames('table-head-cell-content', hideWhileDragging && 'table-head-cell-content-hidden')}>\n <div className='table-head-cell-content-row'>\n {column.sortable ? (\n <button\n type='button'\n className={classNames('table-head-button', column.filter && 'table-head-button-has-filter')}\n aria-label={ariaLabel}\n onClick={event =>\n onSortChange?.(\n column.columnKey ?? String(column.key),\n column.sortDirection === 'asc' ? 'desc' : 'asc',\n event\n )\n }\n >\n <span\n ref={dragActivatorRef}\n className={classNames(\n 'table-head-button-label',\n dragActivatorProps && 'table-head-drag-label'\n )}\n {...dragActivatorProps}\n >\n <SortArrows direction={column.sortDirection} />\n {wrappedLabelContent}\n </span>\n </button>\n ) : (\n <span\n ref={dragActivatorRef}\n className={classNames(\n 'table-head-label-wrapper',\n column.filter && 'table-head-label-wrapper-has-filter',\n dragActivatorProps && 'table-head-drag-label'\n )}\n aria-label={ariaLabel}\n {...dragActivatorProps}\n >\n {wrappedLabelContent}\n </span>\n )}\n {column.filter && <span className='table-head-filter'>{column.filter}</span>}\n </div>\n </div>\n );\n};\n\nexport default TableHeaderCellContent;\n"],"names":["TableHeaderCellContent","props","column","dragActivatorProps","dragActivatorRef","hideWhileDragging","onSortChange","ariaLabel","labelContent","jsxs","jsx","classNames","wrappedLabelContent","event","SortArrows"],"mappings":";;;AAKA,MAAMA,IAAyB,CAACC,MAA+C;AAC3E,QAAM,EAAE,QAAAC,GAAQ,oBAAAC,GAAoB,kBAAAC,GAAkB,mBAAAC,GAAmB,cAAAC,MAAiBL,GAEpFM,IAAYL,EAAO,aAAa,OAAOA,EAAO,SAAU,WAAWA,EAAO,QAAQ,QAElFM,IAAeN,EAAO,YAAY,OAAOA,EAAO,OAClD,gBAAAO,EAAC,QAAA,EAAK,WAAU,gDACZ,UAAA;AAAA,IAAA,gBAAAC,EAAC,UAAK,WAAWC,EAAW,4BAA4BT,EAAO,IAAI,GAAG;AAAA,IACtE,gBAAAQ,EAAC,QAAA,EAAM,UAAAR,EAAO,MAAA,CAAM;AAAA,EAAA,EAAA,CACxB,IAEAA,EAAO,OAGLU,IAAsBJ,MAAiB,OAAO,yBAAQ,QAAA,EAAK,WAAU,oBAAoB,UAAAA,EAAA,CAAa;AAE5G,SACI,gBAAAE,EAAC,OAAA,EAAI,WAAWC,EAAW,2BAA2BN,KAAqB,gCAAgC,GACvG,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,+BACV,UAAA;AAAA,IAAAP,EAAO,WACJ,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,WAAWC,EAAW,qBAAqBT,EAAO,UAAU,8BAA8B;AAAA,QAC1F,cAAYK;AAAA,QACZ,SAAS,CAAAM,MACLP;AAAA,UACIJ,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,UACrCA,EAAO,kBAAkB,QAAQ,SAAS;AAAA,UAC1CW;AAAA,QAAA;AAAA,QAIR,UAAA,gBAAAJ;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,KAAKL;AAAA,YACL,WAAWO;AAAA,cACP;AAAA,cACAR,KAAsB;AAAA,YAAA;AAAA,YAEzB,GAAGA;AAAA,YAEJ,UAAA;AAAA,cAAA,gBAAAO,EAACI,GAAA,EAAW,WAAWZ,EAAO,cAAA,CAAe;AAAA,cAC5CU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACL;AAAA,IAAA,IAGJ,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKN;AAAA,QACL,WAAWO;AAAA,UACP;AAAA,UACAT,EAAO,UAAU;AAAA,UACjBC,KAAsB;AAAA,QAAA;AAAA,QAE1B,cAAYI;AAAA,QACX,GAAGJ;AAAA,QAEH,UAAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAGRV,EAAO,UAAU,gBAAAQ,EAAC,UAAK,WAAU,qBAAqB,YAAO,OAAA,CAAO;AAAA,EAAA,EAAA,CACzE,EAAA,CACJ;AAER;"}
@@ -1,3 +1,4 @@
1
+ import { TableRowData } from '../../Table.types';
1
2
  import { SharedHeaderCellProps } from './TableHeader.types';
2
- declare const TableHeaderCellResizeHandle: <RowType extends Record<string, unknown>>(props: SharedHeaderCellProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
3
+ declare const TableHeaderCellResizeHandle: (props: SharedHeaderCellProps<TableRowData>) => import("react/jsx-runtime").JSX.Element | null;
3
4
  export default TableHeaderCellResizeHandle;
@@ -1,17 +1,17 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import c from "../../../../utils/classNames.js";
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import u from "../../../../utils/classNames.js";
3
3
  const d = (n) => {
4
- const { column: l, isResizable: s, onColumnResizeReset: t, onColumnResizeStart: a } = n, o = l.columnKey, i = l.source?.width !== void 0;
5
- return !s || !o ? null : /* @__PURE__ */ r(
4
+ const { column: t, hasResettableWidth: o, isResizable: s, onColumnResizeReset: a, onColumnResizeStart: r } = n, l = t.columnKey;
5
+ return !s || !l ? null : /* @__PURE__ */ i(
6
6
  "div",
7
7
  {
8
- className: c(
8
+ className: u(
9
9
  "table-column-resize-handle",
10
- i && "table-column-resize-handle-has-width"
10
+ o && "table-column-resize-handle-has-width"
11
11
  ),
12
- onPointerDown: (e) => a?.(o, e),
12
+ onPointerDown: (e) => r?.(l, e),
13
13
  onDoubleClick: (e) => {
14
- e.preventDefault(), e.stopPropagation(), t?.(o);
14
+ o && (e.preventDefault(), e.stopPropagation(), a?.(l));
15
15
  }
16
16
  }
17
17
  );
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderCellResizeHandle.js","sources":["../../../../../src/components/table/render/header/TableHeaderCellResizeHandle.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\n\nconst TableHeaderCellResizeHandle = <RowType extends Record<string, unknown>>(\n props: SharedHeaderCellProps<RowType>\n) => {\n const { column, isResizable, onColumnResizeReset, onColumnResizeStart } = props;\n\n const columnKey = column.columnKey;\n const hasExplicitWidth = column.source?.width !== undefined;\n\n if (!isResizable || !columnKey) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n 'table-column-resize-handle',\n hasExplicitWidth && 'table-column-resize-handle-has-width'\n )}\n onPointerDown={event => onColumnResizeStart?.(columnKey, event)}\n onDoubleClick={event => {\n event.preventDefault();\n event.stopPropagation();\n onColumnResizeReset?.(columnKey);\n }}\n />\n );\n};\n\nexport default TableHeaderCellResizeHandle;\n"],"names":["TableHeaderCellResizeHandle","props","column","isResizable","onColumnResizeReset","onColumnResizeStart","columnKey","hasExplicitWidth","jsx","classNames","event"],"mappings":";;AAGA,MAAMA,IAA8B,CAChCC,MACC;AACD,QAAM,EAAE,QAAAC,GAAQ,aAAAC,GAAa,qBAAAC,GAAqB,qBAAAC,MAAwBJ,GAEpEK,IAAYJ,EAAO,WACnBK,IAAmBL,EAAO,QAAQ,UAAU;AAElD,SAAI,CAACC,KAAe,CAACG,IACV,OAIP,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACP;AAAA,QACAF,KAAoB;AAAA,MAAA;AAAA,MAExB,eAAe,CAAAG,MAASL,IAAsBC,GAAWI,CAAK;AAAA,MAC9D,eAAe,CAAAA,MAAS;AACpB,QAAAA,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNN,IAAsBE,CAAS;AAAA,MACnC;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"TableHeaderCellResizeHandle.js","sources":["../../../../../src/components/table/render/header/TableHeaderCellResizeHandle.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport type { TableRowData } from '../../Table.types';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\n\nconst TableHeaderCellResizeHandle = (props: SharedHeaderCellProps<TableRowData>) => {\n const { column, hasResettableWidth, isResizable, onColumnResizeReset, onColumnResizeStart } = props;\n\n const columnKey = column.columnKey;\n\n if (!isResizable || !columnKey) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n 'table-column-resize-handle',\n hasResettableWidth && 'table-column-resize-handle-has-width'\n )}\n onPointerDown={event => onColumnResizeStart?.(columnKey, event)}\n onDoubleClick={event => {\n if (!hasResettableWidth) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n onColumnResizeReset?.(columnKey);\n }}\n />\n );\n};\n\nexport default TableHeaderCellResizeHandle;\n"],"names":["TableHeaderCellResizeHandle","props","column","hasResettableWidth","isResizable","onColumnResizeReset","onColumnResizeStart","columnKey","jsx","classNames","event"],"mappings":";;AAIA,MAAMA,IAA8B,CAACC,MAA+C;AAChF,QAAM,EAAE,QAAAC,GAAQ,oBAAAC,GAAoB,aAAAC,GAAa,qBAAAC,GAAqB,qBAAAC,MAAwBL,GAExFM,IAAYL,EAAO;AAEzB,SAAI,CAACE,KAAe,CAACG,IACV,OAIP,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC;AAAA,QACP;AAAA,QACAN,KAAsB;AAAA,MAAA;AAAA,MAE1B,eAAe,CAAAO,MAASJ,IAAsBC,GAAWG,CAAK;AAAA,MAC9D,eAAe,CAAAA,MAAS;AACpB,QAAKP,MAILO,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNL,IAAsBE,CAAS;AAAA,MACnC;AAAA,IAAA;AAAA,EAAA;AAGZ;"}