@rio-cloud/rio-uikit 2.3.0 → 2.4.0
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.
- package/MapPreviousViewportButton.d.ts +2 -0
- package/MapPreviousViewportButton.js +5 -0
- package/MapPreviousViewportButton.js.map +1 -0
- package/Table.js +15 -14
- package/TableNext.js +15 -14
- package/components/map/components/Map.js +175 -157
- package/components/map/components/Map.js.map +1 -1
- package/components/map/components/MapContext.d.ts +2 -0
- package/components/map/components/MapContext.js +8 -6
- package/components/map/components/MapContext.js.map +1 -1
- package/components/map/components/MapPosition.d.ts +1 -1
- package/components/map/components/MapPosition.js +20 -13
- package/components/map/components/MapPosition.js.map +1 -1
- package/components/map/components/features/MapZoom.d.ts +0 -1
- package/components/map/components/features/MapZoom.js +12 -20
- package/components/map/components/features/MapZoom.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsTile.d.ts +27 -0
- package/components/map/components/features/settings/MapSettingsTile.js +17 -17
- package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
- package/components/map/components/features/settings/buttons/MapPreviousViewportButton.d.ts +10 -0
- package/components/map/components/features/settings/buttons/MapPreviousViewportButton.js +23 -0
- package/components/map/components/features/settings/buttons/MapPreviousViewportButton.js.map +1 -0
- package/components/map/hooks/useMapViewportHistory.d.ts +19 -0
- package/components/map/hooks/useMapViewportHistory.js +116 -0
- package/components/map/hooks/useMapViewportHistory.js.map +1 -0
- package/components/map/icons/MapIcon.d.ts +1 -0
- package/components/map/icons/MapIcon.js +46 -37
- package/components/map/icons/MapIcon.js.map +1 -1
- package/components/map/utils/mapTypes.d.ts +6 -0
- package/components/map/utils/mapTypes.js.map +1 -1
- package/components/selects/Multiselect.d.ts +6 -0
- package/components/selects/Multiselect.js +85 -83
- package/components/selects/Multiselect.js.map +1 -1
- package/components/selects/Select.d.ts +6 -0
- package/components/selects/Select.js +79 -71
- package/components/selects/Select.js.map +1 -1
- package/components/table/Table.d.ts +2 -0
- package/components/table/Table.js +162 -158
- package/components/table/Table.js.map +1 -1
- package/components/table/Table.types.d.ts +6 -0
- package/components/table/TableExpandAllGroupsButton.d.ts +25 -0
- package/components/table/TableExpandAllGroupsButton.js +27 -0
- package/components/table/TableExpandAllGroupsButton.js.map +1 -0
- package/components/table/TableExpandedRow.js +77 -63
- package/components/table/TableExpandedRow.js.map +1 -1
- package/components/table/TableExpanderButton.js +11 -11
- package/components/table/TableExpanderButton.js.map +1 -1
- package/components/table/TableGroupRow.d.ts +13 -1
- package/components/table/TableGroupRow.js +57 -23
- package/components/table/TableGroupRow.js.map +1 -1
- package/components/table/TableHeader.js +40 -39
- package/components/table/TableHeader.js.map +1 -1
- package/components/table/TableRow.js +66 -52
- package/components/table/TableRow.js.map +1 -1
- package/components/table/context/TableRenderConfigContext.d.ts +2 -1
- package/components/table/context/TableRenderConfigContext.js.map +1 -1
- package/components/table/render/header/TableHeaderCellContent.js +4 -4
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
- package/components/table/render/header/TableHeaderSelectionCell.d.ts +2 -0
- package/components/table/render/header/TableHeaderSelectionCell.js +22 -12
- package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -1
- package/components/table/runtime/useRenderDraftState.js +1 -0
- package/components/table/runtime/useRenderDraftState.js.map +1 -1
- package/components/table/selection/useInternalTableSelectionState.js +12 -10
- package/components/table/selection/useInternalTableSelectionState.js.map +1 -1
- package/package.json +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
|
@@ -1,51 +1,52 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import ro from "./
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import {
|
|
21
|
-
import fo from "./
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import
|
|
33
|
-
|
|
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:
|
|
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:
|
|
47
|
-
gridLines:
|
|
48
|
-
rowClassName:
|
|
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:
|
|
64
|
+
onSelectionChange: te,
|
|
63
65
|
hideSelectionCheckboxesForExcludedRows: re = !1,
|
|
64
|
-
selectedRowIds:
|
|
65
|
-
selectionHeaderContent:
|
|
66
|
-
columnOrder:
|
|
67
|
-
onColumnResize:
|
|
68
|
-
onColumnOrderChange:
|
|
66
|
+
selectedRowIds: le,
|
|
67
|
+
selectionHeaderContent: ne,
|
|
68
|
+
columnOrder: ae,
|
|
69
|
+
onColumnResize: se,
|
|
70
|
+
onColumnOrderChange: ie,
|
|
69
71
|
showSelectionColumn: d = !1,
|
|
70
|
-
noRowsState:
|
|
72
|
+
noRowsState: de = "No data available",
|
|
71
73
|
virtualizedRows: R = !1,
|
|
72
|
-
virtualizationOverscan:
|
|
74
|
+
virtualizationOverscan: me = 5,
|
|
73
75
|
className: w,
|
|
74
|
-
style:
|
|
75
|
-
...
|
|
76
|
-
} = e,
|
|
77
|
-
|
|
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:
|
|
84
|
+
renderHasFooter: pe,
|
|
83
85
|
renderHasFooterCells: v,
|
|
84
|
-
renderHasExpandableRows:
|
|
85
|
-
renderBodyRow:
|
|
86
|
-
} =
|
|
87
|
-
columnDefinitionsByKey:
|
|
88
|
-
columnIndexByKey:
|
|
89
|
-
draggableColumnKeys:
|
|
86
|
+
renderHasExpandableRows: be,
|
|
87
|
+
renderBodyRow: fe
|
|
88
|
+
} = To(t), {
|
|
89
|
+
columnDefinitionsByKey: Ce,
|
|
90
|
+
columnIndexByKey: Re,
|
|
91
|
+
draggableColumnKeys: we,
|
|
90
92
|
draggableColumnsEnabled: g,
|
|
91
|
-
handleColumnDragEnd:
|
|
92
|
-
handleColumnResizeReset:
|
|
93
|
-
handleColumnResizeStart:
|
|
94
|
-
lastResizableColumnKey:
|
|
95
|
-
resettableColumnKeys:
|
|
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:
|
|
99
|
-
} =
|
|
100
|
-
columnOrder:
|
|
101
|
-
onColumnOrderChange:
|
|
102
|
-
onColumnResize:
|
|
100
|
+
resizedColumns: Se
|
|
101
|
+
} = yo({
|
|
102
|
+
columnOrder: ae,
|
|
103
|
+
onColumnOrderChange: ie,
|
|
104
|
+
onColumnResize: se,
|
|
103
105
|
renderHeaderColumns: T,
|
|
104
106
|
viewType: p
|
|
105
|
-
}), S =
|
|
107
|
+
}), S = vo({
|
|
106
108
|
renderHeaderColumns: T,
|
|
107
109
|
resolvedRenderColumns: s,
|
|
108
110
|
sortBy: Y,
|
|
109
111
|
sortDirection: Z
|
|
110
|
-
}),
|
|
112
|
+
}), xe = v ?? !1, {
|
|
111
113
|
handleBodyScroll: x,
|
|
112
|
-
hasHorizontalScrollEndOffset:
|
|
114
|
+
hasHorizontalScrollEndOffset: Be,
|
|
113
115
|
hasHorizontalScrollStartOffset: B,
|
|
114
116
|
tableUseOverflow: m,
|
|
115
|
-
tableWrapperRef:
|
|
116
|
-
wrapperStyle:
|
|
117
|
+
tableWrapperRef: Ee,
|
|
118
|
+
wrapperStyle: E,
|
|
117
119
|
tableHeadRowRef: He,
|
|
118
|
-
tableFooterRowRef:
|
|
119
|
-
wrapperWidth:
|
|
120
|
-
} =
|
|
120
|
+
tableFooterRowRef: Fe,
|
|
121
|
+
wrapperWidth: $e
|
|
122
|
+
} = bo({
|
|
121
123
|
bodyMaxHeight: y,
|
|
122
124
|
cardsStyle: b,
|
|
123
|
-
columns:
|
|
124
|
-
hasFooterCells:
|
|
125
|
+
columns: Se,
|
|
126
|
+
hasFooterCells: xe,
|
|
125
127
|
rowSeparatorWidth: U,
|
|
126
128
|
showSelectionColumn: d,
|
|
127
129
|
stickyReference: q,
|
|
128
|
-
style:
|
|
129
|
-
}), l =
|
|
130
|
+
style: ce
|
|
131
|
+
}), l = ho({
|
|
130
132
|
onViewTypeChange: K,
|
|
131
|
-
responsiveBreakpoint:
|
|
133
|
+
responsiveBreakpoint: D,
|
|
132
134
|
viewType: p,
|
|
133
|
-
wrapperTableWidth:
|
|
134
|
-
wrapperWidth:
|
|
135
|
-
}), { cardClasses:
|
|
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:
|
|
142
|
+
rounded: G,
|
|
141
143
|
className: w,
|
|
142
144
|
cardsStyle: b
|
|
143
|
-
}), F =
|
|
144
|
-
hasHeader: !!S || c(o, (
|
|
145
|
-
hasFooter: l === "TABLE" && (
|
|
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:
|
|
150
|
-
selectableRowIdSet:
|
|
151
|
-
isAllRowsSelected:
|
|
152
|
-
isSomeRowsSelected:
|
|
153
|
-
hasSelectableRows:
|
|
154
|
-
handleToggleAllSelection:
|
|
155
|
-
handleToggleRowSelection:
|
|
156
|
-
} =
|
|
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:
|
|
159
|
-
selectedRowIds:
|
|
160
|
+
onSelectionChange: te,
|
|
161
|
+
selectedRowIds: le
|
|
160
162
|
}), Oe = {
|
|
161
163
|
showSelectionColumn: d,
|
|
162
|
-
selectedRowIdSet:
|
|
163
|
-
selectableRowIdSet:
|
|
164
|
-
selectionHeaderContent:
|
|
165
|
-
isAllRowsSelected:
|
|
166
|
-
isSomeRowsSelected:
|
|
167
|
-
hasSelectableRows:
|
|
164
|
+
selectedRowIdSet: Ke,
|
|
165
|
+
selectableRowIdSet: Le,
|
|
166
|
+
selectionHeaderContent: ne,
|
|
167
|
+
isAllRowsSelected: Ne,
|
|
168
|
+
isSomeRowsSelected: Ie,
|
|
169
|
+
hasSelectableRows: Me,
|
|
168
170
|
hideSelectionCheckboxesForExcludedRows: re,
|
|
169
|
-
onToggleAllSelection:
|
|
170
|
-
onToggleRowSelection:
|
|
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:
|
|
180
|
-
draggableColumnKeys: g ?
|
|
181
|
-
lastResizableColumnKey: a ?
|
|
182
|
-
resettableColumnKeys: a ?
|
|
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:
|
|
186
|
-
onColumnDragEnd: g ?
|
|
187
|
-
onColumnResizeReset: a ?
|
|
188
|
-
onColumnResizeStart: a ?
|
|
189
|
-
},
|
|
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:
|
|
193
|
-
noRowsState:
|
|
194
|
+
cardClasses: ze,
|
|
195
|
+
noRowsState: de,
|
|
194
196
|
rowKey: j,
|
|
195
|
-
rowClassName:
|
|
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:
|
|
201
|
-
},
|
|
202
|
-
renderDraft:
|
|
203
|
+
virtualizationOverscan: me
|
|
204
|
+
}, Ue = {
|
|
205
|
+
renderDraft: t.current,
|
|
203
206
|
header: S,
|
|
204
207
|
columns: s,
|
|
205
|
-
columnDefinitionsByKey:
|
|
206
|
-
columnIndexByKey:
|
|
208
|
+
columnDefinitionsByKey: Ce,
|
|
209
|
+
columnIndexByKey: Re,
|
|
207
210
|
bodyRows: h,
|
|
208
|
-
renderBodyRow:
|
|
211
|
+
renderBodyRow: fe,
|
|
209
212
|
hasFooterCells: v,
|
|
210
|
-
hasExpandableRows:
|
|
213
|
+
hasExpandableRows: be,
|
|
211
214
|
isRegisteringBodyRows: !0
|
|
212
|
-
},
|
|
213
|
-
|
|
215
|
+
}, A = /* @__PURE__ */ r(
|
|
216
|
+
So.Provider,
|
|
214
217
|
{
|
|
215
218
|
value: Oe,
|
|
216
|
-
children: /* @__PURE__ */
|
|
217
|
-
|
|
219
|
+
children: /* @__PURE__ */ r(xo.Provider, { value: We, children: /* @__PURE__ */ r(
|
|
220
|
+
Bo.Provider,
|
|
218
221
|
{
|
|
219
|
-
value:
|
|
220
|
-
children: /* @__PURE__ */
|
|
221
|
-
|
|
222
|
+
value: je,
|
|
223
|
+
children: /* @__PURE__ */ r(
|
|
224
|
+
Eo.Provider,
|
|
222
225
|
{
|
|
223
|
-
value:
|
|
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__ */
|
|
234
|
+
return /* @__PURE__ */ r(
|
|
232
235
|
"div",
|
|
233
236
|
{
|
|
234
|
-
...
|
|
235
|
-
className:
|
|
236
|
-
|
|
237
|
+
...ue,
|
|
238
|
+
className: Ze(
|
|
239
|
+
Co({
|
|
237
240
|
viewType: l,
|
|
238
241
|
condensed: L,
|
|
239
242
|
striped: N,
|
|
240
|
-
gridLines:
|
|
243
|
+
gridLines: O,
|
|
241
244
|
className: w,
|
|
242
245
|
tableUseOverflow: m,
|
|
243
246
|
flags: z,
|
|
244
|
-
hasHover:
|
|
247
|
+
hasHover: Ae,
|
|
245
248
|
styleClassSwitches: ke
|
|
246
249
|
}),
|
|
247
250
|
B && "table-has-horizontal-scroll-start-offset",
|
|
248
|
-
(
|
|
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:
|
|
254
|
-
children: m && !y ? /* @__PURE__ */
|
|
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
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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
|