@rio-cloud/rio-uikit 2.3.0-beta.2 → 2.3.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Marker.js +9 -5
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
- package/components/datepicker/DayPicker.js +72 -70
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerDropdown.d.ts +1 -0
- package/components/datepicker/DayPickerDropdown.js +61 -48
- package/components/datepicker/DayPickerDropdown.js.map +1 -1
- package/components/datepicker/useStackedDayPickerCalendars.js +26 -26
- package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -1
- package/components/listMenu/ListMenu.d.ts +8 -0
- package/components/listMenu/ListMenu.js +74 -66
- package/components/listMenu/ListMenu.js.map +1 -1
- package/components/map/components/Map.js +189 -157
- package/components/map/components/Map.js.map +1 -1
- package/components/map/components/MapContext.d.ts +1 -0
- package/components/map/components/MapContext.js +8 -7
- package/components/map/components/MapContext.js.map +1 -1
- package/components/map/components/features/Route.d.ts +65 -1
- package/components/map/components/features/Route.js +184 -98
- package/components/map/components/features/Route.js.map +1 -1
- package/components/map/components/features/basics/Marker.d.ts +21 -1
- package/components/map/components/features/basics/Marker.js +99 -40
- package/components/map/components/features/basics/Marker.js.map +1 -1
- package/components/map/components/features/basics/Polygon.d.ts +24 -1
- package/components/map/components/features/basics/Polygon.js +72 -19
- package/components/map/components/features/basics/Polygon.js.map +1 -1
- package/components/map/components/features/basics/Polyline.d.ts +29 -0
- package/components/map/components/features/basics/Polyline.js +69 -39
- package/components/map/components/features/basics/Polyline.js.map +1 -1
- package/components/map/components/features/layers/MarkerLayer.js +8 -8
- package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
- package/components/map/utils/clustering.d.ts +1 -1
- package/components/map/utils/clustering.js +30 -30
- package/components/map/utils/clustering.js.map +1 -1
- package/components/map/utils/mapTypes.d.ts +135 -0
- package/components/map/utils/mapTypes.js.map +1 -1
- package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
- package/components/mapMarker/ClusterMapMarker.js.map +1 -1
- package/components/mapMarker/SingleMapMarker.d.ts +2 -0
- package/components/mapMarker/SingleMapMarker.js.map +1 -1
- package/components/selects/ClearButton.js +9 -7
- package/components/selects/ClearButton.js.map +1 -1
- package/components/table/Table.js +208 -205
- package/components/table/Table.js.map +1 -1
- package/components/table/Table.types.d.ts +13 -4
- package/components/table/TableColumn.d.ts +8 -1
- package/components/table/TableColumn.js +66 -64
- package/components/table/TableColumn.js.map +1 -1
- package/components/table/TableExpandedRow.js +11 -11
- package/components/table/TableExpandedRow.js.map +1 -1
- package/components/table/TableHeader.d.ts +17 -0
- package/components/table/TableHeader.js +89 -76
- package/components/table/TableHeader.js.map +1 -1
- package/components/table/TableHeaderColumn.d.ts +11 -1
- package/components/table/TableHeaderColumn.js +63 -58
- package/components/table/TableHeaderColumn.js.map +1 -1
- package/components/table/TableRow.d.ts +6 -0
- package/components/table/TableRow.js +49 -48
- package/components/table/TableRow.js.map +1 -1
- package/components/table/context/TableLayoutContext.d.ts +1 -0
- package/components/table/context/TableLayoutContext.js.map +1 -1
- package/components/table/layout/useHorizontalSectionSync.d.ts +2 -1
- package/components/table/layout/useHorizontalSectionSync.js +32 -31
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
- package/components/table/layout/useTableLayout.d.ts +2 -1
- package/components/table/layout/useTableLayout.js +37 -30
- package/components/table/layout/useTableLayout.js.map +1 -1
- package/components/table/render/header/TableDraggableHeaderCell.js +38 -36
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
- package/components/table/render/header/TableHeader.types.d.ts +2 -0
- package/components/table/render/header/TableHeaderCellContent.js +16 -16
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
- package/components/table/render/header/TableStaticHeaderCell.js +31 -29
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +1 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +10 -9
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
- package/components/table/runtime/useResolvedRenderColumns.d.ts +4 -4
- package/components/table/runtime/useResolvedRenderColumns.js +13 -13
- package/components/table/runtime/useResolvedRenderColumns.js.map +1 -1
- package/components/table/runtime/useResolvedRenderHeader.d.ts +1 -1
- package/components/table/runtime/useResolvedRenderHeader.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +27 -5
- package/hooks/useDraggableElement.js +100 -23
- package/hooks/useDraggableElement.js.map +1 -1
- package/hooks/usePopperDropdown.d.ts +1 -0
- package/hooks/usePopperDropdown.js +15 -12
- package/hooks/usePopperDropdown.js.map +1 -1
- package/package.json +1 -1
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
- package/utils/init/initConfig.js +5 -5
- package/utils/init/initConfig.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
|
@@ -1,205 +1,207 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as Pe, useRef as Ie, Children as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import { useTableLayout as
|
|
19
|
-
import { resolveTableClassConfig as
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import { TableInteractionContext as
|
|
27
|
-
import { TableLayoutContext as
|
|
28
|
-
import { TableRenderConfigContext as
|
|
29
|
-
import { TableRenderContext as
|
|
30
|
-
import
|
|
31
|
-
const
|
|
2
|
+
import { forwardRef as Pe, useRef as Ie, Children as Oe, isValidElement as f, Fragment as Ve } from "react";
|
|
3
|
+
import Ge from "../../utils/classNames.js";
|
|
4
|
+
import We from "../../hooks/useMergeRefs.js";
|
|
5
|
+
import je from "./TableBody.js";
|
|
6
|
+
import Ue from "./TableColumn.js";
|
|
7
|
+
import qe from "./TableExpanderButton.js";
|
|
8
|
+
import Je from "./TableExpandedContentRow.js";
|
|
9
|
+
import Qe from "./TableExpandedRow.js";
|
|
10
|
+
import $ from "./TableFooter.js";
|
|
11
|
+
import Xe from "./TableGroupFooterRow.js";
|
|
12
|
+
import Ye from "./TableGroupRow.js";
|
|
13
|
+
import A from "./TableHeader.js";
|
|
14
|
+
import Ze from "./TableHeaderColumn.js";
|
|
15
|
+
import _e from "./TableHeaderRow.js";
|
|
16
|
+
import eo from "./TableRow.js";
|
|
17
|
+
import oo from "./TableSpacerRow.js";
|
|
18
|
+
import { useTableLayout as ro } from "./layout/useTableLayout.js";
|
|
19
|
+
import { resolveTableClassConfig as to, resolveTableBaseClassName as no } from "./model/resolveTableClassConfig.js";
|
|
20
|
+
import lo from "./render/header/TableBatchDropdown.js";
|
|
21
|
+
import ao from "./render/header/TableColumnFilter.js";
|
|
22
|
+
import so from "./runtime/useRenderDraftState.js";
|
|
23
|
+
import io from "./runtime/useResolvedRenderColumns.js";
|
|
24
|
+
import mo from "./runtime/useResolvedRenderHeader.js";
|
|
25
|
+
import co from "./selection/useInternalTableSelectionState.js";
|
|
26
|
+
import { TableInteractionContext as uo } from "./context/TableInteractionContext.js";
|
|
27
|
+
import { TableLayoutContext as fo } from "./context/TableLayoutContext.js";
|
|
28
|
+
import { TableRenderConfigContext as bo } from "./context/TableRenderConfigContext.js";
|
|
29
|
+
import { TableRenderContext as po } from "./context/TableRenderContext.js";
|
|
30
|
+
import Co from "./settings/TableColumnsDropdown.js";
|
|
31
|
+
const Qo = je, Xo = A, Yo = _e, Zo = Ze, _o = $, er = Ue, or = qe, rr = eo, tr = oo, nr = Qe, lr = Je, ar = Ye, sr = Xe, ir = lo, dr = ao, mr = Co, u = (e, l) => Oe.toArray(e).some((o) => l(o) ? !0 : f(o) && o.type === Ve ? u(o.props.children, l) : !1), Ro = (e) => f(e) && e.type === A, wo = (e) => f(e) && e.type === $, cr = Pe(
|
|
32
32
|
(e, l) => {
|
|
33
33
|
const {
|
|
34
34
|
children: o,
|
|
35
35
|
viewType: n = "TABLE",
|
|
36
|
-
cardsStyle:
|
|
37
|
-
condensed:
|
|
38
|
-
striped:
|
|
39
|
-
hover:
|
|
40
|
-
shadow:
|
|
41
|
-
border:
|
|
42
|
-
rounded:
|
|
36
|
+
cardsStyle: b,
|
|
37
|
+
condensed: D = !1,
|
|
38
|
+
striped: K = !1,
|
|
39
|
+
hover: N = !1,
|
|
40
|
+
shadow: k = !1,
|
|
41
|
+
border: L = !0,
|
|
42
|
+
rounded: M = !0,
|
|
43
43
|
gridLines: P = !1,
|
|
44
44
|
rowClassName: I,
|
|
45
|
-
rowKey:
|
|
46
|
-
rowSeparatorWidth:
|
|
47
|
-
stickyColumns:
|
|
48
|
-
activeRowId:
|
|
49
|
-
onActiveRowChange:
|
|
50
|
-
rowAnimationProps:
|
|
51
|
-
expandedRowAnimation:
|
|
52
|
-
sortBy:
|
|
53
|
-
sortDirection:
|
|
54
|
-
onSortChange:
|
|
55
|
-
cellClassName:
|
|
56
|
-
onRowClick:
|
|
57
|
-
onSelectionChange:
|
|
58
|
-
selectedRowIds:
|
|
59
|
-
selectionHeaderContent:
|
|
60
|
-
columnOrder:
|
|
61
|
-
onColumnResize:
|
|
62
|
-
onColumnOrderChange:
|
|
63
|
-
showSelectionColumn:
|
|
64
|
-
noRowsState:
|
|
65
|
-
virtualizedRows:
|
|
66
|
-
virtualizationOverscan:
|
|
67
|
-
className:
|
|
68
|
-
style:
|
|
69
|
-
...
|
|
45
|
+
rowKey: O,
|
|
46
|
+
rowSeparatorWidth: V,
|
|
47
|
+
stickyColumns: i,
|
|
48
|
+
activeRowId: G,
|
|
49
|
+
onActiveRowChange: p,
|
|
50
|
+
rowAnimationProps: W,
|
|
51
|
+
expandedRowAnimation: j,
|
|
52
|
+
sortBy: U,
|
|
53
|
+
sortDirection: q,
|
|
54
|
+
onSortChange: J,
|
|
55
|
+
cellClassName: Q,
|
|
56
|
+
onRowClick: C,
|
|
57
|
+
onSelectionChange: X,
|
|
58
|
+
selectedRowIds: Y,
|
|
59
|
+
selectionHeaderContent: Z,
|
|
60
|
+
columnOrder: _,
|
|
61
|
+
onColumnResize: ee,
|
|
62
|
+
onColumnOrderChange: oe,
|
|
63
|
+
showSelectionColumn: d = !1,
|
|
64
|
+
noRowsState: re = "No data available",
|
|
65
|
+
virtualizedRows: R = !1,
|
|
66
|
+
virtualizationOverscan: te = 5,
|
|
67
|
+
className: w,
|
|
68
|
+
style: ne,
|
|
69
|
+
...le
|
|
70
70
|
} = e, r = Ie({ headerColumns: [], bodyRows: [] });
|
|
71
71
|
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;
|
|
72
72
|
const {
|
|
73
|
-
renderHeaderColumns:
|
|
73
|
+
renderHeaderColumns: h,
|
|
74
74
|
renderBodyRows: T,
|
|
75
|
-
renderBodyMaxHeight:
|
|
76
|
-
renderHasFooter:
|
|
77
|
-
renderHasFooterCells:
|
|
78
|
-
renderHasExpandableRows:
|
|
79
|
-
renderBodyRow:
|
|
80
|
-
} =
|
|
81
|
-
columnDefinitionsByKey:
|
|
82
|
-
columnIndexByKey:
|
|
83
|
-
draggableColumnKeys:
|
|
75
|
+
renderBodyMaxHeight: y,
|
|
76
|
+
renderHasFooter: ae,
|
|
77
|
+
renderHasFooterCells: g,
|
|
78
|
+
renderHasExpandableRows: se,
|
|
79
|
+
renderBodyRow: ie
|
|
80
|
+
} = so(r), {
|
|
81
|
+
columnDefinitionsByKey: de,
|
|
82
|
+
columnIndexByKey: me,
|
|
83
|
+
draggableColumnKeys: ce,
|
|
84
84
|
draggableColumnsEnabled: v,
|
|
85
|
-
handleColumnDragEnd:
|
|
86
|
-
handleColumnResizeReset:
|
|
87
|
-
handleColumnResizeStart:
|
|
88
|
-
lastResizableColumnKey:
|
|
89
|
-
resettableColumnKeys:
|
|
85
|
+
handleColumnDragEnd: ue,
|
|
86
|
+
handleColumnResizeReset: fe,
|
|
87
|
+
handleColumnResizeStart: be,
|
|
88
|
+
lastResizableColumnKey: pe,
|
|
89
|
+
resettableColumnKeys: Ce,
|
|
90
90
|
resizeColumnsEnabled: a,
|
|
91
91
|
resolvedRenderColumns: s,
|
|
92
|
-
resizedColumns:
|
|
93
|
-
} =
|
|
94
|
-
columnOrder:
|
|
95
|
-
onColumnOrderChange:
|
|
96
|
-
onColumnResize:
|
|
97
|
-
renderHeaderColumns:
|
|
92
|
+
resizedColumns: Re
|
|
93
|
+
} = io({
|
|
94
|
+
columnOrder: _,
|
|
95
|
+
onColumnOrderChange: oe,
|
|
96
|
+
onColumnResize: ee,
|
|
97
|
+
renderHeaderColumns: h,
|
|
98
98
|
viewType: n
|
|
99
|
-
}),
|
|
100
|
-
renderHeaderColumns:
|
|
99
|
+
}), S = mo({
|
|
100
|
+
renderHeaderColumns: h,
|
|
101
101
|
resolvedRenderColumns: s,
|
|
102
|
-
sortBy:
|
|
103
|
-
sortDirection:
|
|
104
|
-
}), { cardClasses:
|
|
102
|
+
sortBy: U,
|
|
103
|
+
sortDirection: q
|
|
104
|
+
}), { cardClasses: we, hasHover: he, isTableView: m, styleClassSwitches: Te } = to({
|
|
105
105
|
viewType: n,
|
|
106
|
-
hover:
|
|
107
|
-
shadow:
|
|
108
|
-
border:
|
|
109
|
-
rounded:
|
|
110
|
-
className:
|
|
111
|
-
cardsStyle:
|
|
112
|
-
}),
|
|
113
|
-
handleBodyScroll:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
106
|
+
hover: N,
|
|
107
|
+
shadow: k,
|
|
108
|
+
border: L,
|
|
109
|
+
rounded: M,
|
|
110
|
+
className: w,
|
|
111
|
+
cardsStyle: b
|
|
112
|
+
}), ye = g ?? !1, x = n === "TABLE" ? Math.min(i?.left ?? 0, 1) : 0, H = n === "TABLE" ? Math.min(i?.right ?? 0, 1) : 0, ge = (x > 0 || H > 0) && i?.footer === !0, {
|
|
113
|
+
handleBodyScroll: B,
|
|
114
|
+
hasHorizontalScrollEndOffset: ve,
|
|
115
|
+
hasHorizontalScrollStartOffset: E,
|
|
116
|
+
tableUseOverflow: c,
|
|
117
|
+
tableWrapperRef: Se,
|
|
118
|
+
wrapperStyle: xe,
|
|
119
|
+
tableHeadRowRef: He,
|
|
120
|
+
tableFooterRowRef: Be
|
|
121
|
+
} = ro({
|
|
122
|
+
bodyMaxHeight: y,
|
|
123
|
+
cardsStyle: b,
|
|
124
|
+
columns: Re,
|
|
125
|
+
hasFooterCells: ye,
|
|
126
|
+
rowSeparatorWidth: V,
|
|
127
|
+
showSelectionColumn: d,
|
|
128
|
+
style: ne
|
|
129
|
+
}), Ee = We(Se, l), F = {
|
|
130
|
+
hasHeader: !!S || u(o, (Me) => Ro(Me)),
|
|
131
|
+
hasFooter: m && (ae || u(o, wo)),
|
|
132
|
+
isClickable: typeof C == "function" || typeof p == "function",
|
|
133
|
+
isTableView: m
|
|
133
134
|
}, {
|
|
134
|
-
selectedRowIdSet:
|
|
135
|
-
isAllRowsSelected:
|
|
136
|
-
isSomeRowsSelected:
|
|
137
|
-
handleToggleAllSelection:
|
|
138
|
-
handleToggleRowSelection:
|
|
139
|
-
} =
|
|
135
|
+
selectedRowIdSet: Fe,
|
|
136
|
+
isAllRowsSelected: ze,
|
|
137
|
+
isSomeRowsSelected: $e,
|
|
138
|
+
handleToggleAllSelection: Ae,
|
|
139
|
+
handleToggleRowSelection: De
|
|
140
|
+
} = co({
|
|
140
141
|
bodyRows: T,
|
|
141
|
-
onSelectionChange:
|
|
142
|
-
selectedRowIds:
|
|
143
|
-
}),
|
|
144
|
-
showSelectionColumn:
|
|
145
|
-
selectedRowIdSet:
|
|
146
|
-
selectionHeaderContent:
|
|
147
|
-
isAllRowsSelected:
|
|
148
|
-
isSomeRowsSelected:
|
|
149
|
-
onToggleAllSelection:
|
|
150
|
-
onToggleRowSelection:
|
|
151
|
-
activeRowId:
|
|
152
|
-
onActiveRowChange:
|
|
153
|
-
onRowClick:
|
|
154
|
-
isClickable:
|
|
155
|
-
onSortChange:
|
|
156
|
-
},
|
|
157
|
-
handleBodyScroll:
|
|
158
|
-
tableHeadRowRef:
|
|
159
|
-
tableFooterRowRef:
|
|
160
|
-
draggableColumnKeys: v ?
|
|
161
|
-
lastResizableColumnKey: a ?
|
|
162
|
-
resettableColumnKeys: a ?
|
|
163
|
-
stickyLeftColumnCount:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
142
|
+
onSelectionChange: X,
|
|
143
|
+
selectedRowIds: Y
|
|
144
|
+
}), Ke = {
|
|
145
|
+
showSelectionColumn: d,
|
|
146
|
+
selectedRowIdSet: Fe,
|
|
147
|
+
selectionHeaderContent: Z,
|
|
148
|
+
isAllRowsSelected: ze,
|
|
149
|
+
isSomeRowsSelected: $e,
|
|
150
|
+
onToggleAllSelection: Ae,
|
|
151
|
+
onToggleRowSelection: De,
|
|
152
|
+
activeRowId: G,
|
|
153
|
+
onActiveRowChange: p,
|
|
154
|
+
onRowClick: C,
|
|
155
|
+
isClickable: F.isClickable,
|
|
156
|
+
onSortChange: J
|
|
157
|
+
}, Ne = {
|
|
158
|
+
handleBodyScroll: B,
|
|
159
|
+
tableHeadRowRef: He,
|
|
160
|
+
tableFooterRowRef: Be,
|
|
161
|
+
draggableColumnKeys: v ? ce : void 0,
|
|
162
|
+
lastResizableColumnKey: a ? pe : void 0,
|
|
163
|
+
resettableColumnKeys: a ? Ce : void 0,
|
|
164
|
+
stickyLeftColumnCount: x,
|
|
165
|
+
stickyRightColumnCount: H,
|
|
166
|
+
stickyFooter: ge,
|
|
167
|
+
onColumnDragEnd: v ? ue : void 0,
|
|
168
|
+
onColumnResizeReset: a ? fe : void 0,
|
|
169
|
+
onColumnResizeStart: a ? be : void 0
|
|
170
|
+
}, ke = {
|
|
169
171
|
viewType: n,
|
|
170
|
-
isTableView:
|
|
171
|
-
cardClasses:
|
|
172
|
-
noRowsState:
|
|
173
|
-
rowKey:
|
|
172
|
+
isTableView: m,
|
|
173
|
+
cardClasses: we,
|
|
174
|
+
noRowsState: re,
|
|
175
|
+
rowKey: O,
|
|
174
176
|
rowClassName: I,
|
|
175
|
-
cellClassName:
|
|
176
|
-
rowAnimationProps:
|
|
177
|
-
expandedRowAnimation:
|
|
178
|
-
virtualizedRows:
|
|
179
|
-
virtualizationOverscan:
|
|
180
|
-
},
|
|
177
|
+
cellClassName: Q,
|
|
178
|
+
rowAnimationProps: R ? void 0 : W,
|
|
179
|
+
expandedRowAnimation: j,
|
|
180
|
+
virtualizedRows: R,
|
|
181
|
+
virtualizationOverscan: te
|
|
182
|
+
}, Le = {
|
|
181
183
|
renderDraft: r.current,
|
|
182
|
-
header:
|
|
184
|
+
header: S,
|
|
183
185
|
columns: s,
|
|
184
|
-
columnDefinitionsByKey:
|
|
185
|
-
columnIndexByKey:
|
|
186
|
+
columnDefinitionsByKey: de,
|
|
187
|
+
columnIndexByKey: me,
|
|
186
188
|
bodyRows: T,
|
|
187
|
-
renderBodyRow:
|
|
188
|
-
hasFooterCells:
|
|
189
|
-
hasExpandableRows:
|
|
189
|
+
renderBodyRow: ie,
|
|
190
|
+
hasFooterCells: g,
|
|
191
|
+
hasExpandableRows: se,
|
|
190
192
|
isRegisteringBodyRows: !0
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
+
}, z = /* @__PURE__ */ t(
|
|
194
|
+
uo.Provider,
|
|
193
195
|
{
|
|
194
|
-
value:
|
|
195
|
-
children: /* @__PURE__ */ t(
|
|
196
|
-
|
|
196
|
+
value: Ke,
|
|
197
|
+
children: /* @__PURE__ */ t(fo.Provider, { value: Ne, children: /* @__PURE__ */ t(
|
|
198
|
+
bo.Provider,
|
|
197
199
|
{
|
|
198
|
-
value:
|
|
200
|
+
value: ke,
|
|
199
201
|
children: /* @__PURE__ */ t(
|
|
200
|
-
|
|
202
|
+
po.Provider,
|
|
201
203
|
{
|
|
202
|
-
value:
|
|
204
|
+
value: Le,
|
|
203
205
|
children: o
|
|
204
206
|
}
|
|
205
207
|
)
|
|
@@ -210,47 +212,48 @@ const qo = Ge, Jo = $, Qo = Ye, Xo = Xe, Yo = E, Zo = We, _o = je, er = Ze, or =
|
|
|
210
212
|
return /* @__PURE__ */ t(
|
|
211
213
|
"div",
|
|
212
214
|
{
|
|
213
|
-
...
|
|
214
|
-
className:
|
|
215
|
-
|
|
215
|
+
...le,
|
|
216
|
+
className: Ge(
|
|
217
|
+
no({
|
|
216
218
|
viewType: n,
|
|
217
|
-
condensed:
|
|
218
|
-
striped:
|
|
219
|
+
condensed: D,
|
|
220
|
+
striped: K,
|
|
219
221
|
gridLines: P,
|
|
220
|
-
className:
|
|
221
|
-
tableUseOverflow:
|
|
222
|
-
flags:
|
|
223
|
-
hasHover:
|
|
224
|
-
styleClassSwitches:
|
|
222
|
+
className: w,
|
|
223
|
+
tableUseOverflow: c,
|
|
224
|
+
flags: F,
|
|
225
|
+
hasHover: he,
|
|
226
|
+
styleClassSwitches: Te
|
|
225
227
|
}),
|
|
226
|
-
|
|
228
|
+
E && "table-has-horizontal-scroll-start-offset",
|
|
229
|
+
(ve || c && !E) && "table-has-horizontal-scroll-end-offset"
|
|
227
230
|
),
|
|
228
|
-
ref:
|
|
231
|
+
ref: Ee,
|
|
229
232
|
role: "table",
|
|
230
|
-
"aria-colcount": s.length > 0 ? s.length + (
|
|
231
|
-
style:
|
|
232
|
-
children:
|
|
233
|
+
"aria-colcount": s.length > 0 ? s.length + (d ? 1 : 0) : void 0,
|
|
234
|
+
style: xe,
|
|
235
|
+
children: c && !y ? /* @__PURE__ */ t("div", { className: "overflow-x-auto", onScroll: B, role: "presentation", children: /* @__PURE__ */ t("div", { className: "table-scroll-content", role: "presentation", children: z }) }) : z
|
|
233
236
|
}
|
|
234
237
|
);
|
|
235
238
|
}
|
|
236
239
|
);
|
|
237
240
|
export {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
241
|
+
ir as TableBatchDropdown,
|
|
242
|
+
Qo as TableBody,
|
|
243
|
+
er as TableColumn,
|
|
244
|
+
dr as TableColumnFilter,
|
|
245
|
+
mr as TableColumnsDropdown,
|
|
246
|
+
lr as TableExpandedContentRow,
|
|
247
|
+
nr as TableExpandedRow,
|
|
248
|
+
or as TableExpanderButton,
|
|
249
|
+
_o as TableFooter,
|
|
250
|
+
sr as TableGroupFooterRow,
|
|
251
|
+
ar as TableGroupRow,
|
|
252
|
+
Xo as TableHeader,
|
|
253
|
+
Zo as TableHeaderColumn,
|
|
254
|
+
Yo as TableHeaderRow,
|
|
255
|
+
rr as TableRow,
|
|
256
|
+
tr as TableSpacerRow,
|
|
257
|
+
cr as default
|
|
255
258
|
};
|
|
256
259
|
//# 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 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 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 TableRowAnimationProps,\n TableRowId,\n TableRowClassName,\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 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 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 stickyColumns,\n activeRowId,\n onActiveRowChange,\n rowAnimationProps,\n expandedRowAnimation,\n sortBy,\n sortDirection,\n onSortChange,\n cellClassName,\n onRowClick,\n onSelectionChange,\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 { cardClasses, hasHover, isTableView, styleClassSwitches } = resolveTableClassConfig({\n viewType,\n hover,\n shadow,\n border,\n rounded,\n className,\n cardsStyle,\n });\n\n const hasFooterCells = renderHasFooterCells ?? false;\n const stickyLeftColumnCount = viewType === 'TABLE' ? Math.min(stickyColumns?.left ?? 0, 1) : 0;\n const stickyFooter = stickyLeftColumnCount > 0 && stickyColumns?.footer === true;\n\n const {\n handleBodyScroll,\n hasHorizontalScrollOffset,\n tableUseOverflow,\n tableWrapperRef,\n wrapperStyle,\n tableHeadRowRef,\n tableFooterRowRef,\n } = useTableLayout({\n bodyMaxHeight: renderBodyMaxHeight,\n cardsStyle,\n columns: resizedColumns,\n hasFooterCells,\n rowSeparatorWidth,\n showSelectionColumn,\n style,\n });\n\n const mergedWrapperRefs = useMergeRefs(tableWrapperRef, ref);\n\n const flags = {\n hasHeader:\n !!resolvedRenderHeader ||\n hasMatchingSectionChild(children, child => isTableHeaderChild<RowType>(child)),\n hasFooter: isTableView && (renderHasFooter || hasMatchingSectionChild(children, isTableFooterChild)),\n isClickable: typeof onRowClick === 'function' || typeof onActiveRowChange === 'function',\n isTableView,\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 isAllRowsSelected,\n isSomeRowsSelected,\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 selectionHeaderContent,\n isAllRowsSelected,\n isSomeRowsSelected,\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 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,\n isTableView,\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,\n condensed,\n striped,\n gridLines,\n className,\n tableUseOverflow,\n flags,\n hasHover,\n styleClassSwitches,\n }),\n hasHorizontalScrollOffset && 'table-has-horizontal-scroll-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","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","condensed","striped","hover","shadow","border","rounded","gridLines","rowClassName","rowKey","rowSeparatorWidth","stickyColumns","activeRowId","onActiveRowChange","rowAnimationProps","expandedRowAnimation","sortBy","sortDirection","onSortChange","cellClassName","onRowClick","onSelectionChange","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","cardClasses","hasHover","isTableView","styleClassSwitches","resolveTableClassConfig","hasFooterCells","stickyLeftColumnCount","stickyFooter","handleBodyScroll","hasHorizontalScrollOffset","tableUseOverflow","tableWrapperRef","wrapperStyle","tableHeadRowRef","tableFooterRowRef","useTableLayout","mergedWrapperRefs","useMergeRefs","flags","selectedRowIdSet","isAllRowsSelected","isSomeRowsSelected","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 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 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 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 TableRowAnimationProps,\n TableRowId,\n TableRowClassName,\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 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 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 stickyColumns,\n activeRowId,\n onActiveRowChange,\n rowAnimationProps,\n expandedRowAnimation,\n sortBy,\n sortDirection,\n onSortChange,\n cellClassName,\n onRowClick,\n onSelectionChange,\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 { cardClasses, hasHover, isTableView, styleClassSwitches } = resolveTableClassConfig({\n viewType,\n hover,\n shadow,\n border,\n rounded,\n className,\n cardsStyle,\n });\n\n const hasFooterCells = renderHasFooterCells ?? false;\n const stickyLeftColumnCount = viewType === 'TABLE' ? Math.min(stickyColumns?.left ?? 0, 1) : 0;\n const stickyRightColumnCount = viewType === 'TABLE' ? Math.min(stickyColumns?.right ?? 0, 1) : 0;\n const stickyFooter =\n (stickyLeftColumnCount > 0 || stickyRightColumnCount > 0) && stickyColumns?.footer === true;\n\n const {\n handleBodyScroll,\n hasHorizontalScrollEndOffset,\n hasHorizontalScrollStartOffset,\n tableUseOverflow,\n tableWrapperRef,\n wrapperStyle,\n tableHeadRowRef,\n tableFooterRowRef,\n } = useTableLayout({\n bodyMaxHeight: renderBodyMaxHeight,\n cardsStyle,\n columns: resizedColumns,\n hasFooterCells,\n rowSeparatorWidth,\n showSelectionColumn,\n style,\n });\n\n const mergedWrapperRefs = useMergeRefs(tableWrapperRef, ref);\n\n const flags = {\n hasHeader:\n !!resolvedRenderHeader ||\n hasMatchingSectionChild(children, child => isTableHeaderChild<RowType>(child)),\n hasFooter: isTableView && (renderHasFooter || hasMatchingSectionChild(children, isTableFooterChild)),\n isClickable: typeof onRowClick === 'function' || typeof onActiveRowChange === 'function',\n isTableView,\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 isAllRowsSelected,\n isSomeRowsSelected,\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 selectionHeaderContent,\n isAllRowsSelected,\n isSomeRowsSelected,\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,\n isTableView,\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,\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","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","condensed","striped","hover","shadow","border","rounded","gridLines","rowClassName","rowKey","rowSeparatorWidth","stickyColumns","activeRowId","onActiveRowChange","rowAnimationProps","expandedRowAnimation","sortBy","sortDirection","onSortChange","cellClassName","onRowClick","onSelectionChange","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","cardClasses","hasHover","isTableView","styleClassSwitches","resolveTableClassConfig","hasFooterCells","stickyLeftColumnCount","stickyRightColumnCount","stickyFooter","handleBodyScroll","hasHorizontalScrollEndOffset","hasHorizontalScrollStartOffset","tableUseOverflow","tableWrapperRef","wrapperStyle","tableHeadRowRef","tableFooterRowRef","useTableLayout","mergedWrapperRefs","useMergeRefs","flags","selectedRowIdSet","isAllRowsSelected","isSomeRowsSelected","handleToggleAllSelection","handleToggleRowSelection","useInternalTableSelectionState","interactionContextValue","layoutContextValue","renderConfigContextValue","renderContextValue","content","jsx","TableInteractionContext","TableLayoutContext","TableRenderConfigContext","TableRenderContext","classNames","resolveTableBaseClassName"],"mappings":"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"}
|
|
@@ -55,7 +55,16 @@ export type TableStickyColumns = {
|
|
|
55
55
|
*/
|
|
56
56
|
left?: 1;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Number of currently rightmost visible data columns to keep sticky in `TABLE` view.
|
|
59
|
+
*
|
|
60
|
+
* This is position-based and follows column reordering.
|
|
61
|
+
* Selection columns and group rows are ignored.
|
|
62
|
+
*
|
|
63
|
+
* The public API currently supports `1`.
|
|
64
|
+
*/
|
|
65
|
+
right?: 1;
|
|
66
|
+
/**
|
|
67
|
+
* Aligns footer cells with the sticky column behavior.
|
|
59
68
|
*
|
|
60
69
|
* By default, the footer stays independent so it can still span the selection column
|
|
61
70
|
* or the full table width for summary and batch-action use cases.
|
|
@@ -249,13 +258,13 @@ export type TableProps<RowType extends TableRowData> = Omit<HTMLAttributes<HTMLD
|
|
|
249
258
|
/**
|
|
250
259
|
* Sticky column behavior in `TABLE` view.
|
|
251
260
|
*
|
|
252
|
-
* `left`
|
|
261
|
+
* `left` and `right` are position-based and follow column reordering.
|
|
253
262
|
* Selection columns and group rows are ignored.
|
|
254
263
|
*
|
|
255
|
-
* The public API currently supports `left: 1`.
|
|
264
|
+
* The public API currently supports `left: 1` and `right: 1`.
|
|
256
265
|
*
|
|
257
266
|
* @example
|
|
258
|
-
* stickyColumns={{ left: 1, footer: true }}
|
|
267
|
+
* stickyColumns={{ left: 1, right: 1, footer: true }}
|
|
259
268
|
*/
|
|
260
269
|
stickyColumns?: TableStickyColumns;
|
|
261
270
|
/**
|
|
@@ -11,7 +11,14 @@ export type TableColumnProps = TableHtmlAttributes & {
|
|
|
11
11
|
children?: ReactNode;
|
|
12
12
|
/**
|
|
13
13
|
* Optional explicit column key.
|
|
14
|
-
*
|
|
14
|
+
*
|
|
15
|
+
* In `TableBody`, this should usually match the `columnKey` of the corresponding
|
|
16
|
+
* `TableHeaderColumn` for the same data column. If omitted, the cell is matched by its position inside
|
|
17
|
+
* the current row.
|
|
18
|
+
*
|
|
19
|
+
* Position-based matching is mainly useful for simple rows that mirror the header
|
|
20
|
+
* order exactly. For spanned cells, reordered columns, or more complex row layouts,
|
|
21
|
+
* prefer an explicit `columnKey`.
|
|
15
22
|
*/
|
|
16
23
|
columnKey?: string;
|
|
17
24
|
/**
|