@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.
Files changed (102) hide show
  1. package/Marker.js +9 -5
  2. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
  3. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
  4. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
  5. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
  6. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
  7. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
  8. package/components/datepicker/DayPicker.js +72 -70
  9. package/components/datepicker/DayPicker.js.map +1 -1
  10. package/components/datepicker/DayPickerDropdown.d.ts +1 -0
  11. package/components/datepicker/DayPickerDropdown.js +61 -48
  12. package/components/datepicker/DayPickerDropdown.js.map +1 -1
  13. package/components/datepicker/useStackedDayPickerCalendars.js +26 -26
  14. package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -1
  15. package/components/listMenu/ListMenu.d.ts +8 -0
  16. package/components/listMenu/ListMenu.js +74 -66
  17. package/components/listMenu/ListMenu.js.map +1 -1
  18. package/components/map/components/Map.js +189 -157
  19. package/components/map/components/Map.js.map +1 -1
  20. package/components/map/components/MapContext.d.ts +1 -0
  21. package/components/map/components/MapContext.js +8 -7
  22. package/components/map/components/MapContext.js.map +1 -1
  23. package/components/map/components/features/Route.d.ts +65 -1
  24. package/components/map/components/features/Route.js +184 -98
  25. package/components/map/components/features/Route.js.map +1 -1
  26. package/components/map/components/features/basics/Marker.d.ts +21 -1
  27. package/components/map/components/features/basics/Marker.js +99 -40
  28. package/components/map/components/features/basics/Marker.js.map +1 -1
  29. package/components/map/components/features/basics/Polygon.d.ts +24 -1
  30. package/components/map/components/features/basics/Polygon.js +72 -19
  31. package/components/map/components/features/basics/Polygon.js.map +1 -1
  32. package/components/map/components/features/basics/Polyline.d.ts +29 -0
  33. package/components/map/components/features/basics/Polyline.js +69 -39
  34. package/components/map/components/features/basics/Polyline.js.map +1 -1
  35. package/components/map/components/features/layers/MarkerLayer.js +8 -8
  36. package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
  37. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
  38. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
  39. package/components/map/utils/clustering.d.ts +1 -1
  40. package/components/map/utils/clustering.js +30 -30
  41. package/components/map/utils/clustering.js.map +1 -1
  42. package/components/map/utils/mapTypes.d.ts +135 -0
  43. package/components/map/utils/mapTypes.js.map +1 -1
  44. package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
  45. package/components/mapMarker/ClusterMapMarker.js.map +1 -1
  46. package/components/mapMarker/SingleMapMarker.d.ts +2 -0
  47. package/components/mapMarker/SingleMapMarker.js.map +1 -1
  48. package/components/selects/ClearButton.js +9 -7
  49. package/components/selects/ClearButton.js.map +1 -1
  50. package/components/table/Table.js +208 -205
  51. package/components/table/Table.js.map +1 -1
  52. package/components/table/Table.types.d.ts +13 -4
  53. package/components/table/TableColumn.d.ts +8 -1
  54. package/components/table/TableColumn.js +66 -64
  55. package/components/table/TableColumn.js.map +1 -1
  56. package/components/table/TableExpandedRow.js +11 -11
  57. package/components/table/TableExpandedRow.js.map +1 -1
  58. package/components/table/TableHeader.d.ts +17 -0
  59. package/components/table/TableHeader.js +89 -76
  60. package/components/table/TableHeader.js.map +1 -1
  61. package/components/table/TableHeaderColumn.d.ts +11 -1
  62. package/components/table/TableHeaderColumn.js +63 -58
  63. package/components/table/TableHeaderColumn.js.map +1 -1
  64. package/components/table/TableRow.d.ts +6 -0
  65. package/components/table/TableRow.js +49 -48
  66. package/components/table/TableRow.js.map +1 -1
  67. package/components/table/context/TableLayoutContext.d.ts +1 -0
  68. package/components/table/context/TableLayoutContext.js.map +1 -1
  69. package/components/table/layout/useHorizontalSectionSync.d.ts +2 -1
  70. package/components/table/layout/useHorizontalSectionSync.js +32 -31
  71. package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
  72. package/components/table/layout/useTableLayout.d.ts +2 -1
  73. package/components/table/layout/useTableLayout.js +37 -30
  74. package/components/table/layout/useTableLayout.js.map +1 -1
  75. package/components/table/render/header/TableDraggableHeaderCell.js +38 -36
  76. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
  77. package/components/table/render/header/TableHeader.types.d.ts +2 -0
  78. package/components/table/render/header/TableHeaderCellContent.js +16 -16
  79. package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
  80. package/components/table/render/header/TableStaticHeaderCell.js +31 -29
  81. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
  82. package/components/table/render/header/resolveHeaderCellClassName.d.ts +1 -0
  83. package/components/table/render/header/resolveHeaderCellClassName.js +10 -9
  84. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
  85. package/components/table/runtime/useResolvedRenderColumns.d.ts +4 -4
  86. package/components/table/runtime/useResolvedRenderColumns.js +13 -13
  87. package/components/table/runtime/useResolvedRenderColumns.js.map +1 -1
  88. package/components/table/runtime/useResolvedRenderHeader.d.ts +1 -1
  89. package/components/table/runtime/useResolvedRenderHeader.js.map +1 -1
  90. package/hooks/useDraggableElement.d.ts +27 -5
  91. package/hooks/useDraggableElement.js +100 -23
  92. package/hooks/useDraggableElement.js.map +1 -1
  93. package/hooks/usePopperDropdown.d.ts +1 -0
  94. package/hooks/usePopperDropdown.js +15 -12
  95. package/hooks/usePopperDropdown.js.map +1 -1
  96. package/package.json +1 -1
  97. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
  98. package/utils/init/initConfig.js +5 -5
  99. package/utils/init/initConfig.js.map +1 -1
  100. package/version.d.ts +1 -1
  101. package/version.js +1 -1
  102. 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 Le, isValidElement as c, Fragment as Me } from "react";
3
- import Ve from "../../utils/classNames.js";
4
- import Oe from "../../hooks/useMergeRefs.js";
5
- import Ge from "./TableBody.js";
6
- import We from "./TableColumn.js";
7
- import je from "./TableExpanderButton.js";
8
- import Ue from "./TableExpandedContentRow.js";
9
- import qe from "./TableExpandedRow.js";
10
- import E from "./TableFooter.js";
11
- import Je from "./TableGroupFooterRow.js";
12
- import Qe from "./TableGroupRow.js";
13
- import $ from "./TableHeader.js";
14
- import Xe from "./TableHeaderColumn.js";
15
- import Ye from "./TableHeaderRow.js";
16
- import Ze from "./TableRow.js";
17
- import _e from "./TableSpacerRow.js";
18
- import { useTableLayout as eo } from "./layout/useTableLayout.js";
19
- import { resolveTableClassConfig as oo, resolveTableBaseClassName as ro } from "./model/resolveTableClassConfig.js";
20
- import to from "./render/header/TableBatchDropdown.js";
21
- import no from "./render/header/TableColumnFilter.js";
22
- import lo from "./runtime/useRenderDraftState.js";
23
- import ao from "./runtime/useResolvedRenderColumns.js";
24
- import so from "./runtime/useResolvedRenderHeader.js";
25
- import io from "./selection/useInternalTableSelectionState.js";
26
- import { TableInteractionContext as mo } from "./context/TableInteractionContext.js";
27
- import { TableLayoutContext as co } from "./context/TableLayoutContext.js";
28
- import { TableRenderConfigContext as uo } from "./context/TableRenderConfigContext.js";
29
- import { TableRenderContext as bo } from "./context/TableRenderContext.js";
30
- import fo from "./settings/TableColumnsDropdown.js";
31
- const qo = Ge, Jo = $, Qo = Ye, Xo = Xe, Yo = E, Zo = We, _o = je, er = Ze, or = _e, rr = qe, tr = Ue, nr = Qe, lr = Je, ar = to, sr = no, ir = fo, m = (e, l) => Le.toArray(e).some((o) => l(o) ? !0 : c(o) && o.type === Me ? m(o.props.children, l) : !1), po = (e) => c(e) && e.type === $, Co = (e) => c(e) && e.type === E, dr = Pe(
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: u,
37
- condensed: z = !1,
38
- striped: D = !1,
39
- hover: A = !1,
40
- shadow: K = !1,
41
- border: N = !0,
42
- rounded: k = !0,
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: L,
46
- rowSeparatorWidth: M,
47
- stickyColumns: b,
48
- activeRowId: V,
49
- onActiveRowChange: f,
50
- rowAnimationProps: O,
51
- expandedRowAnimation: G,
52
- sortBy: W,
53
- sortDirection: j,
54
- onSortChange: U,
55
- cellClassName: q,
56
- onRowClick: p,
57
- onSelectionChange: J,
58
- selectedRowIds: Q,
59
- selectionHeaderContent: X,
60
- columnOrder: Y,
61
- onColumnResize: Z,
62
- onColumnOrderChange: _,
63
- showSelectionColumn: i = !1,
64
- noRowsState: ee = "No data available",
65
- virtualizedRows: C = !1,
66
- virtualizationOverscan: oe = 5,
67
- className: R,
68
- style: re,
69
- ...te
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: w,
73
+ renderHeaderColumns: h,
74
74
  renderBodyRows: T,
75
- renderBodyMaxHeight: h,
76
- renderHasFooter: ne,
77
- renderHasFooterCells: y,
78
- renderHasExpandableRows: le,
79
- renderBodyRow: ae
80
- } = lo(r), {
81
- columnDefinitionsByKey: se,
82
- columnIndexByKey: ie,
83
- draggableColumnKeys: de,
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: me,
86
- handleColumnResizeReset: ce,
87
- handleColumnResizeStart: ue,
88
- lastResizableColumnKey: be,
89
- resettableColumnKeys: fe,
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: pe
93
- } = ao({
94
- columnOrder: Y,
95
- onColumnOrderChange: _,
96
- onColumnResize: Z,
97
- renderHeaderColumns: w,
92
+ resizedColumns: Re
93
+ } = io({
94
+ columnOrder: _,
95
+ onColumnOrderChange: oe,
96
+ onColumnResize: ee,
97
+ renderHeaderColumns: h,
98
98
  viewType: n
99
- }), g = so({
100
- renderHeaderColumns: w,
99
+ }), S = mo({
100
+ renderHeaderColumns: h,
101
101
  resolvedRenderColumns: s,
102
- sortBy: W,
103
- sortDirection: j
104
- }), { cardClasses: Ce, hasHover: Re, isTableView: d, styleClassSwitches: we } = oo({
102
+ sortBy: U,
103
+ sortDirection: q
104
+ }), { cardClasses: we, hasHover: he, isTableView: m, styleClassSwitches: Te } = to({
105
105
  viewType: n,
106
- hover: A,
107
- shadow: K,
108
- border: N,
109
- rounded: k,
110
- className: R,
111
- cardsStyle: u
112
- }), Te = y ?? !1, S = n === "TABLE" ? Math.min(b?.left ?? 0, 1) : 0, he = S > 0 && b?.footer === !0, {
113
- handleBodyScroll: x,
114
- hasHorizontalScrollOffset: ye,
115
- tableUseOverflow: H,
116
- tableWrapperRef: ve,
117
- wrapperStyle: ge,
118
- tableHeadRowRef: Se,
119
- tableFooterRowRef: xe
120
- } = eo({
121
- bodyMaxHeight: h,
122
- cardsStyle: u,
123
- columns: pe,
124
- hasFooterCells: Te,
125
- rowSeparatorWidth: M,
126
- showSelectionColumn: i,
127
- style: re
128
- }), He = Oe(ve, l), B = {
129
- hasHeader: !!g || m(o, (ke) => po(ke)),
130
- hasFooter: d && (ne || m(o, Co)),
131
- isClickable: typeof p == "function" || typeof f == "function",
132
- isTableView: d
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: Be,
135
- isAllRowsSelected: Fe,
136
- isSomeRowsSelected: Ee,
137
- handleToggleAllSelection: $e,
138
- handleToggleRowSelection: ze
139
- } = io({
135
+ selectedRowIdSet: Fe,
136
+ isAllRowsSelected: ze,
137
+ isSomeRowsSelected: $e,
138
+ handleToggleAllSelection: Ae,
139
+ handleToggleRowSelection: De
140
+ } = co({
140
141
  bodyRows: T,
141
- onSelectionChange: J,
142
- selectedRowIds: Q
143
- }), De = {
144
- showSelectionColumn: i,
145
- selectedRowIdSet: Be,
146
- selectionHeaderContent: X,
147
- isAllRowsSelected: Fe,
148
- isSomeRowsSelected: Ee,
149
- onToggleAllSelection: $e,
150
- onToggleRowSelection: ze,
151
- activeRowId: V,
152
- onActiveRowChange: f,
153
- onRowClick: p,
154
- isClickable: B.isClickable,
155
- onSortChange: U
156
- }, Ae = {
157
- handleBodyScroll: x,
158
- tableHeadRowRef: Se,
159
- tableFooterRowRef: xe,
160
- draggableColumnKeys: v ? de : void 0,
161
- lastResizableColumnKey: a ? be : void 0,
162
- resettableColumnKeys: a ? fe : void 0,
163
- stickyLeftColumnCount: S,
164
- stickyFooter: he,
165
- onColumnDragEnd: v ? me : void 0,
166
- onColumnResizeReset: a ? ce : void 0,
167
- onColumnResizeStart: a ? ue : void 0
168
- }, Ke = {
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: d,
171
- cardClasses: Ce,
172
- noRowsState: ee,
173
- rowKey: L,
172
+ isTableView: m,
173
+ cardClasses: we,
174
+ noRowsState: re,
175
+ rowKey: O,
174
176
  rowClassName: I,
175
- cellClassName: q,
176
- rowAnimationProps: C ? void 0 : O,
177
- expandedRowAnimation: G,
178
- virtualizedRows: C,
179
- virtualizationOverscan: oe
180
- }, Ne = {
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: g,
184
+ header: S,
183
185
  columns: s,
184
- columnDefinitionsByKey: se,
185
- columnIndexByKey: ie,
186
+ columnDefinitionsByKey: de,
187
+ columnIndexByKey: me,
186
188
  bodyRows: T,
187
- renderBodyRow: ae,
188
- hasFooterCells: y,
189
- hasExpandableRows: le,
189
+ renderBodyRow: ie,
190
+ hasFooterCells: g,
191
+ hasExpandableRows: se,
190
192
  isRegisteringBodyRows: !0
191
- }, F = /* @__PURE__ */ t(
192
- mo.Provider,
193
+ }, z = /* @__PURE__ */ t(
194
+ uo.Provider,
193
195
  {
194
- value: De,
195
- children: /* @__PURE__ */ t(co.Provider, { value: Ae, children: /* @__PURE__ */ t(
196
- uo.Provider,
196
+ value: Ke,
197
+ children: /* @__PURE__ */ t(fo.Provider, { value: Ne, children: /* @__PURE__ */ t(
198
+ bo.Provider,
197
199
  {
198
- value: Ke,
200
+ value: ke,
199
201
  children: /* @__PURE__ */ t(
200
- bo.Provider,
202
+ po.Provider,
201
203
  {
202
- value: Ne,
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
- ...te,
214
- className: Ve(
215
- ro({
215
+ ...le,
216
+ className: Ge(
217
+ no({
216
218
  viewType: n,
217
- condensed: z,
218
- striped: D,
219
+ condensed: D,
220
+ striped: K,
219
221
  gridLines: P,
220
- className: R,
221
- tableUseOverflow: H,
222
- flags: B,
223
- hasHover: Re,
224
- styleClassSwitches: we
222
+ className: w,
223
+ tableUseOverflow: c,
224
+ flags: F,
225
+ hasHover: he,
226
+ styleClassSwitches: Te
225
227
  }),
226
- ye && "table-has-horizontal-scroll-offset"
228
+ E && "table-has-horizontal-scroll-start-offset",
229
+ (ve || c && !E) && "table-has-horizontal-scroll-end-offset"
227
230
  ),
228
- ref: He,
231
+ ref: Ee,
229
232
  role: "table",
230
- "aria-colcount": s.length > 0 ? s.length + (i ? 1 : 0) : void 0,
231
- style: ge,
232
- children: H && !h ? /* @__PURE__ */ t("div", { className: "overflow-x-auto", onScroll: x, role: "presentation", children: /* @__PURE__ */ t("div", { className: "table-scroll-content", role: "presentation", children: F }) }) : F
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
- ar as TableBatchDropdown,
239
- qo as TableBody,
240
- Zo as TableColumn,
241
- sr as TableColumnFilter,
242
- ir as TableColumnsDropdown,
243
- tr as TableExpandedContentRow,
244
- rr as TableExpandedRow,
245
- _o as TableExpanderButton,
246
- Yo as TableFooter,
247
- lr as TableGroupFooterRow,
248
- nr as TableGroupRow,
249
- Jo as TableHeader,
250
- Xo as TableHeaderColumn,
251
- Qo as TableHeaderRow,
252
- er as TableRow,
253
- or as TableSpacerRow,
254
- dr as default
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
- * Aligns footer cells with the sticky left column behavior.
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` is position-based and follows column reordering.
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
- * If omitted, the cell is matched by its position inside `<TableRow>`.
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
  /**