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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) 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/TableNext.d.ts +2 -0
  10. package/TableNext.js +23 -0
  11. package/TableNext.js.map +1 -0
  12. package/TableToolbar.js +3 -2
  13. package/TableToolbar.js.map +1 -1
  14. package/components/assetTree/Tree.js +13 -13
  15. package/components/charts/Area.d.ts +5 -3
  16. package/components/charts/Area.js +4 -3
  17. package/components/charts/Area.js.map +1 -1
  18. package/components/charts/AreaChart.js.map +1 -1
  19. package/components/charts/ComposedChart.js.map +1 -1
  20. package/components/clearableInput/ClearableInput.d.ts +30 -0
  21. package/components/clearableInput/ClearableInput.js +81 -78
  22. package/components/clearableInput/ClearableInput.js.map +1 -1
  23. package/components/datepicker/DayPicker.d.ts +4 -51
  24. package/components/datepicker/DayPicker.js +264 -256
  25. package/components/datepicker/DayPicker.js.map +1 -1
  26. package/components/datepicker/DayPickerCalendar.d.ts +4 -0
  27. package/components/datepicker/DayPickerCalendar.js +129 -0
  28. package/components/datepicker/DayPickerCalendar.js.map +1 -0
  29. package/components/datepicker/DayPickerDropdown.d.ts +18 -0
  30. package/components/datepicker/DayPickerDropdown.js +75 -0
  31. package/components/datepicker/DayPickerDropdown.js.map +1 -0
  32. package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
  33. package/components/datepicker/DayPickerDropdownFooter.js +7 -0
  34. package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
  35. package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
  36. package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
  37. package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
  38. package/components/datepicker/DayPickerInput.d.ts +28 -0
  39. package/components/datepicker/DayPickerInput.js +65 -0
  40. package/components/datepicker/DayPickerInput.js.map +1 -0
  41. package/components/datepicker/DayPickerPrototype.d.ts +53 -0
  42. package/components/datepicker/DayPickerPrototype.js +285 -0
  43. package/components/datepicker/DayPickerPrototype.js.map +1 -0
  44. package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
  45. package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
  46. package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
  47. package/components/datepicker/dayPickerTypes.d.ts +517 -0
  48. package/components/datepicker/dayPickerTypes.js +7 -0
  49. package/components/datepicker/dayPickerTypes.js.map +1 -0
  50. package/components/datepicker/dayPickerUtils.d.ts +10 -0
  51. package/components/datepicker/dayPickerUtils.js +92 -0
  52. package/components/datepicker/dayPickerUtils.js.map +1 -0
  53. package/components/datepicker/useDayPickerInputState.d.ts +32 -0
  54. package/components/datepicker/useDayPickerInputState.js +85 -0
  55. package/components/datepicker/useDayPickerInputState.js.map +1 -0
  56. package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
  57. package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
  58. package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
  59. package/components/divider/Divider.js +6 -6
  60. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  61. package/components/dropdown/ButtonDropdown.js +70 -68
  62. package/components/dropdown/ButtonDropdown.js.map +1 -1
  63. package/components/dropdown/DropdownToggleButton.d.ts +1 -0
  64. package/components/dropdown/DropdownToggleButton.js +17 -15
  65. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  66. package/components/fade/FadeExpander.js +17 -20
  67. package/components/fade/FadeExpander.js.map +1 -1
  68. package/components/loadMore/LoadMoreProgress.js +6 -7
  69. package/components/map/components/Map.js +3 -3
  70. package/components/map/utils/rendering.js +5 -5
  71. package/components/popover/Popover.js +4 -4
  72. package/components/radiobutton/RadioCardGroup.js +3 -3
  73. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  74. package/components/selects/Multiselect.d.ts +6 -0
  75. package/components/selects/Multiselect.js +164 -150
  76. package/components/selects/Multiselect.js.map +1 -1
  77. package/components/selects/Select.js +39 -37
  78. package/components/selects/Select.js.map +1 -1
  79. package/components/table/Table.d.ts +27 -248
  80. package/components/table/Table.js +237 -214
  81. package/components/table/Table.js.map +1 -1
  82. package/components/table/Table.types.d.ts +293 -121
  83. package/components/table/TableBody.d.ts +65 -5
  84. package/components/table/TableBody.js +132 -2
  85. package/components/table/TableBody.js.map +1 -1
  86. package/components/table/TableCardsSorting.js +25 -32
  87. package/components/table/TableCardsSorting.js.map +1 -1
  88. package/components/table/TableColumn.d.ts +13 -5
  89. package/components/table/TableColumn.js +112 -2
  90. package/components/table/TableColumn.js.map +1 -1
  91. package/components/table/TableExpandedContentRow.d.ts +7 -7
  92. package/components/table/TableExpandedContentRow.js +107 -2
  93. package/components/table/TableExpandedContentRow.js.map +1 -1
  94. package/components/table/TableExpandedRow.d.ts +9 -4
  95. package/components/table/TableExpandedRow.js +147 -2
  96. package/components/table/TableExpandedRow.js.map +1 -1
  97. package/components/table/TableExpanderButton.js +13 -11
  98. package/components/table/TableExpanderButton.js.map +1 -1
  99. package/components/table/TableFooter.d.ts +10 -6
  100. package/components/table/TableFooter.js +49 -2
  101. package/components/table/TableFooter.js.map +1 -1
  102. package/components/table/TableGroupFooterRow.d.ts +7 -7
  103. package/components/table/TableGroupFooterRow.js +27 -2
  104. package/components/table/TableGroupFooterRow.js.map +1 -1
  105. package/components/table/TableGroupRow.d.ts +7 -7
  106. package/components/table/TableGroupRow.js +33 -2
  107. package/components/table/TableGroupRow.js.map +1 -1
  108. package/components/table/TableHeader.d.ts +9 -4
  109. package/components/table/TableHeader.js +104 -2
  110. package/components/table/TableHeader.js.map +1 -1
  111. package/components/table/TableHeaderColumn.d.ts +14 -8
  112. package/components/table/TableHeaderColumn.js +78 -2
  113. package/components/table/TableHeaderColumn.js.map +1 -1
  114. package/components/table/TableHeaderRow.d.ts +1 -1
  115. package/components/table/TableHeaderRow.js +11 -2
  116. package/components/table/TableHeaderRow.js.map +1 -1
  117. package/components/table/TableRow.d.ts +9 -4
  118. package/components/table/TableRow.js +108 -2
  119. package/components/table/TableRow.js.map +1 -1
  120. package/components/table/TableSpacerRow.d.ts +3 -2
  121. package/components/table/TableSpacerRow.js +26 -2
  122. package/components/table/TableSpacerRow.js.map +1 -1
  123. package/components/table/TableToolbar.d.ts +4 -23
  124. package/components/table/TableToolbar.js +39 -28
  125. package/components/table/TableToolbar.js.map +1 -1
  126. package/components/table/TableToolbarColumn.d.ts +31 -0
  127. package/components/table/TableToolbarColumn.js +33 -0
  128. package/components/table/TableToolbarColumn.js.map +1 -0
  129. package/components/table/TableViewToggles.d.ts +3 -3
  130. package/components/table/TableViewToggles.js.map +1 -1
  131. package/components/table/context/TableInteractionContext.d.ts +26 -0
  132. package/components/table/context/TableInteractionContext.js +7 -0
  133. package/components/table/context/TableInteractionContext.js.map +1 -0
  134. package/components/table/context/TableLayoutContext.d.ts +25 -0
  135. package/components/table/context/TableLayoutContext.js +7 -0
  136. package/components/table/context/TableLayoutContext.js.map +1 -0
  137. package/components/table/context/TableRenderConfigContext.d.ts +27 -0
  138. package/components/table/context/TableRenderConfigContext.js +7 -0
  139. package/components/table/context/TableRenderConfigContext.js.map +1 -0
  140. package/components/table/context/TableRenderContext.d.ts +85 -0
  141. package/components/table/context/TableRenderContext.js +7 -0
  142. package/components/table/context/TableRenderContext.js.map +1 -0
  143. package/components/table/context/TableStructureContext.d.ts +31 -0
  144. package/components/table/context/TableStructureContext.js +17 -0
  145. package/components/table/context/TableStructureContext.js.map +1 -0
  146. package/components/table/layout/columnSizing.d.ts +2 -2
  147. package/components/table/layout/columnSizing.js.map +1 -1
  148. package/components/table/layout/useDraggableColumns.d.ts +3 -3
  149. package/components/table/layout/useDraggableColumns.js +17 -17
  150. package/components/table/layout/useDraggableColumns.js.map +1 -1
  151. package/components/table/layout/useHorizontalSectionSync.d.ts +3 -1
  152. package/components/table/layout/useHorizontalSectionSync.js +32 -28
  153. package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
  154. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +3 -3
  155. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -1
  156. package/components/table/layout/useResizableColumns.d.ts +5 -4
  157. package/components/table/layout/useResizableColumns.js +108 -67
  158. package/components/table/layout/useResizableColumns.js.map +1 -1
  159. package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
  160. package/components/table/layout/useTableBodyScrollBottom.js +37 -0
  161. package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
  162. package/components/table/layout/useTableLayout.d.ts +17 -6
  163. package/components/table/layout/useTableLayout.js +41 -38
  164. package/components/table/layout/useTableLayout.js.map +1 -1
  165. package/components/table/layout/useTableVirtualization.d.ts +6 -6
  166. package/components/table/layout/useTableVirtualization.js +22 -22
  167. package/components/table/layout/useTableVirtualization.js.map +1 -1
  168. package/components/table/model/resolveRowMeta.d.ts +3 -2
  169. package/components/table/model/resolveRowMeta.js.map +1 -1
  170. package/components/table/model/resolveTableClassConfig.d.ts +2 -3
  171. package/components/table/model/resolveTableClassConfig.js.map +1 -1
  172. package/components/table/model/tableView.types.d.ts +41 -0
  173. package/components/table/native/TableSettingsListItem.js +1 -1
  174. package/components/table/native/TableSettingsListItem.js.map +1 -1
  175. package/components/table/render/body/TableBodyContent.d.ts +21 -0
  176. package/components/table/render/body/TableBodyContent.js +52 -0
  177. package/components/table/render/body/TableBodyContent.js.map +1 -0
  178. package/components/table/render/body/TableEmptyRow.js +2 -2
  179. package/components/table/render/body/TableEmptyRow.js.map +1 -1
  180. package/components/table/render/header/TableBatchDropdown.d.ts +5 -1
  181. package/components/table/render/header/TableBatchDropdown.js +17 -15
  182. package/components/table/render/header/TableBatchDropdown.js.map +1 -1
  183. package/components/table/render/header/TableColumnFilter.d.ts +2 -2
  184. package/components/table/render/header/TableColumnFilter.js +16 -14
  185. package/components/table/render/header/TableColumnFilter.js.map +1 -1
  186. package/components/table/render/header/TableDraggableHeaderCell.d.ts +2 -1
  187. package/components/table/render/header/TableDraggableHeaderCell.js +44 -34
  188. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
  189. package/components/table/render/header/TableHeader.types.d.ts +11 -9
  190. package/components/table/render/header/TableHeaderCellContent.d.ts +2 -1
  191. package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
  192. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +2 -1
  193. package/components/table/render/header/TableHeaderCellResizeHandle.js +8 -8
  194. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -1
  195. package/components/table/render/header/TableHeaderDragOverlay.d.ts +5 -4
  196. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -1
  197. package/components/table/render/header/TableStaticHeaderCell.d.ts +2 -1
  198. package/components/table/render/header/TableStaticHeaderCell.js +34 -22
  199. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
  200. package/components/table/render/header/resolveAriaSort.d.ts +2 -1
  201. package/components/table/render/header/resolveAriaSort.js.map +1 -1
  202. package/components/table/render/header/resolveHeaderCellClassName.d.ts +4 -2
  203. package/components/table/render/header/resolveHeaderCellClassName.js +11 -10
  204. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
  205. package/components/table/render/header/resolveHeaderCellStyle.d.ts +2 -1
  206. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -1
  207. package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
  208. package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
  209. package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
  210. package/components/table/runtime/useRenderDraftState.d.ts +14 -0
  211. package/components/table/runtime/useRenderDraftState.js +80 -0
  212. package/components/table/runtime/useRenderDraftState.js.map +1 -0
  213. package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
  214. package/components/table/runtime/useResolvedRenderColumns.js +113 -0
  215. package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
  216. package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
  217. package/components/table/runtime/useResolvedRenderHeader.js +67 -0
  218. package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
  219. package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
  220. package/components/table/selection/useInternalTableSelectionState.js +28 -0
  221. package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
  222. package/components/table/selection/useTableSelection.d.ts +3 -3
  223. package/components/table/selection/useTableSelection.js.map +1 -1
  224. package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
  225. package/components/table/shared/getCellContentOverflowClassName.js +18 -0
  226. package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
  227. package/components/table/shared/getInteractiveRowProps.d.ts +3 -2
  228. package/components/table/shared/getInteractiveRowProps.js.map +1 -1
  229. package/hooks/useUrlState.js +3 -3
  230. package/package.json +16 -17
  231. package/utils/analytics/createAnalyticsOverlayTooltip.js +57 -57
  232. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
  233. package/utils/analytics/useAnalyticsOverlayDom.js +3 -3
  234. package/utils/routeUtils.d.ts +5 -2
  235. package/utils/routeUtils.js +17 -17
  236. package/utils/routeUtils.js.map +1 -1
  237. package/version.d.ts +1 -1
  238. package/version.js +1 -1
  239. package/version.js.map +1 -1
  240. package/components/table/TableCard.d.ts +0 -63
  241. package/components/table/TableCard.js +0 -150
  242. package/components/table/TableCard.js.map +0 -1
  243. package/components/table/model/buildTableViewModel.d.ts +0 -28
  244. package/components/table/model/buildTableViewModel.js +0 -221
  245. package/components/table/model/buildTableViewModel.js.map +0 -1
  246. package/components/table/model/resolveCellContent.d.ts +0 -2
  247. package/components/table/model/resolveCellContent.js +0 -5
  248. package/components/table/model/resolveCellContent.js.map +0 -1
  249. package/components/table/model/tableViewModel.types.d.ts +0 -153
  250. package/components/table/parse/parseBody.d.ts +0 -3
  251. package/components/table/parse/parseBody.js +0 -13
  252. package/components/table/parse/parseBody.js.map +0 -1
  253. package/components/table/parse/parseColumns.d.ts +0 -3
  254. package/components/table/parse/parseColumns.js +0 -81
  255. package/components/table/parse/parseColumns.js.map +0 -1
  256. package/components/table/parse/parseFooter.d.ts +0 -3
  257. package/components/table/parse/parseFooter.js +0 -39
  258. package/components/table/parse/parseFooter.js.map +0 -1
  259. package/components/table/parse/parseHeaders.d.ts +0 -4
  260. package/components/table/parse/parseHeaders.js +0 -89
  261. package/components/table/parse/parseHeaders.js.map +0 -1
  262. package/components/table/parse/parseRows.d.ts +0 -3
  263. package/components/table/parse/parseRows.js +0 -93
  264. package/components/table/parse/parseRows.js.map +0 -1
  265. package/components/table/parse/tableChildGuards.d.ts +0 -25
  266. package/components/table/parse/tableChildGuards.js +0 -29
  267. package/components/table/parse/tableChildGuards.js.map +0 -1
  268. package/components/table/render/body/TableBodyRow.d.ts +0 -16
  269. package/components/table/render/body/TableBodyRow.js +0 -84
  270. package/components/table/render/body/TableBodyRow.js.map +0 -1
  271. package/components/table/render/body/TableBodySection.d.ts +0 -20
  272. package/components/table/render/body/TableBodySection.js +0 -68
  273. package/components/table/render/body/TableBodySection.js.map +0 -1
  274. package/components/table/render/body/TableDataRow.d.ts +0 -15
  275. package/components/table/render/body/TableDataRow.js +0 -143
  276. package/components/table/render/body/TableDataRow.js.map +0 -1
  277. package/components/table/render/body/TableExpandedRow.d.ts +0 -8
  278. package/components/table/render/body/TableExpandedRow.js +0 -84
  279. package/components/table/render/body/TableExpandedRow.js.map +0 -1
  280. package/components/table/render/body/TableGroupRow.d.ts +0 -8
  281. package/components/table/render/body/TableGroupRow.js +0 -21
  282. package/components/table/render/body/TableGroupRow.js.map +0 -1
  283. package/components/table/render/body/TableSpacerRow.d.ts +0 -7
  284. package/components/table/render/body/TableSpacerRow.js +0 -15
  285. package/components/table/render/body/TableSpacerRow.js.map +0 -1
  286. package/components/table/render/footer/TableFooterCell.d.ts +0 -8
  287. package/components/table/render/footer/TableFooterCell.js +0 -31
  288. package/components/table/render/footer/TableFooterCell.js.map +0 -1
  289. package/components/table/render/footer/TableFooterSection.d.ts +0 -10
  290. package/components/table/render/footer/TableFooterSection.js +0 -28
  291. package/components/table/render/footer/TableFooterSection.js.map +0 -1
  292. package/components/table/render/header/TableHeaderSection.d.ts +0 -3
  293. package/components/table/render/header/TableHeaderSection.js +0 -104
  294. package/components/table/render/header/TableHeaderSection.js.map +0 -1
@@ -1,5 +1,150 @@
1
- const e = (a) => null;
1
+ import { jsx as s, jsxs as _, Fragment as M } from "react/jsx-runtime";
2
+ import { useReducedMotion as j, motion as B } from "motion/react";
3
+ import { useRef as F, useState as H, useMemo as U } from "react";
4
+ import L from "../checkbox/Checkbox.js";
5
+ import A from "../../utils/classNames.js";
6
+ import { resolveRowKey as W, resolveRowClassName as X } from "./model/resolveRowMeta.js";
7
+ import { useOptionalTableInteractionContext as q } from "./context/TableInteractionContext.js";
8
+ import { useOptionalTableRenderConfigContext as z } from "./context/TableRenderConfigContext.js";
9
+ import { useOptionalTableSection as G, useTableBodyContext as J, extractTableHtmlAttributes as I, TableRowContext as Q } from "./context/TableStructureContext.js";
10
+ import { useOptionalTableRenderContext as Y } from "./context/TableRenderContext.js";
11
+ import { getInteractiveRowProps as Z } from "./shared/getInteractiveRowProps.js";
12
+ const u = 0.18, $ = (C) => {
13
+ const { isSelected: b, isTableView: m, onToggleSelection: x, cardCellClassName: R } = C;
14
+ return /* @__PURE__ */ s(
15
+ "div",
16
+ {
17
+ className: A("table-cell table-selection-cell", !m && R),
18
+ role: "cell",
19
+ "aria-colindex": 1,
20
+ style: m ? { gridColumn: "1 / span 1" } : void 0,
21
+ onClick: (a) => a.stopPropagation(),
22
+ onKeyDown: (a) => a.stopPropagation(),
23
+ children: /* @__PURE__ */ s("div", { className: "table-selection-control", children: /* @__PURE__ */ s(L, { checked: b, onChange: x }) })
24
+ }
25
+ );
26
+ }, me = (C) => {
27
+ const { children: b, className: m, noHover: x, parentKey: R, ...a } = C, e = z(), l = Y(), o = q(), P = G(), y = J(), w = F(0);
28
+ w.current = 0;
29
+ const [S, g] = H(!0), f = j(), D = U(
30
+ () => f ? {
31
+ initial: { opacity: 0 },
32
+ animate: {
33
+ opacity: 1,
34
+ transition: { duration: u, ease: "easeInOut" }
35
+ },
36
+ exit: {
37
+ opacity: 0,
38
+ transition: { duration: u, ease: "easeInOut" }
39
+ }
40
+ } : {
41
+ initial: { opacity: 0, height: 0, y: -8 },
42
+ animate: {
43
+ opacity: 1,
44
+ height: "auto",
45
+ y: 0,
46
+ transition: { duration: u, ease: "easeOut" }
47
+ },
48
+ exit: {
49
+ opacity: 0,
50
+ height: 0,
51
+ y: -8,
52
+ transition: { duration: u, ease: "easeInOut" }
53
+ }
54
+ },
55
+ [f]
56
+ );
57
+ if (!l || !e || !o || l.columns.length === 0 || P !== "body" || !y)
58
+ return null;
59
+ const c = a, n = y.nextRowIndex(), t = W(c, n, e.rowKey), k = typeof e.rowAnimationProps == "function" ? e.rowAnimationProps(c, n) : e.rowAnimationProps, i = Z({
60
+ isClickable: o.isClickable,
61
+ onRowClick: (r, d) => {
62
+ o.onRowClick?.(r, d), o.onActiveRowChange?.(
63
+ o.activeRowId === t ? void 0 : t,
64
+ r,
65
+ d
66
+ );
67
+ },
68
+ row: c,
69
+ rowIndex: n
70
+ });
71
+ let p;
72
+ e.expandedRowAnimation !== !1 && (p = {
73
+ ...D,
74
+ ...k
75
+ });
76
+ const h = o.selectedRowIdSet.has(t), v = A(
77
+ "table-row",
78
+ "table-row-expanded-data",
79
+ !e.isTableView && "divider-y-1 divider-color-lighter divider-style-solid",
80
+ o.activeRowId === t && "table-row-active",
81
+ h && "table-row-selected",
82
+ i.isClickableClassName,
83
+ x && "table-row-no-hover",
84
+ !e.isTableView && e.cardClasses.rowClassName,
85
+ m,
86
+ X(e.rowClassName, c, n)
87
+ ), O = o.showSelectionColumn && /* @__PURE__ */ s(
88
+ $,
89
+ {
90
+ isSelected: h,
91
+ isTableView: e.isTableView,
92
+ onToggleSelection: () => o.onToggleRowSelection?.(t),
93
+ cardCellClassName: e.cardClasses.cellClassName
94
+ }
95
+ ), T = /* @__PURE__ */ _(M, { children: [
96
+ O,
97
+ b
98
+ ] }), K = {
99
+ ...I(a),
100
+ className: v,
101
+ "data-index": n,
102
+ "data-row-id": String(t),
103
+ onClick: i.onClick,
104
+ onKeyDown: i.onKeyDown,
105
+ role: "row",
106
+ tabIndex: i.tabIndex
107
+ }, E = {
108
+ ...I(a),
109
+ className: v,
110
+ "data-index": n,
111
+ "data-row-id": String(t),
112
+ onClick: i.onClick,
113
+ onKeyDown: i.onKeyDown,
114
+ role: "row",
115
+ tabIndex: i.tabIndex,
116
+ onAnimationStart: () => g(!0),
117
+ onAnimationComplete: () => g(!1),
118
+ ...p,
119
+ style: {
120
+ ...p?.style ?? {},
121
+ overflow: S ? "hidden" : "visible"
122
+ }
123
+ }, N = /* @__PURE__ */ s(
124
+ Q.Provider,
125
+ {
126
+ value: {
127
+ nextColumnIndex: (r, d = 1) => {
128
+ if (r !== void 0 && r >= 0)
129
+ return w.current = r + d, r;
130
+ const V = w.current;
131
+ return w.current += d, V;
132
+ },
133
+ rowIndex: n,
134
+ rowId: t,
135
+ rowData: c
136
+ },
137
+ children: p ? /* @__PURE__ */ s(B.div, { ...E, children: T }) : /* @__PURE__ */ s("div", { ...K, children: T })
138
+ }
139
+ );
140
+ return l.renderDraft.hasExpandableRows = !0, l.renderDraft.bodyRows.push({
141
+ rowId: t,
142
+ rowIndex: n,
143
+ kind: "expanded",
144
+ render: () => N
145
+ }), l.isRegisteringBodyRows ? null : N;
146
+ };
2
147
  export {
3
- e as default
148
+ me as default
4
149
  };
5
150
  //# sourceMappingURL=TableExpandedRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableExpandedRow.js","sources":["../../../src/components/table/TableExpandedRow.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nexport type TableExpandedRowProps<RowType extends Record<string, unknown>> = PropsWithChildren<\n {\n /**\n * Parent row key used to associate this expanded row with its parent.\n */\n parentKey: string | number;\n\n /**\n * Optional class names only for this expanded row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n } & Partial<RowType>\n>;\n\nconst TableExpandedRow = <RowType extends Record<string, unknown> = Record<string, unknown>>(\n _props: TableExpandedRowProps<RowType>\n) => null;\n\nexport default TableExpandedRow;\n"],"names":["TableExpandedRow","_props"],"mappings":"AAqBA,MAAMA,IAAmB,CACrBC,MACC;"}
1
+ {"version":3,"file":"TableExpandedRow.js","sources":["../../../src/components/table/TableExpandedRow.tsx"],"sourcesContent":["import { motion, type HTMLMotionProps, useReducedMotion, type MotionProps } from 'motion/react';\nimport { useMemo, useRef, useState, type ReactNode } from 'react';\n\nimport Checkbox from '../checkbox/Checkbox';\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes, TableRowData } from './Table.types';\nimport { resolveRowClassName, resolveRowKey } from './model/resolveRowMeta';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport {\n extractTableHtmlAttributes,\n TableRowContext,\n useTableBodyContext,\n useOptionalTableSection,\n} from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\nimport { getInteractiveRowProps } from './shared/getInteractiveRowProps';\n\nconst DEFAULT_EXPANDED_ROW_DURATION = 0.18;\n\nexport type TableExpandedRowProps<RowType extends TableRowData> = TableHtmlAttributes &\n Partial<RowType> & {\n /**\n * Parent row key used to associate this expanded row with its parent.\n */\n parentKey: string | number;\n\n /**\n * Optional class names only for this expanded row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n\n /**\n * Table row content.\n */\n children?: ReactNode;\n };\n\ntype TableExpandedRowSelectionCellProps = {\n isSelected: boolean;\n isTableView: boolean;\n onToggleSelection?: () => void;\n cardCellClassName?: string;\n};\n\nconst TableExpandedRowSelectionCell = (props: TableExpandedRowSelectionCellProps) => {\n const { isSelected, isTableView, onToggleSelection, cardCellClassName } = props;\n return (\n <div\n className={classNames('table-cell table-selection-cell', !isTableView && cardCellClassName)}\n role='cell'\n aria-colindex={1}\n style={isTableView ? { gridColumn: '1 / span 1' } : undefined}\n onClick={event => event.stopPropagation()}\n onKeyDown={event => event.stopPropagation()}\n >\n <div className='table-selection-control'>\n <Checkbox checked={isSelected} onChange={onToggleSelection} />\n </div>\n </div>\n );\n};\n\nconst TableExpandedRow = <RowType extends TableRowData = TableRowData>(props: TableExpandedRowProps<RowType>) => {\n const { children, className, noHover, parentKey: _parentKey, ...remainingProps } = props;\n\n const renderConfigContext = useOptionalTableRenderConfigContext<RowType>();\n const renderContext = useOptionalTableRenderContext<RowType>();\n const interactionContext = useOptionalTableInteractionContext<RowType>();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n const cellIndexRef = useRef(0);\n cellIndexRef.current = 0;\n\n const [isAnimating, setIsAnimating] = useState(true);\n const shouldReduceMotion = useReducedMotion();\n\n const animation = useMemo(\n () =>\n shouldReduceMotion\n ? {\n initial: { opacity: 0 },\n animate: {\n opacity: 1,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n exit: {\n opacity: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n }\n : {\n initial: { opacity: 0, height: 0, y: -8 },\n animate: {\n opacity: 1,\n height: 'auto',\n y: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeOut' as const },\n },\n exit: {\n opacity: 0,\n height: 0,\n y: -8,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n },\n [shouldReduceMotion]\n );\n\n if (\n !renderContext ||\n !renderConfigContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowData = remainingProps as unknown as RowType;\n const rowIndex = bodyContext.nextRowIndex();\n const rowId = resolveRowKey(rowData, rowIndex, renderConfigContext.rowKey);\n\n const resolvedRowAnimationProps =\n typeof renderConfigContext.rowAnimationProps === 'function'\n ? renderConfigContext.rowAnimationProps(rowData, rowIndex)\n : renderConfigContext.rowAnimationProps;\n\n const interactiveRowProps = getInteractiveRowProps({\n isClickable: interactionContext.isClickable,\n onRowClick: (clickedRow, clickedRowIndex) => {\n interactionContext.onRowClick?.(clickedRow, clickedRowIndex);\n interactionContext.onActiveRowChange?.(\n interactionContext.activeRowId === rowId ? undefined : rowId,\n clickedRow,\n clickedRowIndex\n );\n },\n row: rowData,\n rowIndex,\n });\n\n let mergedRowAnimationProps: MotionProps | undefined;\n\n if (renderConfigContext.expandedRowAnimation !== false) {\n mergedRowAnimationProps = {\n ...animation,\n ...resolvedRowAnimationProps,\n };\n }\n\n const isSelected = interactionContext.selectedRowIdSet.has(rowId);\n\n const rowClassNames = classNames(\n 'table-row',\n 'table-row-expanded-data',\n !renderConfigContext.isTableView && 'divider-y-1 divider-color-lighter divider-style-solid',\n interactionContext.activeRowId === rowId && 'table-row-active',\n isSelected && 'table-row-selected',\n interactiveRowProps.isClickableClassName,\n noHover && 'table-row-no-hover',\n !renderConfigContext.isTableView && renderConfigContext.cardClasses.rowClassName,\n className,\n resolveRowClassName(renderConfigContext.rowClassName, rowData, rowIndex)\n );\n\n const selectionCell = interactionContext.showSelectionColumn && (\n <TableExpandedRowSelectionCell\n isSelected={isSelected}\n isTableView={renderConfigContext.isTableView}\n onToggleSelection={() => interactionContext.onToggleRowSelection?.(rowId)}\n cardCellClassName={renderConfigContext.cardClasses.cellClassName}\n />\n );\n\n const rowContent = (\n <>\n {selectionCell}\n {children}\n </>\n );\n\n const staticRowProps = {\n ...extractTableHtmlAttributes(remainingProps),\n className: rowClassNames,\n 'data-index': rowIndex,\n 'data-row-id': String(rowId),\n onClick: interactiveRowProps.onClick,\n onKeyDown: interactiveRowProps.onKeyDown,\n role: 'row' as const,\n tabIndex: interactiveRowProps.tabIndex,\n };\n\n const animatedRowProps = {\n ...(extractTableHtmlAttributes(remainingProps) as Omit<\n HTMLMotionProps<'div'>,\n 'children' | 'className' | 'data-row-id' | 'onClick' | 'onKeyDown' | 'role' | 'style' | 'tabIndex'\n >),\n className: rowClassNames,\n 'data-index': rowIndex,\n 'data-row-id': String(rowId),\n onClick: interactiveRowProps.onClick,\n onKeyDown: interactiveRowProps.onKeyDown,\n role: 'row' as const,\n tabIndex: interactiveRowProps.tabIndex,\n onAnimationStart: () => setIsAnimating(true),\n onAnimationComplete: () => setIsAnimating(false),\n ...mergedRowAnimationProps,\n style: {\n ...(mergedRowAnimationProps?.style ?? {}),\n overflow: isAnimating ? 'hidden' : 'visible',\n },\n };\n\n const rowNode = (\n <TableRowContext.Provider\n value={{\n nextColumnIndex: (explicitColumnIndex, span = 1) => {\n if (explicitColumnIndex !== undefined && explicitColumnIndex >= 0) {\n cellIndexRef.current = explicitColumnIndex + span;\n return explicitColumnIndex;\n }\n\n const nextIndex = cellIndexRef.current;\n cellIndexRef.current += span;\n return nextIndex;\n },\n rowIndex,\n rowId,\n rowData,\n }}\n >\n {mergedRowAnimationProps ? (\n <motion.div {...animatedRowProps}>{rowContent}</motion.div>\n ) : (\n <div {...staticRowProps}>{rowContent}</div>\n )}\n </TableRowContext.Provider>\n );\n\n renderContext.renderDraft.hasExpandableRows = true;\n renderContext.renderDraft.bodyRows.push({\n rowId,\n rowIndex,\n kind: 'expanded',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableExpandedRow;\n"],"names":["DEFAULT_EXPANDED_ROW_DURATION","TableExpandedRowSelectionCell","props","isSelected","isTableView","onToggleSelection","cardCellClassName","jsx","classNames","event","Checkbox","TableExpandedRow","children","className","noHover","_parentKey","remainingProps","renderConfigContext","useOptionalTableRenderConfigContext","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","cellIndexRef","useRef","isAnimating","setIsAnimating","useState","shouldReduceMotion","useReducedMotion","animation","useMemo","rowData","rowIndex","rowId","resolveRowKey","resolvedRowAnimationProps","interactiveRowProps","getInteractiveRowProps","clickedRow","clickedRowIndex","mergedRowAnimationProps","rowClassNames","resolveRowClassName","selectionCell","rowContent","jsxs","Fragment","staticRowProps","extractTableHtmlAttributes","animatedRowProps","rowNode","TableRowContext","explicitColumnIndex","span","nextIndex","motion"],"mappings":"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"}
@@ -1,22 +1,24 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import r from "../button/Button.js";
3
- import l from "../../utils/classNames.js";
4
- const p = (e) => {
5
- const { expanded: o = !1, disabled: t = !1, onClick: a, className: s } = e;
6
- return /* @__PURE__ */ n(
7
- r,
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import i from "../button/Button.js";
3
+ import m from "../../utils/classNames.js";
4
+ import { useOptionalTableRenderContext as p } from "./context/TableRenderContext.js";
5
+ const x = (o) => {
6
+ const { expanded: r = !1, disabled: t = !1, onClick: n, className: a, ...s } = o, e = p();
7
+ return e && (e.renderDraft.hasExpandableRows = !0), /* @__PURE__ */ l(
8
+ i,
8
9
  {
10
+ ...s,
9
11
  bsStyle: "muted",
10
12
  bsSize: "xs",
11
13
  iconOnly: !0,
12
14
  disabled: t,
13
- iconName: o ? "rioglyph-chevron-up" : "rioglyph-chevron-down",
14
- className: l("table-expander-button", s),
15
- onClick: a
15
+ iconName: r ? "rioglyph-chevron-up" : "rioglyph-chevron-down",
16
+ className: m("table-expander-button", a),
17
+ onClick: n
16
18
  }
17
19
  );
18
20
  };
19
21
  export {
20
- p as default
22
+ x as default
21
23
  };
22
24
  //# sourceMappingURL=TableExpanderButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableExpanderButton.js","sources":["../../../src/components/table/TableExpanderButton.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\n\nimport Button from '../button/Button';\nimport classNames from '../../utils/classNames';\n\nexport type TableExpanderButtonProps = {\n /**\n * Controls whether the related row is currently expanded.\n *\n * @default false\n */\n expanded?: boolean;\n\n /**\n * Disables the expander button.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Callback triggered when the expander button is clicked.\n */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Optional additional class names for the button element.\n */\n className?: string;\n};\n\nconst TableExpanderButton = (props: TableExpanderButtonProps) => {\n const { expanded = false, disabled = false, onClick, className } = props;\n\n return (\n <Button\n bsStyle='muted'\n bsSize='xs'\n iconOnly\n disabled={disabled}\n iconName={expanded ? 'rioglyph-chevron-up' : 'rioglyph-chevron-down'}\n className={classNames('table-expander-button', className)}\n onClick={onClick}\n />\n );\n};\n\nexport default TableExpanderButton;\n"],"names":["TableExpanderButton","props","expanded","disabled","onClick","className","jsx","Button","classNames"],"mappings":";;;AA+BA,MAAMA,IAAsB,CAACC,MAAoC;AAC7D,QAAM,EAAE,UAAAC,IAAW,IAAO,UAAAC,IAAW,IAAO,SAAAC,GAAS,WAAAC,MAAcJ;AAEnE,SACI,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,UAAQ;AAAA,MACR,UAAAJ;AAAA,MACA,UAAUD,IAAW,wBAAwB;AAAA,MAC7C,WAAWM,EAAW,yBAAyBH,CAAS;AAAA,MACxD,SAAAD;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
1
+ {"version":3,"file":"TableExpanderButton.js","sources":["../../../src/components/table/TableExpanderButton.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\n\nimport Button from '../button/Button';\nimport classNames from '../../utils/classNames';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableExpanderButtonProps = {\n /**\n * Controls whether the related row is currently expanded.\n *\n * @default false\n */\n expanded?: boolean;\n\n /**\n * Disables the expander button.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Callback triggered when the expander button is clicked.\n */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Optional additional class names for the button element.\n */\n className?: string;\n};\n\nconst TableExpanderButton = (props: TableExpanderButtonProps) => {\n const { expanded = false, disabled = false, onClick, className, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n\n if (renderContext) {\n renderContext.renderDraft.hasExpandableRows = true;\n }\n\n return (\n <Button\n {...remainingProps}\n bsStyle='muted'\n bsSize='xs'\n iconOnly\n disabled={disabled}\n iconName={expanded ? 'rioglyph-chevron-up' : 'rioglyph-chevron-down'}\n className={classNames('table-expander-button', className)}\n onClick={onClick}\n />\n );\n};\n\nexport default TableExpanderButton;\n"],"names":["TableExpanderButton","props","expanded","disabled","onClick","className","remainingProps","renderContext","useOptionalTableRenderContext","jsx","Button","classNames"],"mappings":";;;;AAgCA,MAAMA,IAAsB,CAACC,MAAoC;AAC7D,QAAM,EAAE,UAAAC,IAAW,IAAO,UAAAC,IAAW,IAAO,SAAAC,GAAS,WAAAC,GAAW,GAAGC,EAAA,IAAmBL,GAEhFM,IAAgBC,EAAA;AAEtB,SAAID,MACAA,EAAc,YAAY,oBAAoB,KAI9C,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACI,GAAGJ;AAAA,MACJ,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,UAAQ;AAAA,MACR,UAAAH;AAAA,MACA,UAAUD,IAAW,wBAAwB;AAAA,MAC7C,WAAWS,EAAW,yBAAyBN,CAAS;AAAA,MACxD,SAAAD;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -1,13 +1,17 @@
1
- import { PropsWithChildren, ReactNode } from 'react';
2
- export type TableFooterProps = PropsWithChildren<{
1
+ import { ReactNode } from 'react';
2
+ import { TableHtmlAttributes } from './Table.types';
3
+ export type TableFooterProps = TableHtmlAttributes & {
3
4
  /**
4
- * Optional content spanning all footer columns.
5
+ * The footer content.
6
+ *
7
+ * Use `TableColumn` children for cell-based footers, or arbitrary content
8
+ * for a full-width footer row.
5
9
  */
6
- content?: ReactNode;
10
+ children?: ReactNode;
7
11
  /**
8
12
  * Optional class names for footer row.
9
13
  */
10
14
  className?: string;
11
- }>;
12
- declare const TableFooter: (_props: TableFooterProps) => null;
15
+ };
16
+ declare const TableFooter: (props: TableFooterProps) => import("react/jsx-runtime").JSX.Element | null;
13
17
  export default TableFooter;
@@ -1,5 +1,52 @@
1
- const e = (o) => null;
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { useRef as p } from "react";
3
+ import f from "../../utils/classNames.js";
4
+ import w from "./render/footer/TableFooterContent.js";
5
+ import { useOptionalTableInteractionContext as x } from "./context/TableInteractionContext.js";
6
+ import { useOptionalTableLayoutContext as F } from "./context/TableLayoutContext.js";
7
+ import { useOptionalTableRenderConfigContext as T } from "./context/TableRenderConfigContext.js";
8
+ import { TableSectionContext as R, TableRowContext as v } from "./context/TableStructureContext.js";
9
+ import { useOptionalTableRenderContext as g } from "./context/TableRenderContext.js";
10
+ const L = (u) => {
11
+ const { children: n, className: m, ...d } = u, l = T(), e = g(), a = x(), s = F(), t = p(0);
12
+ if (t.current = 0, !l || !e || !a || !s || e.columns.length === 0 || !l.isTableView)
13
+ return null;
14
+ const C = e.columns.length + (a.showSelectionColumn ? 1 : 0), i = e.hasFooterCells !== !1, b = !i;
15
+ return e.renderDraft.hasFooter = !0, e.renderDraft.hasFooterCells = !1, /* @__PURE__ */ o(
16
+ "div",
17
+ {
18
+ ...d,
19
+ className: f("table-footer", b && "table-footer-full-width"),
20
+ role: "rowgroup",
21
+ children: /* @__PURE__ */ o(
22
+ "div",
23
+ {
24
+ className: f("table-row table-row-footer", m),
25
+ role: "row",
26
+ ref: s.tableFooterRowRef,
27
+ children: i ? /* @__PURE__ */ o(R.Provider, { value: "footer", children: /* @__PURE__ */ o(
28
+ v.Provider,
29
+ {
30
+ value: {
31
+ nextColumnIndex: (r, c = 1) => {
32
+ if (r !== void 0 && r >= 0)
33
+ return t.current = r + c, r;
34
+ const h = t.current;
35
+ return t.current += c, h;
36
+ },
37
+ rowData: {},
38
+ rowId: "__footer__",
39
+ rowIndex: -1
40
+ },
41
+ children: n
42
+ }
43
+ ) }) : /* @__PURE__ */ o(w, { columnCount: C, content: n })
44
+ }
45
+ )
46
+ }
47
+ );
48
+ };
2
49
  export {
3
- e as default
50
+ L as default
4
51
  };
5
52
  //# sourceMappingURL=TableFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableFooter.js","sources":["../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactNode } from 'react';\n\nexport type TableFooterProps = PropsWithChildren<{\n /**\n * Optional content spanning all footer columns.\n */\n content?: ReactNode;\n\n /**\n * Optional class names for footer row.\n */\n className?: string;\n}>;\n\nconst TableFooter = (_props: TableFooterProps) => null;\n\nexport default TableFooter;\n"],"names":["TableFooter","_props"],"mappings":"AAcA,MAAMA,IAAc,CAACC,MAA6B;"}
1
+ {"version":3,"file":"TableFooter.js","sources":["../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import { useRef, type ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport TableFooterContent from './render/footer/TableFooterContent';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableLayoutContext } from './context/TableLayoutContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport { TableRowContext, TableSectionContext } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableFooterProps = TableHtmlAttributes & {\n /**\n * The footer content.\n *\n * Use `TableColumn` children for cell-based footers, or arbitrary content\n * for a full-width footer row.\n */\n children?: ReactNode;\n\n /**\n * Optional class names for footer row.\n */\n className?: string;\n};\n\nconst TableFooter = (props: TableFooterProps) => {\n const { children, className, ...remainingProps } = props;\n\n const renderConfigContext = useOptionalTableRenderConfigContext();\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const layoutContext = useOptionalTableLayoutContext();\n\n const cellIndexRef = useRef(0);\n cellIndexRef.current = 0;\n\n if (\n !renderConfigContext ||\n !renderContext ||\n !interactionContext ||\n !layoutContext ||\n renderContext.columns.length === 0\n ) {\n return null;\n }\n\n if (!renderConfigContext.isTableView) {\n return null;\n }\n\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n const shouldRenderFooterCells = renderContext.hasFooterCells !== false;\n const isFullWidthFooter = !shouldRenderFooterCells;\n\n renderContext.renderDraft.hasFooter = true;\n renderContext.renderDraft.hasFooterCells = false;\n\n return (\n <div\n {...remainingProps}\n className={classNames('table-footer', isFullWidthFooter && 'table-footer-full-width')}\n role='rowgroup'\n >\n <div\n className={classNames('table-row table-row-footer', className)}\n role='row'\n ref={layoutContext.tableFooterRowRef}\n >\n {shouldRenderFooterCells ? (\n <TableSectionContext.Provider value='footer'>\n <TableRowContext.Provider\n value={{\n nextColumnIndex: (explicitColumnIndex, span = 1) => {\n if (explicitColumnIndex !== undefined && explicitColumnIndex >= 0) {\n cellIndexRef.current = explicitColumnIndex + span;\n return explicitColumnIndex;\n }\n\n const nextIndex = cellIndexRef.current;\n cellIndexRef.current += span;\n return nextIndex;\n },\n rowData: {},\n rowId: '__footer__',\n rowIndex: -1,\n }}\n >\n {children}\n </TableRowContext.Provider>\n </TableSectionContext.Provider>\n ) : (\n <TableFooterContent columnCount={columnCount} content={children} />\n )}\n </div>\n </div>\n );\n};\n\nexport default TableFooter;\n"],"names":["TableFooter","props","children","className","remainingProps","renderConfigContext","useOptionalTableRenderConfigContext","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","layoutContext","useOptionalTableLayoutContext","cellIndexRef","useRef","columnCount","shouldRenderFooterCells","isFullWidthFooter","jsx","classNames","TableSectionContext","TableRowContext","explicitColumnIndex","span","nextIndex","TableFooterContent"],"mappings":";;;;;;;;;AA0BA,MAAMA,IAAc,CAACC,MAA4B;AAC7C,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,MAAmBH,GAE7CI,IAAsBC,EAAA,GACtBC,IAAgBC,EAAA,GAChBC,IAAqBC,EAAA,GACrBC,IAAgBC,EAAA,GAEhBC,IAAeC,EAAO,CAAC;AAa7B,MAZAD,EAAa,UAAU,GAGnB,CAACR,KACD,CAACE,KACD,CAACE,KACD,CAACE,KACDJ,EAAc,QAAQ,WAAW,KAKjC,CAACF,EAAoB;AACrB,WAAO;AAGX,QAAMU,IAAcR,EAAc,QAAQ,UAAUE,EAAmB,sBAAsB,IAAI,IAC3FO,IAA0BT,EAAc,mBAAmB,IAC3DU,IAAoB,CAACD;AAE3B,SAAAT,EAAc,YAAY,YAAY,IACtCA,EAAc,YAAY,iBAAiB,IAGvC,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGd;AAAA,MACJ,WAAWe,EAAW,gBAAgBF,KAAqB,yBAAyB;AAAA,MACpF,MAAK;AAAA,MAEL,UAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAWC,EAAW,8BAA8BhB,CAAS;AAAA,UAC7D,MAAK;AAAA,UACL,KAAKQ,EAAc;AAAA,UAElB,cACG,gBAAAO,EAACE,EAAoB,UAApB,EAA6B,OAAM,UAChC,UAAA,gBAAAF;AAAA,YAACG,EAAgB;AAAA,YAAhB;AAAA,cACG,OAAO;AAAA,gBACH,iBAAiB,CAACC,GAAqBC,IAAO,MAAM;AAChD,sBAAID,MAAwB,UAAaA,KAAuB;AAC5D,2BAAAT,EAAa,UAAUS,IAAsBC,GACtCD;AAGX,wBAAME,IAAYX,EAAa;AAC/B,yBAAAA,EAAa,WAAWU,GACjBC;AAAA,gBACX;AAAA,gBACA,SAAS,CAAA;AAAA,gBACT,OAAO;AAAA,gBACP,UAAU;AAAA,cAAA;AAAA,cAGb,UAAAtB;AAAA,YAAA;AAAA,UAAA,GAET,IAEA,gBAAAgB,EAACO,GAAA,EAAmB,aAAAV,GAA0B,SAASb,EAAA,CAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAEzE;AAAA,EAAA;AAGZ;"}
@@ -1,10 +1,10 @@
1
- import { PropsWithChildren, ReactNode } from 'react';
2
- export type TableGroupFooterRowProps = PropsWithChildren<{
1
+ import { ReactNode } from 'react';
2
+ import { TableHtmlAttributes } from './Table.types';
3
+ export type TableGroupFooterRowProps = TableHtmlAttributes & {
3
4
  /**
4
- * Optional explicit content for the full-width group footer row.
5
- * If omitted, `children` are used.
5
+ * The content of the full-width group footer row.
6
6
  */
7
- content?: ReactNode;
7
+ children?: ReactNode;
8
8
  /**
9
9
  * Optional class names only for this group footer row.
10
10
  */
@@ -13,6 +13,6 @@ export type TableGroupFooterRowProps = PropsWithChildren<{
13
13
  * Disable table hover styling for this row.
14
14
  */
15
15
  noHover?: boolean;
16
- }>;
17
- declare const TableGroupFooterRow: (_props: TableGroupFooterRowProps) => null;
16
+ };
17
+ declare const TableGroupFooterRow: (props: TableGroupFooterRowProps) => import("react/jsx-runtime").JSX.Element | null;
18
18
  export default TableGroupFooterRow;
@@ -1,5 +1,30 @@
1
- const e = (o) => null;
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import p from "../../utils/classNames.js";
3
+ import { useOptionalTableInteractionContext as b } from "./context/TableInteractionContext.js";
4
+ import { useOptionalTableSection as w, useTableBodyContext as x } from "./context/TableStructureContext.js";
5
+ import { useOptionalTableRenderContext as f } from "./context/TableRenderContext.js";
6
+ const v = (s) => {
7
+ const { children: a, className: c, noHover: i, ...d } = s, o = f(), n = b(), m = w(), r = x();
8
+ if (!o || !n || o.columns.length === 0 || m !== "body" || !r)
9
+ return null;
10
+ const e = r.nextRowIndex(), u = o.columns.length + (n.showSelectionColumn ? 1 : 0), l = /* @__PURE__ */ t(
11
+ "div",
12
+ {
13
+ ...d,
14
+ className: p("table-row", "table-row-group-footer", i && "table-row-no-hover", c),
15
+ "data-index": e,
16
+ role: "row",
17
+ children: /* @__PURE__ */ t("div", { className: "table-cell table-group-cell", role: "cell", "aria-colspan": u, children: /* @__PURE__ */ t("div", { className: "table-cell-content", children: a }) })
18
+ }
19
+ );
20
+ return o.renderDraft.bodyRows.push({
21
+ rowId: `group-footer-${e}`,
22
+ rowIndex: e,
23
+ kind: "group-footer",
24
+ render: () => l
25
+ }), o.isRegisteringBodyRows ? null : l;
26
+ };
2
27
  export {
3
- e as default
28
+ v as default
4
29
  };
5
30
  //# sourceMappingURL=TableGroupFooterRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableGroupFooterRow.js","sources":["../../../src/components/table/TableGroupFooterRow.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactNode } from 'react';\n\nexport type TableGroupFooterRowProps = PropsWithChildren<{\n /**\n * Optional explicit content for the full-width group footer row.\n * If omitted, `children` are used.\n */\n content?: ReactNode;\n\n /**\n * Optional class names only for this group footer row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n}>;\n\nconst TableGroupFooterRow = (_props: TableGroupFooterRowProps) => null;\n\nexport default TableGroupFooterRow;\n"],"names":["TableGroupFooterRow","_props"],"mappings":"AAoBA,MAAMA,IAAsB,CAACC,MAAqC;"}
1
+ {"version":3,"file":"TableGroupFooterRow.js","sources":["../../../src/components/table/TableGroupFooterRow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useTableBodyContext, useOptionalTableSection } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableGroupFooterRowProps = TableHtmlAttributes & {\n /**\n * The content of the full-width group footer row.\n */\n children?: ReactNode;\n\n /**\n * Optional class names only for this group footer row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n};\n\nconst TableGroupFooterRow = (props: TableGroupFooterRowProps) => {\n const { children, className, noHover, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n if (\n !renderContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowIndex = bodyContext.nextRowIndex();\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n\n const rowNode = (\n <div\n {...remainingProps}\n className={classNames('table-row', 'table-row-group-footer', noHover && 'table-row-no-hover', className)}\n data-index={rowIndex}\n role='row'\n >\n <div className='table-cell table-group-cell' role='cell' aria-colspan={columnCount}>\n <div className='table-cell-content'>{children}</div>\n </div>\n </div>\n );\n\n renderContext.renderDraft.bodyRows.push({\n rowId: `group-footer-${rowIndex}`,\n rowIndex,\n kind: 'group-footer',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableGroupFooterRow;\n"],"names":["TableGroupFooterRow","props","children","className","noHover","remainingProps","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","rowIndex","columnCount","rowNode","jsx","classNames"],"mappings":";;;;;AAyBA,MAAMA,IAAsB,CAACC,MAAoC;AAC7D,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAAC,GAAS,GAAGC,MAAmBJ,GAEtDK,IAAgBC,EAAA,GAChBC,IAAqBC,EAAA,GACrBC,IAAUC,EAAA,GACVC,IAAcC,EAAA;AAEpB,MACI,CAACP,KACD,CAACE,KACDF,EAAc,QAAQ,WAAW,KACjCI,MAAY,UACZ,CAACE;AAED,WAAO;AAGX,QAAME,IAAWF,EAAY,aAAA,GACvBG,IAAcT,EAAc,QAAQ,UAAUE,EAAmB,sBAAsB,IAAI,IAE3FQ,IACF,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGZ;AAAA,MACJ,WAAWa,EAAW,aAAa,0BAA0Bd,KAAW,sBAAsBD,CAAS;AAAA,MACvG,cAAYW;AAAA,MACZ,MAAK;AAAA,MAEL,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,+BAA8B,MAAK,QAAO,gBAAcF,GACnE,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAf,GAAS,EAAA,CAClD;AAAA,IAAA;AAAA,EAAA;AAIR,SAAAI,EAAc,YAAY,SAAS,KAAK;AAAA,IACpC,OAAO,gBAAgBQ,CAAQ;AAAA,IAC/B,UAAAA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,MAAME;AAAA,EAAA,CACjB,GAEMV,EAAc,wBAAwB,OAAOU;AACxD;"}
@@ -1,10 +1,10 @@
1
- import { PropsWithChildren, ReactNode } from 'react';
2
- export type TableGroupRowProps = PropsWithChildren<{
1
+ import { ReactNode } from 'react';
2
+ import { TableHtmlAttributes } from './Table.types';
3
+ export type TableGroupRowProps = TableHtmlAttributes & {
3
4
  /**
4
- * Optional explicit content for the full-width group row.
5
- * If omitted, `children` are used.
5
+ * The content of the full-width group row.
6
6
  */
7
- content?: ReactNode;
7
+ children?: ReactNode;
8
8
  /**
9
9
  * Keeps the group row sticky at the top of a scrollable table body.
10
10
  *
@@ -19,6 +19,6 @@ export type TableGroupRowProps = PropsWithChildren<{
19
19
  * Disable table hover styling for this row.
20
20
  */
21
21
  noHover?: boolean;
22
- }>;
23
- declare const TableGroupRow: (_props: TableGroupRowProps) => null;
22
+ };
23
+ declare const TableGroupRow: (props: TableGroupRowProps) => import("react/jsx-runtime").JSX.Element | null;
24
24
  export default TableGroupRow;
@@ -1,5 +1,36 @@
1
- const l = (o) => null;
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import b from "../../utils/classNames.js";
3
+ import { useOptionalTableInteractionContext as w } from "./context/TableInteractionContext.js";
4
+ import { useOptionalTableSection as x, useTableBodyContext as g } from "./context/TableStructureContext.js";
5
+ import { useOptionalTableRenderContext as f } from "./context/TableRenderContext.js";
6
+ const v = (s) => {
7
+ const { children: a, className: c, noHover: i, sticky: d, ...u } = s, o = f(), n = w(), m = x(), r = g();
8
+ if (!o || !n || o.columns.length === 0 || m !== "body" || !r)
9
+ return null;
10
+ const e = r.nextRowIndex(), p = o.columns.length + (n.showSelectionColumn ? 1 : 0), l = /* @__PURE__ */ t(
11
+ "div",
12
+ {
13
+ ...u,
14
+ className: b(
15
+ "table-row",
16
+ "table-row-group",
17
+ d && "table-row-group-sticky",
18
+ i && "table-row-no-hover",
19
+ c
20
+ ),
21
+ "data-index": e,
22
+ role: "row",
23
+ children: /* @__PURE__ */ t("div", { className: "table-cell table-group-cell", role: "cell", "aria-colspan": p, children: /* @__PURE__ */ t("div", { className: "table-cell-content", children: a }) })
24
+ }
25
+ );
26
+ return o.renderDraft.bodyRows.push({
27
+ rowId: `group-${e}`,
28
+ rowIndex: e,
29
+ kind: "group",
30
+ render: () => l
31
+ }), o.isRegisteringBodyRows ? null : l;
32
+ };
2
33
  export {
3
- l as default
34
+ v as default
4
35
  };
5
36
  //# sourceMappingURL=TableGroupRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableGroupRow.js","sources":["../../../src/components/table/TableGroupRow.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactNode } from 'react';\n\nexport type TableGroupRowProps = PropsWithChildren<{\n /**\n * Optional explicit content for the full-width group row.\n * If omitted, `children` are used.\n */\n content?: ReactNode;\n\n /**\n * Keeps the group row sticky at the top of a scrollable table body.\n *\n * @default false\n */\n sticky?: boolean;\n\n /**\n * Optional class names only for this group row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n}>;\n\nconst TableGroupRow = (_props: TableGroupRowProps) => null;\n\nexport default TableGroupRow;\n"],"names":["TableGroupRow","_props"],"mappings":"AA2BA,MAAMA,IAAgB,CAACC,MAA+B;"}
1
+ {"version":3,"file":"TableGroupRow.js","sources":["../../../src/components/table/TableGroupRow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useTableBodyContext, useOptionalTableSection } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableGroupRowProps = TableHtmlAttributes & {\n /**\n * The content of the full-width group row.\n */\n children?: ReactNode;\n\n /**\n * Keeps the group row sticky at the top of a scrollable table body.\n *\n * @default false\n */\n sticky?: boolean;\n\n /**\n * Optional class names only for this group row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n};\n\nconst TableGroupRow = (props: TableGroupRowProps) => {\n const { children, className, noHover, sticky, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n if (\n !renderContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowIndex = bodyContext.nextRowIndex();\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n\n const rowNode = (\n <div\n {...remainingProps}\n className={classNames(\n 'table-row',\n 'table-row-group',\n sticky && 'table-row-group-sticky',\n noHover && 'table-row-no-hover',\n className\n )}\n data-index={rowIndex}\n role='row'\n >\n <div className='table-cell table-group-cell' role='cell' aria-colspan={columnCount}>\n <div className='table-cell-content'>{children}</div>\n </div>\n </div>\n );\n\n renderContext.renderDraft.bodyRows.push({\n rowId: `group-${rowIndex}`,\n rowIndex,\n kind: 'group',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableGroupRow;\n"],"names":["TableGroupRow","props","children","className","noHover","sticky","remainingProps","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","rowIndex","columnCount","rowNode","jsx","classNames"],"mappings":";;;;;AAgCA,MAAMA,IAAgB,CAACC,MAA8B;AACjD,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,GAAGC,MAAmBL,GAE9DM,IAAgBC,EAAA,GAChBC,IAAqBC,EAAA,GACrBC,IAAUC,EAAA,GACVC,IAAcC,EAAA;AAEpB,MACI,CAACP,KACD,CAACE,KACDF,EAAc,QAAQ,WAAW,KACjCI,MAAY,UACZ,CAACE;AAED,WAAO;AAGX,QAAME,IAAWF,EAAY,aAAA,GACvBG,IAAcT,EAAc,QAAQ,UAAUE,EAAmB,sBAAsB,IAAI,IAE3FQ,IACF,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGZ;AAAA,MACJ,WAAWa;AAAA,QACP;AAAA,QACA;AAAA,QACAd,KAAU;AAAA,QACVD,KAAW;AAAA,QACXD;AAAA,MAAA;AAAA,MAEJ,cAAYY;AAAA,MACZ,MAAK;AAAA,MAEL,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,+BAA8B,MAAK,QAAO,gBAAcF,GACnE,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAhB,GAAS,EAAA,CAClD;AAAA,IAAA;AAAA,EAAA;AAIR,SAAAK,EAAc,YAAY,SAAS,KAAK;AAAA,IACpC,OAAO,SAASQ,CAAQ;AAAA,IACxB,UAAAA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,MAAME;AAAA,EAAA,CACjB,GAEMV,EAAc,wBAAwB,OAAOU;AACxD;"}
@@ -1,9 +1,14 @@
1
- import { PropsWithChildren } from 'react';
2
- export type TableHeaderProps<RowType extends Record<string, unknown>> = PropsWithChildren<{
1
+ import { ReactNode } from 'react';
2
+ import { TableHtmlAttributes, TableRowData } from './Table.types';
3
+ export type TableHeaderProps<RowType extends TableRowData> = TableHtmlAttributes & {
3
4
  /**
4
5
  * Additional class names for the header grid wrapper.
5
6
  */
6
7
  className?: string;
7
- }>;
8
- declare const TableHeader: <RowType extends Record<string, unknown> = Record<string, unknown>>(_props: TableHeaderProps<RowType>) => null;
8
+ /**
9
+ * Table header content.
10
+ */
11
+ children?: ReactNode;
12
+ };
13
+ declare const TableHeader: <RowType extends TableRowData = TableRowData>(props: TableHeaderProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
9
14
  export default TableHeader;
@@ -1,5 +1,107 @@
1
- const a = (e) => null;
1
+ import { jsxs as h, jsx as o } from "react/jsx-runtime";
2
+ import { useSensors as K, useSensor as O, PointerSensor as P, DndContext as E, DragOverlay as N } from "@dnd-kit/core";
3
+ import { restrictToHorizontalAxis as j } from "@dnd-kit/modifiers";
4
+ import { SortableContext as z, horizontalListSortingStrategy as L } from "@dnd-kit/sortable";
5
+ import { useRef as W, useState as v } from "react";
6
+ import k from "../../utils/classNames.js";
7
+ import V from "./render/header/TableHeaderDragOverlay.js";
8
+ import _ from "./render/header/TableHeaderSelectionCell.js";
9
+ import { resolveColumnCollisionDetection as $ } from "./render/header/resolveColumnCollisionDetection.js";
10
+ import { useOptionalTableInteractionContext as q } from "./context/TableInteractionContext.js";
11
+ import { useOptionalTableLayoutContext as B } from "./context/TableLayoutContext.js";
12
+ import { useOptionalTableRenderConfigContext as F } from "./context/TableRenderConfigContext.js";
13
+ import { TableSectionContext as f, TableHeaderContext as p } from "./context/TableStructureContext.js";
14
+ import { useOptionalTableRenderContext as G } from "./context/TableRenderContext.js";
15
+ const ie = (x) => {
16
+ const { children: s, className: S, ...w } = x, l = G(), d = F(), t = q(), n = B();
17
+ if (!l || !d || !t || !n)
18
+ return null;
19
+ const D = K(O(P, { activationConstraint: { distance: 6 } })), r = W(0);
20
+ r.current = 0;
21
+ const [c, m] = v(void 0), [b, u] = v(void 0), R = !!n.onColumnDragEnd && (n.draggableColumnKeys?.length ?? 0) > 1, i = l.header, a = i?.rowCount ?? 1, y = i ?? {
22
+ rowCount: a,
23
+ totalColumnCount: l.columns.length,
24
+ columns: []
25
+ }, H = c ? i?.columns.find((e) => (e.columnKey ?? String(e.key)) === c) : void 0, g = () => {
26
+ m(void 0), u(void 0);
27
+ }, T = (e) => {
28
+ m(String(e.active.id)), u(e.active.rect.current.initial?.width ?? void 0);
29
+ }, A = (e) => {
30
+ g();
31
+ }, I = (e) => {
32
+ g(), n.onColumnDragEnd?.(e);
33
+ }, C = R && n.draggableColumnKeys ? /* @__PURE__ */ h(
34
+ E,
35
+ {
36
+ sensors: D,
37
+ collisionDetection: $,
38
+ modifiers: [j],
39
+ onDragStart: T,
40
+ onDragCancel: A,
41
+ onDragEnd: I,
42
+ children: [
43
+ /* @__PURE__ */ o(z, { items: n.draggableColumnKeys, strategy: L, children: s }),
44
+ /* @__PURE__ */ o(N, { adjustScale: !1, dropAnimation: null, children: /* @__PURE__ */ o(
45
+ V,
46
+ {
47
+ column: H,
48
+ header: y,
49
+ showSelectionColumn: t.showSelectionColumn,
50
+ width: b
51
+ }
52
+ ) })
53
+ ]
54
+ }
55
+ ) : s;
56
+ return d.isTableView ? /* @__PURE__ */ o("div", { ...w, className: "table-head", role: "rowgroup", ref: n.tableHeadRowRef, children: /* @__PURE__ */ o(f.Provider, { value: "header", children: /* @__PURE__ */ o(
57
+ p.Provider,
58
+ {
59
+ value: {
60
+ nextHeaderRowIndex: () => {
61
+ const e = r.current;
62
+ return r.current += 1, e;
63
+ }
64
+ },
65
+ children: /* @__PURE__ */ h(
66
+ "div",
67
+ {
68
+ className: k(
69
+ "table-head-grid",
70
+ t.selectionHeaderContent && "table-head-grid-custom-selection",
71
+ S
72
+ ),
73
+ role: a === 1 ? "row" : "presentation",
74
+ style: { gridTemplateRows: `repeat(${a}, auto)` },
75
+ children: [
76
+ t.showSelectionColumn && /* @__PURE__ */ o(
77
+ _,
78
+ {
79
+ isAllSelected: t.isAllRowsSelected,
80
+ isSomeRowsSelected: t.isSomeRowsSelected,
81
+ onToggleAllSelection: t.onToggleAllSelection,
82
+ rowCount: a,
83
+ selectionHeaderContent: t.selectionHeaderContent
84
+ }
85
+ ),
86
+ C
87
+ ]
88
+ }
89
+ )
90
+ }
91
+ ) }) }) : /* @__PURE__ */ o(f.Provider, { value: "header", children: /* @__PURE__ */ o(
92
+ p.Provider,
93
+ {
94
+ value: {
95
+ nextHeaderRowIndex: () => {
96
+ const e = r.current;
97
+ return r.current += 1, e;
98
+ }
99
+ },
100
+ children: C
101
+ }
102
+ ) });
103
+ };
2
104
  export {
3
- a as default
105
+ ie as default
4
106
  };
5
107
  //# sourceMappingURL=TableHeader.js.map