@rio-cloud/rio-uikit 2.3.0 → 2.4.1

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 (76) hide show
  1. package/MapPreviousViewportButton.d.ts +2 -0
  2. package/MapPreviousViewportButton.js +5 -0
  3. package/MapPreviousViewportButton.js.map +1 -0
  4. package/Table.js +15 -14
  5. package/TableNext.js +15 -14
  6. package/components/map/components/Map.js +175 -157
  7. package/components/map/components/Map.js.map +1 -1
  8. package/components/map/components/MapContext.d.ts +2 -0
  9. package/components/map/components/MapContext.js +8 -6
  10. package/components/map/components/MapContext.js.map +1 -1
  11. package/components/map/components/MapPosition.d.ts +1 -1
  12. package/components/map/components/MapPosition.js +20 -13
  13. package/components/map/components/MapPosition.js.map +1 -1
  14. package/components/map/components/features/MapZoom.d.ts +0 -1
  15. package/components/map/components/features/MapZoom.js +12 -20
  16. package/components/map/components/features/MapZoom.js.map +1 -1
  17. package/components/map/components/features/layers/overlayLayers/IncidentsLayer.d.ts +1 -0
  18. package/components/map/components/features/layers/overlayLayers/IncidentsLayer.js +64 -62
  19. package/components/map/components/features/layers/overlayLayers/IncidentsLayer.js.map +1 -1
  20. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js +1 -1
  21. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js.map +1 -1
  22. package/components/map/components/features/settings/MapSettingsTile.d.ts +27 -0
  23. package/components/map/components/features/settings/MapSettingsTile.js +17 -17
  24. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  25. package/components/map/components/features/settings/buttons/MapPreviousViewportButton.d.ts +10 -0
  26. package/components/map/components/features/settings/buttons/MapPreviousViewportButton.js +23 -0
  27. package/components/map/components/features/settings/buttons/MapPreviousViewportButton.js.map +1 -0
  28. package/components/map/hooks/useMapViewportHistory.d.ts +19 -0
  29. package/components/map/hooks/useMapViewportHistory.js +116 -0
  30. package/components/map/hooks/useMapViewportHistory.js.map +1 -0
  31. package/components/map/icons/MapIcon.d.ts +1 -0
  32. package/components/map/icons/MapIcon.js +46 -37
  33. package/components/map/icons/MapIcon.js.map +1 -1
  34. package/components/map/utils/mapTypes.d.ts +6 -0
  35. package/components/map/utils/mapTypes.js.map +1 -1
  36. package/components/selects/BaseSelectDropdown.js +72 -76
  37. package/components/selects/BaseSelectDropdown.js.map +1 -1
  38. package/components/selects/Multiselect.d.ts +6 -0
  39. package/components/selects/Multiselect.js +131 -125
  40. package/components/selects/Multiselect.js.map +1 -1
  41. package/components/selects/Select.d.ts +6 -0
  42. package/components/selects/Select.js +79 -71
  43. package/components/selects/Select.js.map +1 -1
  44. package/components/table/Table.d.ts +2 -0
  45. package/components/table/Table.js +162 -158
  46. package/components/table/Table.js.map +1 -1
  47. package/components/table/Table.types.d.ts +6 -0
  48. package/components/table/TableExpandAllGroupsButton.d.ts +25 -0
  49. package/components/table/TableExpandAllGroupsButton.js +27 -0
  50. package/components/table/TableExpandAllGroupsButton.js.map +1 -0
  51. package/components/table/TableExpandedRow.js +77 -63
  52. package/components/table/TableExpandedRow.js.map +1 -1
  53. package/components/table/TableExpanderButton.js +11 -11
  54. package/components/table/TableExpanderButton.js.map +1 -1
  55. package/components/table/TableGroupRow.d.ts +13 -1
  56. package/components/table/TableGroupRow.js +57 -23
  57. package/components/table/TableGroupRow.js.map +1 -1
  58. package/components/table/TableHeader.js +40 -39
  59. package/components/table/TableHeader.js.map +1 -1
  60. package/components/table/TableRow.js +66 -52
  61. package/components/table/TableRow.js.map +1 -1
  62. package/components/table/context/TableRenderConfigContext.d.ts +2 -1
  63. package/components/table/context/TableRenderConfigContext.js.map +1 -1
  64. package/components/table/render/header/TableHeaderCellContent.js +4 -4
  65. package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
  66. package/components/table/render/header/TableHeaderSelectionCell.d.ts +2 -0
  67. package/components/table/render/header/TableHeaderSelectionCell.js +22 -12
  68. package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -1
  69. package/components/table/runtime/useRenderDraftState.js +1 -0
  70. package/components/table/runtime/useRenderDraftState.js.map +1 -1
  71. package/components/table/selection/useInternalTableSelectionState.js +12 -10
  72. package/components/table/selection/useInternalTableSelectionState.js.map +1 -1
  73. package/package.json +1 -1
  74. package/version.d.ts +1 -1
  75. package/version.js +1 -1
  76. package/version.js.map +1 -1
@@ -1,51 +1,52 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { forwardRef as qe, useRef as Je, Children as Qe, isValidElement as u, Fragment as Xe } from "react";
3
- import Ye from "../../utils/classNames.js";
4
- import Ze from "../../hooks/useMergeRefs.js";
5
- import _e from "./TableBody.js";
6
- import eo from "./TableColumn.js";
7
- import oo from "./TableExpanderButton.js";
8
- import ro from "./TableExpandedContentRow.js";
9
- import to from "./TableExpandedRow.js";
10
- import A from "./TableFooter.js";
11
- import lo from "./TableGroupFooterRow.js";
12
- import no from "./TableGroupRow.js";
13
- import D from "./TableHeader.js";
14
- import ao from "./TableHeaderColumn.js";
15
- import so from "./TableHeaderRow.js";
16
- import io from "./TableRow.js";
17
- import mo from "./TableStickyRowButton.js";
18
- import co from "./TableSpacerRow.js";
19
- import { useTableLayout as uo } from "./layout/useTableLayout.js";
20
- import { resolveTableClassConfig as po, resolveTableBaseClassName as bo } from "./model/resolveTableClassConfig.js";
21
- import fo from "./render/header/TableBatchDropdown.js";
22
- import Co from "./render/header/TableColumnFilter.js";
23
- import Ro from "./runtime/useRenderDraftState.js";
24
- import wo from "./runtime/useResponsiveResolvedViewType.js";
25
- import To from "./runtime/useResolvedRenderColumns.js";
26
- import ho from "./runtime/useResolvedRenderHeader.js";
27
- import yo from "./selection/useInternalTableSelectionState.js";
28
- import { TableInteractionContext as vo } from "./context/TableInteractionContext.js";
29
- import { TableLayoutContext as go } from "./context/TableLayoutContext.js";
30
- import { TableRenderConfigContext as So } from "./context/TableRenderConfigContext.js";
31
- import { TableRenderContext as xo } from "./context/TableRenderContext.js";
32
- import Bo from "./settings/TableColumnsDropdown.js";
33
- const sr = _e, ir = D, dr = so, mr = ao, cr = A, ur = eo, pr = oo, br = io, fr = mo, Cr = co, Rr = to, wr = ro, Tr = no, hr = lo, yr = fo, vr = Co, gr = Bo, c = (e, n) => Qe.toArray(e).some((o) => n(o) ? !0 : u(o) && o.type === Xe ? c(o.props.children, n) : !1), Ho = (e) => u(e) && e.type === D, Eo = (e) => u(e) && e.type === A, Sr = qe(
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { forwardRef as Je, useRef as Qe, Children as Xe, isValidElement as u, Fragment as Ye } from "react";
3
+ import Ze from "../../utils/classNames.js";
4
+ import _e from "../../hooks/useMergeRefs.js";
5
+ import eo from "./TableBody.js";
6
+ import oo from "./TableColumn.js";
7
+ import to from "./TableExpanderButton.js";
8
+ import ro from "./TableExpandAllGroupsButton.js";
9
+ import lo from "./TableExpandedContentRow.js";
10
+ import no from "./TableExpandedRow.js";
11
+ import k from "./TableFooter.js";
12
+ import ao from "./TableGroupFooterRow.js";
13
+ import so from "./TableGroupRow.js";
14
+ import V from "./TableHeader.js";
15
+ import io from "./TableHeaderColumn.js";
16
+ import mo from "./TableHeaderRow.js";
17
+ import co from "./TableRow.js";
18
+ import uo from "./TableStickyRowButton.js";
19
+ import po from "./TableSpacerRow.js";
20
+ import { useTableLayout as bo } from "./layout/useTableLayout.js";
21
+ import { resolveTableClassConfig as fo, resolveTableBaseClassName as Co } from "./model/resolveTableClassConfig.js";
22
+ import Ro from "./render/header/TableBatchDropdown.js";
23
+ import wo from "./render/header/TableColumnFilter.js";
24
+ import To from "./runtime/useRenderDraftState.js";
25
+ import ho from "./runtime/useResponsiveResolvedViewType.js";
26
+ import yo from "./runtime/useResolvedRenderColumns.js";
27
+ import vo from "./runtime/useResolvedRenderHeader.js";
28
+ import go from "./selection/useInternalTableSelectionState.js";
29
+ import { TableInteractionContext as So } from "./context/TableInteractionContext.js";
30
+ import { TableLayoutContext as xo } from "./context/TableLayoutContext.js";
31
+ import { TableRenderConfigContext as Bo } from "./context/TableRenderConfigContext.js";
32
+ import { TableRenderContext as Eo } from "./context/TableRenderContext.js";
33
+ import Ho from "./settings/TableColumnsDropdown.js";
34
+ const mt = eo, ct = V, ut = mo, pt = io, bt = k, ft = oo, Ct = to, Rt = ro, wt = co, Tt = uo, ht = po, yt = no, vt = lo, gt = so, St = ao, xt = Ro, Bt = wo, Et = Ho, c = (e, n) => Xe.toArray(e).some((o) => n(o) ? !0 : u(o) && o.type === Ye ? c(o.props.children, n) : !1), Fo = (e) => u(e) && e.type === V, $o = (e) => u(e) && e.type === k, Ht = Je(
34
35
  (e, n) => {
35
36
  const {
36
37
  children: o,
37
38
  viewType: p = "TABLE",
38
39
  cardsStyle: b,
39
- responsiveBreakpoint: V,
40
+ responsiveBreakpoint: D,
40
41
  onViewTypeChange: K,
41
42
  condensed: L = !1,
42
43
  striped: N = !1,
43
44
  hover: I = !1,
44
45
  shadow: M = !1,
45
46
  border: P = !0,
46
- rounded: O = !0,
47
- gridLines: W = !1,
48
- rowClassName: G,
47
+ rounded: G = !0,
48
+ gridLines: O = !1,
49
+ rowClassName: W,
49
50
  rowKey: j,
50
51
  rowSeparatorWidth: U,
51
52
  stickyReference: q = "applicationLayout",
@@ -58,116 +59,117 @@ const sr = _e, ir = D, dr = so, mr = ao, cr = A, ur = eo, pr = oo, br = io, fr =
58
59
  sortDirection: Z,
59
60
  onSortChange: _,
60
61
  cellClassName: ee,
62
+ selectionCheckboxVerticalAlignment: oe = "middle",
61
63
  onRowClick: C,
62
- onSelectionChange: oe,
64
+ onSelectionChange: te,
63
65
  hideSelectionCheckboxesForExcludedRows: re = !1,
64
- selectedRowIds: te,
65
- selectionHeaderContent: le,
66
- columnOrder: ne,
67
- onColumnResize: ae,
68
- onColumnOrderChange: se,
66
+ selectedRowIds: le,
67
+ selectionHeaderContent: ne,
68
+ columnOrder: ae,
69
+ onColumnResize: se,
70
+ onColumnOrderChange: ie,
69
71
  showSelectionColumn: d = !1,
70
- noRowsState: ie = "No data available",
72
+ noRowsState: de = "No data available",
71
73
  virtualizedRows: R = !1,
72
- virtualizationOverscan: de = 5,
74
+ virtualizationOverscan: me = 5,
73
75
  className: w,
74
- style: me,
75
- ...ce
76
- } = e, r = Je({ headerColumns: [], bodyRows: [] });
77
- r.current.headerColumns = [], r.current.bodyRows = [], r.current.bodyMaxHeight = void 0, r.current.hasFooter = !1, r.current.hasFooterCells = void 0, r.current.hasExpandableRows = void 0;
76
+ style: ce,
77
+ ...ue
78
+ } = e, t = Qe({ headerColumns: [], bodyRows: [] });
79
+ t.current.headerColumns = [], t.current.bodyRows = [], t.current.bodyMaxHeight = void 0, t.current.hasFooter = !1, t.current.hasFooterCells = void 0, t.current.hasExpandableRows = void 0;
78
80
  const {
79
81
  renderHeaderColumns: T,
80
82
  renderBodyRows: h,
81
83
  renderBodyMaxHeight: y,
82
- renderHasFooter: ue,
84
+ renderHasFooter: pe,
83
85
  renderHasFooterCells: v,
84
- renderHasExpandableRows: pe,
85
- renderBodyRow: be
86
- } = Ro(r), {
87
- columnDefinitionsByKey: fe,
88
- columnIndexByKey: Ce,
89
- draggableColumnKeys: Re,
86
+ renderHasExpandableRows: be,
87
+ renderBodyRow: fe
88
+ } = To(t), {
89
+ columnDefinitionsByKey: Ce,
90
+ columnIndexByKey: Re,
91
+ draggableColumnKeys: we,
90
92
  draggableColumnsEnabled: g,
91
- handleColumnDragEnd: we,
92
- handleColumnResizeReset: Te,
93
- handleColumnResizeStart: he,
94
- lastResizableColumnKey: ye,
95
- resettableColumnKeys: ve,
93
+ handleColumnDragEnd: Te,
94
+ handleColumnResizeReset: he,
95
+ handleColumnResizeStart: ye,
96
+ lastResizableColumnKey: ve,
97
+ resettableColumnKeys: ge,
96
98
  resizeColumnsEnabled: a,
97
99
  resolvedRenderColumns: s,
98
- resizedColumns: ge
99
- } = To({
100
- columnOrder: ne,
101
- onColumnOrderChange: se,
102
- onColumnResize: ae,
100
+ resizedColumns: Se
101
+ } = yo({
102
+ columnOrder: ae,
103
+ onColumnOrderChange: ie,
104
+ onColumnResize: se,
103
105
  renderHeaderColumns: T,
104
106
  viewType: p
105
- }), S = ho({
107
+ }), S = vo({
106
108
  renderHeaderColumns: T,
107
109
  resolvedRenderColumns: s,
108
110
  sortBy: Y,
109
111
  sortDirection: Z
110
- }), Se = v ?? !1, {
112
+ }), xe = v ?? !1, {
111
113
  handleBodyScroll: x,
112
- hasHorizontalScrollEndOffset: xe,
114
+ hasHorizontalScrollEndOffset: Be,
113
115
  hasHorizontalScrollStartOffset: B,
114
116
  tableUseOverflow: m,
115
- tableWrapperRef: Be,
116
- wrapperStyle: H,
117
+ tableWrapperRef: Ee,
118
+ wrapperStyle: E,
117
119
  tableHeadRowRef: He,
118
- tableFooterRowRef: Ee,
119
- wrapperWidth: Fe
120
- } = uo({
120
+ tableFooterRowRef: Fe,
121
+ wrapperWidth: $e
122
+ } = bo({
121
123
  bodyMaxHeight: y,
122
124
  cardsStyle: b,
123
- columns: ge,
124
- hasFooterCells: Se,
125
+ columns: Se,
126
+ hasFooterCells: xe,
125
127
  rowSeparatorWidth: U,
126
128
  showSelectionColumn: d,
127
129
  stickyReference: q,
128
- style: me
129
- }), l = wo({
130
+ style: ce
131
+ }), l = ho({
130
132
  onViewTypeChange: K,
131
- responsiveBreakpoint: V,
133
+ responsiveBreakpoint: D,
132
134
  viewType: p,
133
- wrapperTableWidth: H["--table-width"],
134
- wrapperWidth: Fe
135
- }), { cardClasses: $e, hasHover: ze, isTableView: E, styleClassSwitches: ke } = po({
135
+ wrapperTableWidth: E["--table-width"],
136
+ wrapperWidth: $e
137
+ }), { cardClasses: ze, hasHover: Ae, isTableView: H, styleClassSwitches: ke } = fo({
136
138
  viewType: l,
137
139
  hover: I,
138
140
  shadow: M,
139
141
  border: P,
140
- rounded: O,
142
+ rounded: G,
141
143
  className: w,
142
144
  cardsStyle: b
143
- }), F = E ? Math.min(i?.left ?? 0, 1) : 0, $ = E ? Math.min(i?.right ?? 0, 1) : 0, Ae = (F > 0 || $ > 0) && i?.footer === !0, De = Ze(Be, n), z = {
144
- hasHeader: !!S || c(o, (Ue) => Ho(Ue)),
145
- hasFooter: l === "TABLE" && (ue || c(o, Eo)),
145
+ }), F = H ? Math.min(i?.left ?? 0, 1) : 0, $ = H ? Math.min(i?.right ?? 0, 1) : 0, Ve = (F > 0 || $ > 0) && i?.footer === !0, De = _e(Ee, n), z = {
146
+ hasHeader: !!S || c(o, (qe) => Fo(qe)),
147
+ hasFooter: l === "TABLE" && (pe || c(o, $o)),
146
148
  isClickable: typeof C == "function" || typeof f == "function",
147
149
  isTableView: l === "TABLE"
148
150
  }, {
149
- selectedRowIdSet: Ve,
150
- selectableRowIdSet: Ke,
151
- isAllRowsSelected: Le,
152
- isSomeRowsSelected: Ne,
153
- hasSelectableRows: Ie,
154
- handleToggleAllSelection: Me,
155
- handleToggleRowSelection: Pe
156
- } = yo({
151
+ selectedRowIdSet: Ke,
152
+ selectableRowIdSet: Le,
153
+ isAllRowsSelected: Ne,
154
+ isSomeRowsSelected: Ie,
155
+ hasSelectableRows: Me,
156
+ handleToggleAllSelection: Pe,
157
+ handleToggleRowSelection: Ge
158
+ } = go({
157
159
  bodyRows: h,
158
- onSelectionChange: oe,
159
- selectedRowIds: te
160
+ onSelectionChange: te,
161
+ selectedRowIds: le
160
162
  }), Oe = {
161
163
  showSelectionColumn: d,
162
- selectedRowIdSet: Ve,
163
- selectableRowIdSet: Ke,
164
- selectionHeaderContent: le,
165
- isAllRowsSelected: Le,
166
- isSomeRowsSelected: Ne,
167
- hasSelectableRows: Ie,
164
+ selectedRowIdSet: Ke,
165
+ selectableRowIdSet: Le,
166
+ selectionHeaderContent: ne,
167
+ isAllRowsSelected: Ne,
168
+ isSomeRowsSelected: Ie,
169
+ hasSelectableRows: Me,
168
170
  hideSelectionCheckboxesForExcludedRows: re,
169
- onToggleAllSelection: Me,
170
- onToggleRowSelection: Pe,
171
+ onToggleAllSelection: Pe,
172
+ onToggleRowSelection: Ge,
171
173
  activeRowId: J,
172
174
  onActiveRowChange: f,
173
175
  onRowClick: C,
@@ -176,51 +178,52 @@ const sr = _e, ir = D, dr = so, mr = ao, cr = A, ur = eo, pr = oo, br = io, fr =
176
178
  }, We = {
177
179
  handleBodyScroll: x,
178
180
  tableHeadRowRef: He,
179
- tableFooterRowRef: Ee,
180
- draggableColumnKeys: g ? Re : void 0,
181
- lastResizableColumnKey: a ? ye : void 0,
182
- resettableColumnKeys: a ? ve : void 0,
181
+ tableFooterRowRef: Fe,
182
+ draggableColumnKeys: g ? we : void 0,
183
+ lastResizableColumnKey: a ? ve : void 0,
184
+ resettableColumnKeys: a ? ge : void 0,
183
185
  stickyLeftColumnCount: F,
184
186
  stickyRightColumnCount: $,
185
- stickyFooter: Ae,
186
- onColumnDragEnd: g ? we : void 0,
187
- onColumnResizeReset: a ? Te : void 0,
188
- onColumnResizeStart: a ? he : void 0
189
- }, Ge = {
187
+ stickyFooter: Ve,
188
+ onColumnDragEnd: g ? Te : void 0,
189
+ onColumnResizeReset: a ? he : void 0,
190
+ onColumnResizeStart: a ? ye : void 0
191
+ }, je = {
190
192
  viewType: l,
191
193
  isTableView: l === "TABLE",
192
- cardClasses: $e,
193
- noRowsState: ie,
194
+ cardClasses: ze,
195
+ noRowsState: de,
194
196
  rowKey: j,
195
- rowClassName: G,
197
+ rowClassName: W,
196
198
  cellClassName: ee,
199
+ selectionCheckboxVerticalAlignment: oe,
197
200
  rowAnimationProps: R ? void 0 : Q,
198
201
  expandedRowAnimation: X,
199
202
  virtualizedRows: R,
200
- virtualizationOverscan: de
201
- }, je = {
202
- renderDraft: r.current,
203
+ virtualizationOverscan: me
204
+ }, Ue = {
205
+ renderDraft: t.current,
203
206
  header: S,
204
207
  columns: s,
205
- columnDefinitionsByKey: fe,
206
- columnIndexByKey: Ce,
208
+ columnDefinitionsByKey: Ce,
209
+ columnIndexByKey: Re,
207
210
  bodyRows: h,
208
- renderBodyRow: be,
211
+ renderBodyRow: fe,
209
212
  hasFooterCells: v,
210
- hasExpandableRows: pe,
213
+ hasExpandableRows: be,
211
214
  isRegisteringBodyRows: !0
212
- }, k = /* @__PURE__ */ t(
213
- vo.Provider,
215
+ }, A = /* @__PURE__ */ r(
216
+ So.Provider,
214
217
  {
215
218
  value: Oe,
216
- children: /* @__PURE__ */ t(go.Provider, { value: We, children: /* @__PURE__ */ t(
217
- So.Provider,
219
+ children: /* @__PURE__ */ r(xo.Provider, { value: We, children: /* @__PURE__ */ r(
220
+ Bo.Provider,
218
221
  {
219
- value: Ge,
220
- children: /* @__PURE__ */ t(
221
- xo.Provider,
222
+ value: je,
223
+ children: /* @__PURE__ */ r(
224
+ Eo.Provider,
222
225
  {
223
- value: je,
226
+ value: Ue,
224
227
  children: o
225
228
  }
226
229
  )
@@ -228,52 +231,53 @@ const sr = _e, ir = D, dr = so, mr = ao, cr = A, ur = eo, pr = oo, br = io, fr =
228
231
  ) })
229
232
  }
230
233
  );
231
- return /* @__PURE__ */ t(
234
+ return /* @__PURE__ */ r(
232
235
  "div",
233
236
  {
234
- ...ce,
235
- className: Ye(
236
- bo({
237
+ ...ue,
238
+ className: Ze(
239
+ Co({
237
240
  viewType: l,
238
241
  condensed: L,
239
242
  striped: N,
240
- gridLines: W,
243
+ gridLines: O,
241
244
  className: w,
242
245
  tableUseOverflow: m,
243
246
  flags: z,
244
- hasHover: ze,
247
+ hasHover: Ae,
245
248
  styleClassSwitches: ke
246
249
  }),
247
250
  B && "table-has-horizontal-scroll-start-offset",
248
- (xe || m && !B) && "table-has-horizontal-scroll-end-offset"
251
+ (Be || m && !B) && "table-has-horizontal-scroll-end-offset"
249
252
  ),
250
253
  ref: De,
251
254
  role: "table",
252
255
  "aria-colcount": s.length > 0 ? s.length + (d ? 1 : 0) : void 0,
253
- style: H,
254
- children: m && !y ? /* @__PURE__ */ t("div", { className: "overflow-x-auto", onScroll: x, role: "presentation", children: /* @__PURE__ */ t("div", { className: "table-scroll-content", role: "presentation", children: k }) }) : k
256
+ style: E,
257
+ children: m && !y ? /* @__PURE__ */ r("div", { className: "overflow-x-auto", onScroll: x, role: "presentation", children: /* @__PURE__ */ r("div", { className: "table-scroll-content", role: "presentation", children: A }) }) : A
255
258
  }
256
259
  );
257
260
  }
258
261
  );
259
262
  export {
260
- yr as TableBatchDropdown,
261
- sr as TableBody,
262
- ur as TableColumn,
263
- vr as TableColumnFilter,
264
- gr as TableColumnsDropdown,
265
- wr as TableExpandedContentRow,
266
- Rr as TableExpandedRow,
267
- pr as TableExpanderButton,
268
- cr as TableFooter,
269
- hr as TableGroupFooterRow,
270
- Tr as TableGroupRow,
271
- ir as TableHeader,
272
- mr as TableHeaderColumn,
273
- dr as TableHeaderRow,
274
- br as TableRow,
275
- Cr as TableSpacerRow,
276
- fr as TableStickyRowButton,
277
- Sr as default
263
+ xt as TableBatchDropdown,
264
+ mt as TableBody,
265
+ ft as TableColumn,
266
+ Bt as TableColumnFilter,
267
+ Et as TableColumnsDropdown,
268
+ Rt as TableExpandAllGroupsButton,
269
+ vt as TableExpandedContentRow,
270
+ yt as TableExpandedRow,
271
+ Ct as TableExpanderButton,
272
+ bt as TableFooter,
273
+ St as TableGroupFooterRow,
274
+ gt as TableGroupRow,
275
+ ct as TableHeader,
276
+ pt as TableHeaderColumn,
277
+ ut as TableHeaderRow,
278
+ wt as TableRow,
279
+ ht as TableSpacerRow,
280
+ Tt as TableStickyRowButton,
281
+ Ht as default
278
282
  };
279
283
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../../src/components/table/Table.tsx"],"sourcesContent":["import {\n Children,\n Fragment,\n forwardRef,\n isValidElement,\n useRef,\n type ForwardedRef,\n type ReactElement,\n type ReactNode,\n type RefAttributes,\n} from 'react';\n\nimport classNames from '../../utils/classNames';\nimport useMergeRefs from '../../hooks/useMergeRefs';\nimport TableBodyComponent from './TableBody';\nimport TableColumnComponent from './TableColumn';\nimport TableExpanderButtonComponent from './TableExpanderButton';\nimport TableExpandedContentRowComponent from './TableExpandedContentRow';\nimport TableExpandedRowComponent from './TableExpandedRow';\nimport TableFooterComponent, { type TableFooterProps } from './TableFooter';\nimport TableGroupFooterRowComponent from './TableGroupFooterRow';\nimport TableGroupRowComponent from './TableGroupRow';\nimport TableHeaderComponent, { type TableHeaderProps } from './TableHeader';\nimport TableHeaderColumnComponent from './TableHeaderColumn';\nimport TableHeaderRowComponent from './TableHeaderRow';\nimport TableRowComponent from './TableRow';\nimport TableStickyRowButtonComponent from './TableStickyRowButton';\nimport TableSpacerRowComponent from './TableSpacerRow';\nimport { useTableLayout } from './layout/useTableLayout';\nimport { resolveTableBaseClassName, resolveTableClassConfig } from './model/resolveTableClassConfig';\nimport TableBatchDropdownComponent from './render/header/TableBatchDropdown';\nimport TableColumnFilterComponent from './render/header/TableColumnFilter';\nimport useRenderDraftState from './runtime/useRenderDraftState';\nimport useResponsiveResolvedViewType from './runtime/useResponsiveResolvedViewType';\nimport useResolvedRenderColumns from './runtime/useResolvedRenderColumns';\nimport useResolvedRenderHeader from './runtime/useResolvedRenderHeader';\nimport useInternalTableSelectionState from './selection/useInternalTableSelectionState';\nimport { TableInteractionContext, type TableInteractionContextValue } from './context/TableInteractionContext';\nimport { TableLayoutContext, type TableLayoutContextValue } from './context/TableLayoutContext';\nimport { TableRenderConfigContext, type TableRenderConfigContextValue } from './context/TableRenderConfigContext';\nimport { TableRenderContext, type TableRenderContextValue, type TableRenderDraft } from './context/TableRenderContext';\nimport TableColumnsDropdownComponent from './settings/TableColumnsDropdown';\nimport type { TableProps, TableRowData } from './Table.types';\n\nexport type {\n TableCellOverflow,\n TableCellClassName,\n TableCardsStyleSettings,\n TableColumnDefinition,\n TableExpandedRowAnimation,\n TableHorizontalAlign,\n TableProps,\n TableResponsiveBreakpoint,\n TableRowAnimationProps,\n TableRowId,\n TableRowClassName,\n TableRowSelectable,\n TableStickyReference,\n TableStickyColumns,\n TableSortDirection,\n TableVerticalAlign,\n TableViewType,\n} from './Table.types';\n\nexport { default as useTableSelection } from './selection/useTableSelection';\n\nexport type { UseTableSelectionOptions, UseTableSelectionReturn } from './selection/useTableSelection';\n\nexport const TableBody = TableBodyComponent;\nexport type { TableBodyHandle, TableBodyProps } from './TableBody';\n\nexport const TableHeader = TableHeaderComponent;\nexport type { TableHeaderProps } from './TableHeader';\n\nexport const TableHeaderRow = TableHeaderRowComponent;\nexport type { TableHeaderRowProps } from './TableHeaderRow';\n\nexport const TableHeaderColumn = TableHeaderColumnComponent;\nexport type { TableHeaderColumnProps } from './TableHeaderColumn';\n\nexport const TableFooter = TableFooterComponent;\nexport type { TableFooterProps } from './TableFooter';\n\nexport const TableColumn = TableColumnComponent;\nexport type { TableColumnProps } from './TableColumn';\n\nexport const TableExpanderButton = TableExpanderButtonComponent;\nexport type { TableExpanderButtonProps } from './TableExpanderButton';\n\nexport const TableRow = TableRowComponent;\nexport type { TableRowProps } from './TableRow';\n\nexport const TableStickyRowButton = TableStickyRowButtonComponent;\nexport type { TableStickyRowButtonProps } from './TableStickyRowButton';\n\nexport const TableSpacerRow = TableSpacerRowComponent;\nexport type { TableSpacerRowProps } from './TableSpacerRow';\n\nexport const TableExpandedRow = TableExpandedRowComponent;\nexport type { TableExpandedRowProps } from './TableExpandedRow';\n\nexport const TableExpandedContentRow = TableExpandedContentRowComponent;\nexport type { TableExpandedContentRowProps } from './TableExpandedContentRow';\n\nexport const TableGroupRow = TableGroupRowComponent;\nexport type { TableGroupRowProps } from './TableGroupRow';\n\nexport const TableGroupFooterRow = TableGroupFooterRowComponent;\nexport type { TableGroupFooterRowProps } from './TableGroupFooterRow';\n\nexport const TableBatchDropdown = TableBatchDropdownComponent;\nexport const TableColumnFilter = TableColumnFilterComponent;\nexport const TableColumnsDropdown = TableColumnsDropdownComponent;\nexport type { TableBatchDropdownProps } from './render/header/TableBatchDropdown';\nexport type { TableColumnFilterProps } from './render/header/TableColumnFilter';\nexport type { TableColumnsDropdownItem, TableColumnsDropdownProps } from './settings/TableColumnsDropdown';\n\nconst hasMatchingSectionChild = (children: ReactNode, matcher: (child: ReactNode) => boolean): boolean =>\n Children.toArray(children).some(child => {\n if (matcher(child)) {\n return true;\n }\n\n if (isValidElement(child) && child.type === Fragment) {\n return hasMatchingSectionChild(child.props.children, matcher);\n }\n\n return false;\n });\n\nconst isTableHeaderChild = <RowType extends TableRowData>(\n child: ReactNode\n): child is ReactElement<TableHeaderProps<RowType>> => isValidElement(child) && child.type === TableHeaderComponent;\n\nconst isTableFooterChild = (child: ReactNode): child is ReactElement<TableFooterProps> =>\n isValidElement(child) && child.type === TableFooterComponent;\n\nconst Table = forwardRef(\n <RowType extends TableRowData>(props: TableProps<RowType>, ref: ForwardedRef<HTMLDivElement>) => {\n const {\n children,\n viewType = 'TABLE',\n cardsStyle,\n responsiveBreakpoint,\n onViewTypeChange,\n condensed = false,\n striped = false,\n hover = false,\n shadow = false,\n border = true,\n rounded = true,\n gridLines = false,\n rowClassName,\n rowKey,\n rowSeparatorWidth,\n stickyReference = 'applicationLayout',\n stickyColumns,\n activeRowId,\n onActiveRowChange,\n rowAnimationProps,\n expandedRowAnimation,\n sortBy,\n sortDirection,\n onSortChange,\n cellClassName,\n onRowClick,\n onSelectionChange,\n hideSelectionCheckboxesForExcludedRows = false,\n selectedRowIds,\n selectionHeaderContent,\n columnOrder,\n onColumnResize,\n onColumnOrderChange,\n showSelectionColumn = false,\n noRowsState = 'No data available',\n virtualizedRows = false,\n virtualizationOverscan = 5,\n className,\n style,\n ...remainingProps\n } = props;\n\n const renderDraftRef = useRef<TableRenderDraft<RowType>>({ headerColumns: [], bodyRows: [] });\n\n // Core render cycle:\n // 1. Header/body/footer sub-components register their structure into `renderDraftRef.current`.\n // 2. `useRenderDraftState(...)` promotes that mutable draft into stable state.\n // 3. The table renders from that stable draft state so virtualization, footer logic, sorting,\n // and row animations operate on a normalized model instead of arbitrary JSX children.\n //\n // The draft must be reset before each pass because it only represents the currently\n // executing render, not persistent state.\n renderDraftRef.current.headerColumns = [];\n renderDraftRef.current.bodyRows = [];\n renderDraftRef.current.bodyMaxHeight = undefined;\n renderDraftRef.current.hasFooter = false;\n renderDraftRef.current.hasFooterCells = undefined;\n renderDraftRef.current.hasExpandableRows = undefined;\n\n const {\n renderHeaderColumns,\n renderBodyRows,\n renderBodyMaxHeight,\n renderHasFooter,\n renderHasFooterCells,\n renderHasExpandableRows,\n renderBodyRow,\n } = useRenderDraftState(renderDraftRef);\n\n const {\n columnDefinitionsByKey,\n columnIndexByKey,\n draggableColumnKeys,\n draggableColumnsEnabled,\n handleColumnDragEnd,\n handleColumnResizeReset,\n handleColumnResizeStart,\n lastResizableColumnKey,\n resettableColumnKeys,\n resizeColumnsEnabled,\n resolvedRenderColumns,\n resizedColumns,\n } = useResolvedRenderColumns({\n columnOrder,\n onColumnOrderChange,\n onColumnResize,\n renderHeaderColumns,\n viewType,\n });\n\n const resolvedRenderHeader = useResolvedRenderHeader({\n renderHeaderColumns,\n resolvedRenderColumns,\n sortBy,\n sortDirection,\n });\n\n const hasFooterCells = renderHasFooterCells ?? false;\n\n const {\n handleBodyScroll,\n hasHorizontalScrollEndOffset,\n hasHorizontalScrollStartOffset,\n tableUseOverflow,\n tableWrapperRef,\n wrapperStyle,\n tableHeadRowRef,\n tableFooterRowRef,\n wrapperWidth,\n } = useTableLayout({\n bodyMaxHeight: renderBodyMaxHeight,\n cardsStyle,\n columns: resizedColumns,\n hasFooterCells,\n rowSeparatorWidth,\n showSelectionColumn,\n stickyReference,\n style,\n });\n\n const resolvedViewType = useResponsiveResolvedViewType({\n onViewTypeChange,\n responsiveBreakpoint,\n viewType,\n wrapperTableWidth: wrapperStyle['--table-width'],\n wrapperWidth,\n });\n\n const { cardClasses, hasHover, isTableView, styleClassSwitches } = resolveTableClassConfig({\n viewType: resolvedViewType,\n hover,\n shadow,\n border,\n rounded,\n className,\n cardsStyle,\n });\n const stickyLeftColumnCount = isTableView ? Math.min(stickyColumns?.left ?? 0, 1) : 0;\n const stickyRightColumnCount = isTableView ? Math.min(stickyColumns?.right ?? 0, 1) : 0;\n const stickyFooter =\n (stickyLeftColumnCount > 0 || stickyRightColumnCount > 0) && stickyColumns?.footer === true;\n\n const mergedWrapperRefs = useMergeRefs(tableWrapperRef, ref);\n\n const flags = {\n hasHeader:\n !!resolvedRenderHeader ||\n hasMatchingSectionChild(children, child => isTableHeaderChild<RowType>(child)),\n hasFooter:\n resolvedViewType === 'TABLE' &&\n (renderHasFooter || hasMatchingSectionChild(children, isTableFooterChild)),\n isClickable: typeof onRowClick === 'function' || typeof onActiveRowChange === 'function',\n isTableView: resolvedViewType === 'TABLE',\n };\n\n // Keep controlled selection derivation out of the main Table orchestrator so the\n // interaction context consumes a small, already-normalized selection state.\n const {\n selectedRowIdSet,\n selectableRowIdSet,\n isAllRowsSelected,\n isSomeRowsSelected,\n hasSelectableRows,\n handleToggleAllSelection,\n handleToggleRowSelection,\n } = useInternalTableSelectionState({\n bodyRows: renderBodyRows,\n onSelectionChange,\n selectedRowIds,\n });\n\n const interactionContextValue: TableInteractionContextValue<RowType> = {\n showSelectionColumn,\n selectedRowIdSet,\n selectableRowIdSet,\n selectionHeaderContent,\n isAllRowsSelected,\n isSomeRowsSelected,\n hasSelectableRows,\n hideSelectionCheckboxesForExcludedRows,\n onToggleAllSelection: handleToggleAllSelection,\n onToggleRowSelection: handleToggleRowSelection,\n activeRowId,\n onActiveRowChange,\n onRowClick,\n isClickable: flags.isClickable,\n onSortChange,\n };\n\n const layoutContextValue: TableLayoutContextValue = {\n handleBodyScroll,\n tableHeadRowRef,\n tableFooterRowRef,\n draggableColumnKeys: draggableColumnsEnabled ? draggableColumnKeys : undefined,\n lastResizableColumnKey: resizeColumnsEnabled ? lastResizableColumnKey : undefined,\n resettableColumnKeys: resizeColumnsEnabled ? resettableColumnKeys : undefined,\n stickyLeftColumnCount,\n stickyRightColumnCount,\n stickyFooter,\n onColumnDragEnd: draggableColumnsEnabled ? handleColumnDragEnd : undefined,\n onColumnResizeReset: resizeColumnsEnabled ? handleColumnResizeReset : undefined,\n onColumnResizeStart: resizeColumnsEnabled ? handleColumnResizeStart : undefined,\n };\n\n const renderConfigContextValue: TableRenderConfigContextValue<RowType> = {\n viewType: resolvedViewType,\n isTableView: resolvedViewType === 'TABLE',\n cardClasses,\n noRowsState,\n rowKey,\n rowClassName,\n cellClassName,\n rowAnimationProps: virtualizedRows ? undefined : rowAnimationProps,\n expandedRowAnimation,\n virtualizedRows,\n virtualizationOverscan,\n };\n\n const renderContextValue: TableRenderContextValue<RowType> = {\n renderDraft: renderDraftRef.current,\n header: resolvedRenderHeader,\n columns: resolvedRenderColumns,\n columnDefinitionsByKey,\n columnIndexByKey,\n bodyRows: renderBodyRows,\n renderBodyRow,\n hasFooterCells: renderHasFooterCells,\n hasExpandableRows: renderHasExpandableRows,\n isRegisteringBodyRows: true,\n };\n\n const content = (\n <TableInteractionContext.Provider\n value={interactionContextValue as TableInteractionContextValue<TableRowData>}\n >\n <TableLayoutContext.Provider value={layoutContextValue}>\n <TableRenderConfigContext.Provider\n value={renderConfigContextValue as TableRenderConfigContextValue<TableRowData>}\n >\n <TableRenderContext.Provider\n value={renderContextValue as TableRenderContextValue<TableRowData>}\n >\n {children}\n </TableRenderContext.Provider>\n </TableRenderConfigContext.Provider>\n </TableLayoutContext.Provider>\n </TableInteractionContext.Provider>\n );\n\n return (\n <div\n {...remainingProps}\n className={classNames(\n resolveTableBaseClassName({\n viewType: resolvedViewType,\n condensed,\n striped,\n gridLines,\n className,\n tableUseOverflow,\n flags,\n hasHover,\n styleClassSwitches,\n }),\n hasHorizontalScrollStartOffset && 'table-has-horizontal-scroll-start-offset',\n (hasHorizontalScrollEndOffset || (tableUseOverflow && !hasHorizontalScrollStartOffset)) &&\n 'table-has-horizontal-scroll-end-offset'\n )}\n ref={mergedWrapperRefs}\n role='table'\n aria-colcount={\n resolvedRenderColumns.length > 0\n ? resolvedRenderColumns.length + (showSelectionColumn ? 1 : 0)\n : undefined\n }\n style={wrapperStyle}\n >\n {tableUseOverflow && !renderBodyMaxHeight ? (\n <div className='overflow-x-auto' onScroll={handleBodyScroll} role='presentation'>\n <div className='table-scroll-content' role='presentation'>\n {content}\n </div>\n </div>\n ) : (\n content\n )}\n </div>\n );\n }\n) as <RowType extends TableRowData>(props: TableProps<RowType> & RefAttributes<HTMLDivElement>) => ReactElement;\n\nexport default Table;\n"],"names":["TableBody","TableBodyComponent","TableHeader","TableHeaderComponent","TableHeaderRow","TableHeaderRowComponent","TableHeaderColumn","TableHeaderColumnComponent","TableFooter","TableFooterComponent","TableColumn","TableColumnComponent","TableExpanderButton","TableExpanderButtonComponent","TableRow","TableRowComponent","TableStickyRowButton","TableStickyRowButtonComponent","TableSpacerRow","TableSpacerRowComponent","TableExpandedRow","TableExpandedRowComponent","TableExpandedContentRow","TableExpandedContentRowComponent","TableGroupRow","TableGroupRowComponent","TableGroupFooterRow","TableGroupFooterRowComponent","TableBatchDropdown","TableBatchDropdownComponent","TableColumnFilter","TableColumnFilterComponent","TableColumnsDropdown","TableColumnsDropdownComponent","hasMatchingSectionChild","children","matcher","Children","child","isValidElement","Fragment","isTableHeaderChild","isTableFooterChild","Table","forwardRef","props","ref","viewType","cardsStyle","responsiveBreakpoint","onViewTypeChange","condensed","striped","hover","shadow","border","rounded","gridLines","rowClassName","rowKey","rowSeparatorWidth","stickyReference","stickyColumns","activeRowId","onActiveRowChange","rowAnimationProps","expandedRowAnimation","sortBy","sortDirection","onSortChange","cellClassName","onRowClick","onSelectionChange","hideSelectionCheckboxesForExcludedRows","selectedRowIds","selectionHeaderContent","columnOrder","onColumnResize","onColumnOrderChange","showSelectionColumn","noRowsState","virtualizedRows","virtualizationOverscan","className","style","remainingProps","renderDraftRef","useRef","renderHeaderColumns","renderBodyRows","renderBodyMaxHeight","renderHasFooter","renderHasFooterCells","renderHasExpandableRows","renderBodyRow","useRenderDraftState","columnDefinitionsByKey","columnIndexByKey","draggableColumnKeys","draggableColumnsEnabled","handleColumnDragEnd","handleColumnResizeReset","handleColumnResizeStart","lastResizableColumnKey","resettableColumnKeys","resizeColumnsEnabled","resolvedRenderColumns","resizedColumns","useResolvedRenderColumns","resolvedRenderHeader","useResolvedRenderHeader","hasFooterCells","handleBodyScroll","hasHorizontalScrollEndOffset","hasHorizontalScrollStartOffset","tableUseOverflow","tableWrapperRef","wrapperStyle","tableHeadRowRef","tableFooterRowRef","wrapperWidth","useTableLayout","resolvedViewType","useResponsiveResolvedViewType","cardClasses","hasHover","isTableView","styleClassSwitches","resolveTableClassConfig","stickyLeftColumnCount","stickyRightColumnCount","stickyFooter","mergedWrapperRefs","useMergeRefs","flags","selectedRowIdSet","selectableRowIdSet","isAllRowsSelected","isSomeRowsSelected","hasSelectableRows","handleToggleAllSelection","handleToggleRowSelection","useInternalTableSelectionState","interactionContextValue","layoutContextValue","renderConfigContextValue","renderContextValue","content","jsx","TableInteractionContext","TableLayoutContext","TableRenderConfigContext","TableRenderContext","classNames","resolveTableBaseClassName"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sources":["../../../src/components/table/Table.tsx"],"sourcesContent":["import {\n Children,\n Fragment,\n forwardRef,\n isValidElement,\n useRef,\n type ForwardedRef,\n type ReactElement,\n type ReactNode,\n type RefAttributes,\n} from 'react';\n\nimport classNames from '../../utils/classNames';\nimport useMergeRefs from '../../hooks/useMergeRefs';\nimport TableBodyComponent from './TableBody';\nimport TableColumnComponent from './TableColumn';\nimport TableExpanderButtonComponent from './TableExpanderButton';\nimport TableExpandAllGroupsButtonComponent from './TableExpandAllGroupsButton';\nimport TableExpandedContentRowComponent from './TableExpandedContentRow';\nimport TableExpandedRowComponent from './TableExpandedRow';\nimport TableFooterComponent, { type TableFooterProps } from './TableFooter';\nimport TableGroupFooterRowComponent from './TableGroupFooterRow';\nimport TableGroupRowComponent from './TableGroupRow';\nimport TableHeaderComponent, { type TableHeaderProps } from './TableHeader';\nimport TableHeaderColumnComponent from './TableHeaderColumn';\nimport TableHeaderRowComponent from './TableHeaderRow';\nimport TableRowComponent from './TableRow';\nimport TableStickyRowButtonComponent from './TableStickyRowButton';\nimport TableSpacerRowComponent from './TableSpacerRow';\nimport { useTableLayout } from './layout/useTableLayout';\nimport { resolveTableBaseClassName, resolveTableClassConfig } from './model/resolveTableClassConfig';\nimport TableBatchDropdownComponent from './render/header/TableBatchDropdown';\nimport TableColumnFilterComponent from './render/header/TableColumnFilter';\nimport useRenderDraftState from './runtime/useRenderDraftState';\nimport useResponsiveResolvedViewType from './runtime/useResponsiveResolvedViewType';\nimport useResolvedRenderColumns from './runtime/useResolvedRenderColumns';\nimport useResolvedRenderHeader from './runtime/useResolvedRenderHeader';\nimport useInternalTableSelectionState from './selection/useInternalTableSelectionState';\nimport { TableInteractionContext, type TableInteractionContextValue } from './context/TableInteractionContext';\nimport { TableLayoutContext, type TableLayoutContextValue } from './context/TableLayoutContext';\nimport { TableRenderConfigContext, type TableRenderConfigContextValue } from './context/TableRenderConfigContext';\nimport { TableRenderContext, type TableRenderContextValue, type TableRenderDraft } from './context/TableRenderContext';\nimport TableColumnsDropdownComponent from './settings/TableColumnsDropdown';\nimport type { TableProps, TableRowData } from './Table.types';\n\nexport type {\n TableCellOverflow,\n TableCellClassName,\n TableCardsStyleSettings,\n TableColumnDefinition,\n TableExpandedRowAnimation,\n TableHorizontalAlign,\n TableProps,\n TableResponsiveBreakpoint,\n TableRowAnimationProps,\n TableRowId,\n TableRowClassName,\n TableRowSelectable,\n TableStickyReference,\n TableStickyColumns,\n TableSortDirection,\n TableVerticalAlign,\n TableViewType,\n} from './Table.types';\n\nexport { default as useTableSelection } from './selection/useTableSelection';\n\nexport type { UseTableSelectionOptions, UseTableSelectionReturn } from './selection/useTableSelection';\n\nexport const TableBody = TableBodyComponent;\nexport type { TableBodyHandle, TableBodyProps } from './TableBody';\n\nexport const TableHeader = TableHeaderComponent;\nexport type { TableHeaderProps } from './TableHeader';\n\nexport const TableHeaderRow = TableHeaderRowComponent;\nexport type { TableHeaderRowProps } from './TableHeaderRow';\n\nexport const TableHeaderColumn = TableHeaderColumnComponent;\nexport type { TableHeaderColumnProps } from './TableHeaderColumn';\n\nexport const TableFooter = TableFooterComponent;\nexport type { TableFooterProps } from './TableFooter';\n\nexport const TableColumn = TableColumnComponent;\nexport type { TableColumnProps } from './TableColumn';\n\nexport const TableExpanderButton = TableExpanderButtonComponent;\nexport type { TableExpanderButtonProps } from './TableExpanderButton';\n\nexport const TableExpandAllGroupsButton = TableExpandAllGroupsButtonComponent;\nexport type { TableExpandAllGroupsButtonProps } from './TableExpandAllGroupsButton';\n\nexport const TableRow = TableRowComponent;\nexport type { TableRowProps } from './TableRow';\n\nexport const TableStickyRowButton = TableStickyRowButtonComponent;\nexport type { TableStickyRowButtonProps } from './TableStickyRowButton';\n\nexport const TableSpacerRow = TableSpacerRowComponent;\nexport type { TableSpacerRowProps } from './TableSpacerRow';\n\nexport const TableExpandedRow = TableExpandedRowComponent;\nexport type { TableExpandedRowProps } from './TableExpandedRow';\n\nexport const TableExpandedContentRow = TableExpandedContentRowComponent;\nexport type { TableExpandedContentRowProps } from './TableExpandedContentRow';\n\nexport const TableGroupRow = TableGroupRowComponent;\nexport type { TableGroupRowProps } from './TableGroupRow';\n\nexport const TableGroupFooterRow = TableGroupFooterRowComponent;\nexport type { TableGroupFooterRowProps } from './TableGroupFooterRow';\n\nexport const TableBatchDropdown = TableBatchDropdownComponent;\nexport const TableColumnFilter = TableColumnFilterComponent;\nexport const TableColumnsDropdown = TableColumnsDropdownComponent;\nexport type { TableBatchDropdownProps } from './render/header/TableBatchDropdown';\nexport type { TableColumnFilterProps } from './render/header/TableColumnFilter';\nexport type { TableColumnsDropdownItem, TableColumnsDropdownProps } from './settings/TableColumnsDropdown';\n\nconst hasMatchingSectionChild = (children: ReactNode, matcher: (child: ReactNode) => boolean): boolean =>\n Children.toArray(children).some(child => {\n if (matcher(child)) {\n return true;\n }\n\n if (isValidElement(child) && child.type === Fragment) {\n return hasMatchingSectionChild(child.props.children, matcher);\n }\n\n return false;\n });\n\nconst isTableHeaderChild = <RowType extends TableRowData>(\n child: ReactNode\n): child is ReactElement<TableHeaderProps<RowType>> => isValidElement(child) && child.type === TableHeaderComponent;\n\nconst isTableFooterChild = (child: ReactNode): child is ReactElement<TableFooterProps> =>\n isValidElement(child) && child.type === TableFooterComponent;\n\nconst Table = forwardRef(\n <RowType extends TableRowData>(props: TableProps<RowType>, ref: ForwardedRef<HTMLDivElement>) => {\n const {\n children,\n viewType = 'TABLE',\n cardsStyle,\n responsiveBreakpoint,\n onViewTypeChange,\n condensed = false,\n striped = false,\n hover = false,\n shadow = false,\n border = true,\n rounded = true,\n gridLines = false,\n rowClassName,\n rowKey,\n rowSeparatorWidth,\n stickyReference = 'applicationLayout',\n stickyColumns,\n activeRowId,\n onActiveRowChange,\n rowAnimationProps,\n expandedRowAnimation,\n sortBy,\n sortDirection,\n onSortChange,\n cellClassName,\n selectionCheckboxVerticalAlignment = 'middle',\n onRowClick,\n onSelectionChange,\n hideSelectionCheckboxesForExcludedRows = false,\n selectedRowIds,\n selectionHeaderContent,\n columnOrder,\n onColumnResize,\n onColumnOrderChange,\n showSelectionColumn = false,\n noRowsState = 'No data available',\n virtualizedRows = false,\n virtualizationOverscan = 5,\n className,\n style,\n ...remainingProps\n } = props;\n\n const renderDraftRef = useRef<TableRenderDraft<RowType>>({ headerColumns: [], bodyRows: [] });\n\n // Core render cycle:\n // 1. Header/body/footer sub-components register their structure into `renderDraftRef.current`.\n // 2. `useRenderDraftState(...)` promotes that mutable draft into stable state.\n // 3. The table renders from that stable draft state so virtualization, footer logic, sorting,\n // and row animations operate on a normalized model instead of arbitrary JSX children.\n //\n // The draft must be reset before each pass because it only represents the currently\n // executing render, not persistent state.\n renderDraftRef.current.headerColumns = [];\n renderDraftRef.current.bodyRows = [];\n renderDraftRef.current.bodyMaxHeight = undefined;\n renderDraftRef.current.hasFooter = false;\n renderDraftRef.current.hasFooterCells = undefined;\n renderDraftRef.current.hasExpandableRows = undefined;\n\n const {\n renderHeaderColumns,\n renderBodyRows,\n renderBodyMaxHeight,\n renderHasFooter,\n renderHasFooterCells,\n renderHasExpandableRows,\n renderBodyRow,\n } = useRenderDraftState(renderDraftRef);\n\n const {\n columnDefinitionsByKey,\n columnIndexByKey,\n draggableColumnKeys,\n draggableColumnsEnabled,\n handleColumnDragEnd,\n handleColumnResizeReset,\n handleColumnResizeStart,\n lastResizableColumnKey,\n resettableColumnKeys,\n resizeColumnsEnabled,\n resolvedRenderColumns,\n resizedColumns,\n } = useResolvedRenderColumns({\n columnOrder,\n onColumnOrderChange,\n onColumnResize,\n renderHeaderColumns,\n viewType,\n });\n\n const resolvedRenderHeader = useResolvedRenderHeader({\n renderHeaderColumns,\n resolvedRenderColumns,\n sortBy,\n sortDirection,\n });\n\n const hasFooterCells = renderHasFooterCells ?? false;\n\n const {\n handleBodyScroll,\n hasHorizontalScrollEndOffset,\n hasHorizontalScrollStartOffset,\n tableUseOverflow,\n tableWrapperRef,\n wrapperStyle,\n tableHeadRowRef,\n tableFooterRowRef,\n wrapperWidth,\n } = useTableLayout({\n bodyMaxHeight: renderBodyMaxHeight,\n cardsStyle,\n columns: resizedColumns,\n hasFooterCells,\n rowSeparatorWidth,\n showSelectionColumn,\n stickyReference,\n style,\n });\n\n const resolvedViewType = useResponsiveResolvedViewType({\n onViewTypeChange,\n responsiveBreakpoint,\n viewType,\n wrapperTableWidth: wrapperStyle['--table-width'],\n wrapperWidth,\n });\n\n const { cardClasses, hasHover, isTableView, styleClassSwitches } = resolveTableClassConfig({\n viewType: resolvedViewType,\n hover,\n shadow,\n border,\n rounded,\n className,\n cardsStyle,\n });\n const stickyLeftColumnCount = isTableView ? Math.min(stickyColumns?.left ?? 0, 1) : 0;\n const stickyRightColumnCount = isTableView ? Math.min(stickyColumns?.right ?? 0, 1) : 0;\n const stickyFooter =\n (stickyLeftColumnCount > 0 || stickyRightColumnCount > 0) && stickyColumns?.footer === true;\n\n const mergedWrapperRefs = useMergeRefs(tableWrapperRef, ref);\n\n const flags = {\n hasHeader:\n !!resolvedRenderHeader ||\n hasMatchingSectionChild(children, child => isTableHeaderChild<RowType>(child)),\n hasFooter:\n resolvedViewType === 'TABLE' &&\n (renderHasFooter || hasMatchingSectionChild(children, isTableFooterChild)),\n isClickable: typeof onRowClick === 'function' || typeof onActiveRowChange === 'function',\n isTableView: resolvedViewType === 'TABLE',\n };\n\n // Keep controlled selection derivation out of the main Table orchestrator so the\n // interaction context consumes a small, already-normalized selection state.\n const {\n selectedRowIdSet,\n selectableRowIdSet,\n isAllRowsSelected,\n isSomeRowsSelected,\n hasSelectableRows,\n handleToggleAllSelection,\n handleToggleRowSelection,\n } = useInternalTableSelectionState({\n bodyRows: renderBodyRows,\n onSelectionChange,\n selectedRowIds,\n });\n\n const interactionContextValue: TableInteractionContextValue<RowType> = {\n showSelectionColumn,\n selectedRowIdSet,\n selectableRowIdSet,\n selectionHeaderContent,\n isAllRowsSelected,\n isSomeRowsSelected,\n hasSelectableRows,\n hideSelectionCheckboxesForExcludedRows,\n onToggleAllSelection: handleToggleAllSelection,\n onToggleRowSelection: handleToggleRowSelection,\n activeRowId,\n onActiveRowChange,\n onRowClick,\n isClickable: flags.isClickable,\n onSortChange,\n };\n\n const layoutContextValue: TableLayoutContextValue = {\n handleBodyScroll,\n tableHeadRowRef,\n tableFooterRowRef,\n draggableColumnKeys: draggableColumnsEnabled ? draggableColumnKeys : undefined,\n lastResizableColumnKey: resizeColumnsEnabled ? lastResizableColumnKey : undefined,\n resettableColumnKeys: resizeColumnsEnabled ? resettableColumnKeys : undefined,\n stickyLeftColumnCount,\n stickyRightColumnCount,\n stickyFooter,\n onColumnDragEnd: draggableColumnsEnabled ? handleColumnDragEnd : undefined,\n onColumnResizeReset: resizeColumnsEnabled ? handleColumnResizeReset : undefined,\n onColumnResizeStart: resizeColumnsEnabled ? handleColumnResizeStart : undefined,\n };\n\n const renderConfigContextValue: TableRenderConfigContextValue<RowType> = {\n viewType: resolvedViewType,\n isTableView: resolvedViewType === 'TABLE',\n cardClasses,\n noRowsState,\n rowKey,\n rowClassName,\n cellClassName,\n selectionCheckboxVerticalAlignment,\n rowAnimationProps: virtualizedRows ? undefined : rowAnimationProps,\n expandedRowAnimation,\n virtualizedRows,\n virtualizationOverscan,\n };\n\n const renderContextValue: TableRenderContextValue<RowType> = {\n renderDraft: renderDraftRef.current,\n header: resolvedRenderHeader,\n columns: resolvedRenderColumns,\n columnDefinitionsByKey,\n columnIndexByKey,\n bodyRows: renderBodyRows,\n renderBodyRow,\n hasFooterCells: renderHasFooterCells,\n hasExpandableRows: renderHasExpandableRows,\n isRegisteringBodyRows: true,\n };\n\n const content = (\n <TableInteractionContext.Provider\n value={interactionContextValue as TableInteractionContextValue<TableRowData>}\n >\n <TableLayoutContext.Provider value={layoutContextValue}>\n <TableRenderConfigContext.Provider\n value={renderConfigContextValue as TableRenderConfigContextValue<TableRowData>}\n >\n <TableRenderContext.Provider\n value={renderContextValue as TableRenderContextValue<TableRowData>}\n >\n {children}\n </TableRenderContext.Provider>\n </TableRenderConfigContext.Provider>\n </TableLayoutContext.Provider>\n </TableInteractionContext.Provider>\n );\n\n return (\n <div\n {...remainingProps}\n className={classNames(\n resolveTableBaseClassName({\n viewType: resolvedViewType,\n condensed,\n striped,\n gridLines,\n className,\n tableUseOverflow,\n flags,\n hasHover,\n styleClassSwitches,\n }),\n hasHorizontalScrollStartOffset && 'table-has-horizontal-scroll-start-offset',\n (hasHorizontalScrollEndOffset || (tableUseOverflow && !hasHorizontalScrollStartOffset)) &&\n 'table-has-horizontal-scroll-end-offset'\n )}\n ref={mergedWrapperRefs}\n role='table'\n aria-colcount={\n resolvedRenderColumns.length > 0\n ? resolvedRenderColumns.length + (showSelectionColumn ? 1 : 0)\n : undefined\n }\n style={wrapperStyle}\n >\n {tableUseOverflow && !renderBodyMaxHeight ? (\n <div className='overflow-x-auto' onScroll={handleBodyScroll} role='presentation'>\n <div className='table-scroll-content' role='presentation'>\n {content}\n </div>\n </div>\n ) : (\n content\n )}\n </div>\n );\n }\n) as <RowType extends TableRowData>(props: TableProps<RowType> & RefAttributes<HTMLDivElement>) => ReactElement;\n\nexport default Table;\n"],"names":["TableBody","TableBodyComponent","TableHeader","TableHeaderComponent","TableHeaderRow","TableHeaderRowComponent","TableHeaderColumn","TableHeaderColumnComponent","TableFooter","TableFooterComponent","TableColumn","TableColumnComponent","TableExpanderButton","TableExpanderButtonComponent","TableExpandAllGroupsButton","TableExpandAllGroupsButtonComponent","TableRow","TableRowComponent","TableStickyRowButton","TableStickyRowButtonComponent","TableSpacerRow","TableSpacerRowComponent","TableExpandedRow","TableExpandedRowComponent","TableExpandedContentRow","TableExpandedContentRowComponent","TableGroupRow","TableGroupRowComponent","TableGroupFooterRow","TableGroupFooterRowComponent","TableBatchDropdown","TableBatchDropdownComponent","TableColumnFilter","TableColumnFilterComponent","TableColumnsDropdown","TableColumnsDropdownComponent","hasMatchingSectionChild","children","matcher","Children","child","isValidElement","Fragment","isTableHeaderChild","isTableFooterChild","Table","forwardRef","props","ref","viewType","cardsStyle","responsiveBreakpoint","onViewTypeChange","condensed","striped","hover","shadow","border","rounded","gridLines","rowClassName","rowKey","rowSeparatorWidth","stickyReference","stickyColumns","activeRowId","onActiveRowChange","rowAnimationProps","expandedRowAnimation","sortBy","sortDirection","onSortChange","cellClassName","selectionCheckboxVerticalAlignment","onRowClick","onSelectionChange","hideSelectionCheckboxesForExcludedRows","selectedRowIds","selectionHeaderContent","columnOrder","onColumnResize","onColumnOrderChange","showSelectionColumn","noRowsState","virtualizedRows","virtualizationOverscan","className","style","remainingProps","renderDraftRef","useRef","renderHeaderColumns","renderBodyRows","renderBodyMaxHeight","renderHasFooter","renderHasFooterCells","renderHasExpandableRows","renderBodyRow","useRenderDraftState","columnDefinitionsByKey","columnIndexByKey","draggableColumnKeys","draggableColumnsEnabled","handleColumnDragEnd","handleColumnResizeReset","handleColumnResizeStart","lastResizableColumnKey","resettableColumnKeys","resizeColumnsEnabled","resolvedRenderColumns","resizedColumns","useResolvedRenderColumns","resolvedRenderHeader","useResolvedRenderHeader","hasFooterCells","handleBodyScroll","hasHorizontalScrollEndOffset","hasHorizontalScrollStartOffset","tableUseOverflow","tableWrapperRef","wrapperStyle","tableHeadRowRef","tableFooterRowRef","wrapperWidth","useTableLayout","resolvedViewType","useResponsiveResolvedViewType","cardClasses","hasHover","isTableView","styleClassSwitches","resolveTableClassConfig","stickyLeftColumnCount","stickyRightColumnCount","stickyFooter","mergedWrapperRefs","useMergeRefs","flags","selectedRowIdSet","selectableRowIdSet","isAllRowsSelected","isSomeRowsSelected","hasSelectableRows","handleToggleAllSelection","handleToggleRowSelection","useInternalTableSelectionState","interactionContextValue","layoutContextValue","renderConfigContextValue","renderContextValue","content","jsx","TableInteractionContext","TableLayoutContext","TableRenderConfigContext","TableRenderContext","classNames","resolveTableBaseClassName"],"mappings":"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"}
@@ -382,6 +382,12 @@ export type TableProps<RowType extends TableRowData> = Omit<HTMLAttributes<HTMLD
382
382
  * If omitted, the header renders the default select-all checkbox.
383
383
  */
384
384
  selectionHeaderContent?: ReactNode;
385
+ /**
386
+ * Vertical alignment for selection checkboxes in the header and body rows.
387
+ *
388
+ * @default 'middle'
389
+ */
390
+ selectionCheckboxVerticalAlignment?: TableVerticalAlign;
385
391
  /**
386
392
  * Controlled column order for drag-reordering.
387
393
  *
@@ -0,0 +1,25 @@
1
+ import { MouseEventHandler } from 'react';
2
+ export type TableExpandAllGroupsButtonProps = {
3
+ /**
4
+ * Controls whether all related groups are currently expanded.
5
+ *
6
+ * @default false
7
+ */
8
+ expanded?: boolean;
9
+ /**
10
+ * Disables the expand all groups button.
11
+ *
12
+ * @default false
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * Callback triggered when the expand all groups button is clicked.
17
+ */
18
+ onClick?: MouseEventHandler<HTMLButtonElement>;
19
+ /**
20
+ * Optional additional class names for the button element.
21
+ */
22
+ className?: string;
23
+ };
24
+ declare const TableExpandAllGroupsButton: (props: TableExpandAllGroupsButtonProps) => import("react/jsx-runtime").JSX.Element;
25
+ export default TableExpandAllGroupsButton;
@@ -0,0 +1,27 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import r from "../button/Button.js";
3
+ import p from "../../utils/classNames.js";
4
+ const u = (a) => {
5
+ const { expanded: l = !1, disabled: s = !1, onClick: o, className: t, ...n } = a;
6
+ return /* @__PURE__ */ e(
7
+ r,
8
+ {
9
+ ...n,
10
+ bsStyle: "muted",
11
+ bsSize: "sm",
12
+ iconOnly: !0,
13
+ disabled: s,
14
+ className: p(
15
+ "table-expand-all-groups-button",
16
+ l && "table-expand-all-groups-button-expanded",
17
+ t
18
+ ),
19
+ onClick: o,
20
+ children: /* @__PURE__ */ e("span", { className: "rioglyph rioglyph-angle-double-down text-size-16" })
21
+ }
22
+ );
23
+ };
24
+ export {
25
+ u as default
26
+ };
27
+ //# sourceMappingURL=TableExpandAllGroupsButton.js.map