@semcore/data-table 3.7.29 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -12
- package/lib/cjs/Body.js +49 -116
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +67 -144
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +24 -74
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/data-table.shadow.css +45 -29
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/utils.js +0 -8
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Body.js +49 -108
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +67 -133
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +24 -60
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/data-table.shadow.css +45 -29
- package/lib/es6/types.js.map +1 -1
- package/lib/es6/utils.js +0 -2
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","width","flattenColumns","hasNestedColumns","length","concat","getFixedStyle","cell","side","undefined","names","name","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","vars","map","join"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { Column } from './types';\n\nexport const getScrollOffsetValue = (columns: Column[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.width;\n }\n if (column.fixed === 'right') {\n acc[1] += column.width;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nexport const flattenColumns = (columns: Column[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: Column[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as Column[]);\n\nexport const getFixedStyle = (\n cell: Pick<Column, 'name' | 'fixed'>,\n columns: Column[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length - 1,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const vars = columnsFixed.map((column) => `var(--${column.name}_width)`);\n return [side, vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","width","exports","flattenColumns","hasNestedColumns","length","concat","getFixedStyle","cell","side","undefined","names","name","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","vars","map","join"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { Column } from './types';\n\nexport const getScrollOffsetValue = (columns: Column[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.width;\n }\n if (column.fixed === 'right') {\n acc[1] += column.width;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nexport const flattenColumns = (columns: Column[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: Column[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as Column[]);\n\nexport const getFixedStyle = (\n cell: Pick<Column, 'name' | 'fixed'>,\n columns: Column[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length - 1,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const vars = columnsFixed.map((column) => `var(--${column.name}_width)`);\n return [side, vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`];\n};\n"],"mappings":"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"}
|
package/lib/es6/Body.js
CHANGED
|
@@ -12,7 +12,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
12
12
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
13
13
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
14
14
|
var _excluded = ["childrenPropsGetter"],
|
|
15
|
-
|
|
15
|
+
_excluded2 = ["childrenPropsGetter"];
|
|
16
16
|
import React from 'react';
|
|
17
17
|
import { Component, sstyled, Root } from '@semcore/core';
|
|
18
18
|
import { Box, Flex } from '@semcore/flex-box';
|
|
@@ -20,69 +20,47 @@ import ScrollArea from '@semcore/scroll-area';
|
|
|
20
20
|
import { getFixedStyle, getScrollOffsetValue } from './utils';
|
|
21
21
|
import assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
22
22
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
23
|
-
|
|
24
23
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
|
25
|
-
var scrollStyles = (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
, "cog1g_gg_")
|
|
32
|
-
/*__reshadow_css_end__*/
|
|
33
|
-
, {
|
|
34
|
-
"__SShadowHorizontal": "___SShadowHorizontal_cog1g_gg_",
|
|
35
|
-
"--left": "--left_cog1g",
|
|
36
|
-
"--right": "--right_cog1g",
|
|
37
|
-
"__SContainer": "___SContainer_cog1g_gg_",
|
|
38
|
-
"_disabledScroll": "__disabledScroll_cog1g_gg_"
|
|
24
|
+
var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_hmn2a_gg_:before{left:var(--left_hmn2a)!important}.___SShadowHorizontal_hmn2a_gg_:after{right:var(--right_hmn2a)!important}.___SContainer_hmn2a_gg_.__disabledScroll_hmn2a_gg_{overflow:visible}" /*__inner_css_end__*/, "hmn2a_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__SShadowHorizontal": "___SShadowHorizontal_hmn2a_gg_",
|
|
26
|
+
"--left": "--left_hmn2a",
|
|
27
|
+
"--right": "--right_hmn2a",
|
|
28
|
+
"__SContainer": "___SContainer_hmn2a_gg_",
|
|
29
|
+
"_disabledScroll": "__disabledScroll_hmn2a_gg_"
|
|
39
30
|
});
|
|
40
31
|
import trottle from '@semcore/utils/lib/rafTrottle';
|
|
41
32
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
42
|
-
|
|
43
33
|
var getCellsByColumn = function getCellsByColumn(cells) {
|
|
44
34
|
var flattenCells = cells.flat(20);
|
|
45
35
|
return Object.fromEntries(flattenCells.map(function (cell) {
|
|
46
36
|
return [cell.name, cell.data];
|
|
47
37
|
}));
|
|
48
38
|
};
|
|
49
|
-
|
|
50
39
|
var Body = /*#__PURE__*/function (_Component) {
|
|
51
40
|
_inherits(Body, _Component);
|
|
52
|
-
|
|
53
41
|
var _super = _createSuper(Body);
|
|
54
|
-
|
|
55
42
|
function Body() {
|
|
56
43
|
var _this;
|
|
57
|
-
|
|
58
44
|
_classCallCheck(this, Body);
|
|
59
|
-
|
|
60
45
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
46
|
args[_key] = arguments[_key];
|
|
62
47
|
}
|
|
63
|
-
|
|
64
48
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
|
-
|
|
66
49
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
67
50
|
rowHeight: undefined,
|
|
68
51
|
scrollAreaHeight: undefined,
|
|
69
52
|
scrollOffset: 0
|
|
70
53
|
});
|
|
71
|
-
|
|
72
54
|
_defineProperty(_assertThisInitialized(_this), "firstRowRef", /*#__PURE__*/React.createRef());
|
|
73
|
-
|
|
74
55
|
_defineProperty(_assertThisInitialized(_this), "firstRowResizeObserver", null);
|
|
75
|
-
|
|
76
56
|
_defineProperty(_assertThisInitialized(_this), "getRowHeight", function () {
|
|
77
57
|
var virtualScroll = _this.asProps.virtualScroll;
|
|
78
58
|
var rowHeightFromProps = _typeof(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
79
59
|
return rowHeightFromProps || _this.state.rowHeight;
|
|
80
60
|
});
|
|
81
|
-
|
|
82
61
|
_defineProperty(_assertThisInitialized(_this), "handleFirstRowResize", trottle(function (entries) {
|
|
83
62
|
var contentRect = entries[0].contentRect;
|
|
84
63
|
var height = contentRect.height;
|
|
85
|
-
|
|
86
64
|
_this.setState(function (oldState) {
|
|
87
65
|
if (oldState.rowHeight === height) return oldState;
|
|
88
66
|
return {
|
|
@@ -90,13 +68,11 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
90
68
|
};
|
|
91
69
|
});
|
|
92
70
|
}));
|
|
93
|
-
|
|
94
71
|
_defineProperty(_assertThisInitialized(_this), "handleScrollAreaResize", trottle(function (entries) {
|
|
95
72
|
var virtualScroll = _this.asProps.virtualScroll;
|
|
96
73
|
if (!virtualScroll) return;
|
|
97
74
|
var contentRect = entries[0].contentRect;
|
|
98
75
|
var height = contentRect.height;
|
|
99
|
-
|
|
100
76
|
_this.setState(function (oldState) {
|
|
101
77
|
if (oldState.scrollAreaHeight === height) return oldState;
|
|
102
78
|
return {
|
|
@@ -104,12 +80,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
104
80
|
};
|
|
105
81
|
});
|
|
106
82
|
}));
|
|
107
|
-
|
|
108
83
|
_defineProperty(_assertThisInitialized(_this), "handleScrollAreaScroll", function (event) {
|
|
109
84
|
var _ref6 = event.target,
|
|
110
|
-
|
|
85
|
+
scrollTop = _ref6.scrollTop;
|
|
111
86
|
var virtualScroll = _this.asProps.virtualScroll;
|
|
112
|
-
|
|
113
87
|
if (virtualScroll) {
|
|
114
88
|
_this.setState(function (oldState) {
|
|
115
89
|
if (oldState.scrollOffset === scrollTop) return oldState;
|
|
@@ -119,32 +93,26 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
119
93
|
});
|
|
120
94
|
}
|
|
121
95
|
});
|
|
122
|
-
|
|
123
96
|
_defineProperty(_assertThisInitialized(_this), "setupRowSizeObserver", function () {
|
|
124
97
|
if (!_this.firstRowRef.current) return;
|
|
125
98
|
if (!_this.asProps.virtualScroll) return;
|
|
126
99
|
_this.firstRowResizeObserver = new ResizeObserver(_this.handleFirstRowResize);
|
|
127
|
-
|
|
128
100
|
_this.firstRowResizeObserver.observe(_this.firstRowRef.current);
|
|
129
101
|
});
|
|
130
|
-
|
|
131
102
|
return _this;
|
|
132
103
|
}
|
|
133
|
-
|
|
134
104
|
_createClass(Body, [{
|
|
135
105
|
key: "renderCells",
|
|
136
106
|
value: function renderCells(cells, rowData, index) {
|
|
137
107
|
var _this2 = this;
|
|
138
|
-
|
|
139
108
|
var SCell = Flex;
|
|
140
109
|
var _this$asProps = this.asProps,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
110
|
+
styles = _this$asProps.styles,
|
|
111
|
+
columns = _this$asProps.columns,
|
|
112
|
+
use = _this$asProps.use;
|
|
144
113
|
return cells.map(function (cell) {
|
|
145
114
|
if (Array.isArray(cell)) {
|
|
146
115
|
var _ref2;
|
|
147
|
-
|
|
148
116
|
var SGroupCell = 'div';
|
|
149
117
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SGroupCell, _ref2.cn("SGroupCell", {
|
|
150
118
|
"role": "rowgroup",
|
|
@@ -152,7 +120,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
152
120
|
}), _this2.renderRows(cell));
|
|
153
121
|
} else {
|
|
154
122
|
var _ref3, _column$props, _column$props2;
|
|
155
|
-
|
|
156
123
|
var nameParts = cell.name.split('/');
|
|
157
124
|
var firstName = nameParts[0];
|
|
158
125
|
var lastName = nameParts[nameParts.length - 1];
|
|
@@ -165,12 +132,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
165
132
|
var column = columns.find(function (c) {
|
|
166
133
|
return c.name === cell.name;
|
|
167
134
|
});
|
|
168
|
-
|
|
169
135
|
var _getFixedStyle = getFixedStyle(cell, columns),
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
136
|
+
_getFixedStyle2 = _slicedToArray(_getFixedStyle, 2),
|
|
137
|
+
name = _getFixedStyle2[0],
|
|
138
|
+
value = _getFixedStyle2[1];
|
|
174
139
|
var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (name) {
|
|
175
140
|
return "var(".concat(name, ")");
|
|
176
141
|
});
|
|
@@ -185,24 +150,19 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
185
150
|
width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")
|
|
186
151
|
}
|
|
187
152
|
};
|
|
188
|
-
|
|
189
153
|
if (name !== undefined && value !== undefined) {
|
|
190
154
|
props.style[name] = value;
|
|
191
155
|
}
|
|
192
|
-
|
|
193
156
|
var _iterator = _createForOfIteratorHelper(cell.cellPropsLayers || []),
|
|
194
|
-
|
|
195
|
-
|
|
157
|
+
_step;
|
|
196
158
|
try {
|
|
197
159
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
198
160
|
var cellPropLayer = _step.value;
|
|
199
|
-
|
|
200
161
|
var _cellPropLayer$childr = cellPropLayer.childrenPropsGetter,
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
162
|
+
childrenPropsGetter = _cellPropLayer$childr === void 0 ? function (p) {
|
|
163
|
+
return p;
|
|
164
|
+
} : _cellPropLayer$childr,
|
|
165
|
+
other = _objectWithoutProperties(cellPropLayer, _excluded);
|
|
206
166
|
var propsCell = assignProps(other, props);
|
|
207
167
|
props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);
|
|
208
168
|
}
|
|
@@ -211,7 +171,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
211
171
|
} finally {
|
|
212
172
|
_iterator.f();
|
|
213
173
|
}
|
|
214
|
-
|
|
215
174
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
|
|
216
175
|
"key": cell.name,
|
|
217
176
|
"role": "cell"
|
|
@@ -229,16 +188,15 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
229
188
|
key: "renderRow",
|
|
230
189
|
value: function renderRow(cells, _ref7) {
|
|
231
190
|
var _ref4;
|
|
232
|
-
|
|
233
191
|
var dataIndex = _ref7.dataIndex,
|
|
234
|
-
|
|
235
|
-
|
|
192
|
+
topOffset = _ref7.topOffset,
|
|
193
|
+
nested = _ref7.nested;
|
|
236
194
|
var SRow = Box;
|
|
237
195
|
var _this$asProps2 = this.asProps,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
196
|
+
styles = _this$asProps2.styles,
|
|
197
|
+
rowPropsLayers = _this$asProps2.rowPropsLayers,
|
|
198
|
+
uniqueKey = _this$asProps2.uniqueKey,
|
|
199
|
+
virtualScroll = _this$asProps2.virtualScroll;
|
|
242
200
|
var rowHeightFromProps = _typeof(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
243
201
|
var rowData = cells.flatRowData || getCellsByColumn(cells);
|
|
244
202
|
var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
|
|
@@ -253,20 +211,16 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
253
211
|
key: key,
|
|
254
212
|
'aria-rowindex': dataIndex + 1
|
|
255
213
|
};
|
|
256
|
-
|
|
257
214
|
var _iterator2 = _createForOfIteratorHelper(rowPropsLayers),
|
|
258
|
-
|
|
259
|
-
|
|
215
|
+
_step2;
|
|
260
216
|
try {
|
|
261
217
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
262
218
|
var rowPropsLayer = _step2.value;
|
|
263
|
-
|
|
264
219
|
var _rowPropsLayer$childr = rowPropsLayer.childrenPropsGetter,
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
220
|
+
childrenPropsGetter = _rowPropsLayer$childr === void 0 ? function (p) {
|
|
221
|
+
return p;
|
|
222
|
+
} : _rowPropsLayer$childr,
|
|
223
|
+
other = _objectWithoutProperties(rowPropsLayer, _excluded2);
|
|
270
224
|
var propsRow = assignProps(other, props);
|
|
271
225
|
props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);
|
|
272
226
|
}
|
|
@@ -275,7 +229,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
275
229
|
} finally {
|
|
276
230
|
_iterator2.f();
|
|
277
231
|
}
|
|
278
|
-
|
|
279
232
|
return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SRow, _ref4.cn("SRow", _objectSpread({
|
|
280
233
|
"role": "row"
|
|
281
234
|
}, props)));
|
|
@@ -284,7 +237,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
284
237
|
key: "renderRows",
|
|
285
238
|
value: function renderRows(rows) {
|
|
286
239
|
var _this3 = this;
|
|
287
|
-
|
|
288
240
|
return rows.map(function (cells, dataIndex) {
|
|
289
241
|
return _this3.renderRow(cells, {
|
|
290
242
|
dataIndex: dataIndex,
|
|
@@ -296,13 +248,12 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
296
248
|
key: "renderVirtualizedRows",
|
|
297
249
|
value: function renderVirtualizedRows(rows) {
|
|
298
250
|
var _ref8,
|
|
299
|
-
|
|
300
|
-
|
|
251
|
+
_this4 = this;
|
|
301
252
|
if (rows.length === 0) return [];
|
|
302
253
|
var virtualScroll = this.asProps.virtualScroll;
|
|
303
254
|
var _this$state = this.state,
|
|
304
|
-
|
|
305
|
-
|
|
255
|
+
scrollOffset = _this$state.scrollOffset,
|
|
256
|
+
scrollAreaHeight = _this$state.scrollAreaHeight;
|
|
306
257
|
var rowHeight = this.getRowHeight();
|
|
307
258
|
var tollerance = (_ref8 = _typeof(virtualScroll) === 'object' ? virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.tollerance : 2) !== null && _ref8 !== void 0 ? _ref8 : 2;
|
|
308
259
|
var startIndex = Math.max(Math.floor(scrollOffset / rowHeight) - tollerance, 0);
|
|
@@ -322,15 +273,13 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
322
273
|
topOffset: rowHeight * (startIndex + index)
|
|
323
274
|
};
|
|
324
275
|
});
|
|
325
|
-
|
|
326
276
|
if (needToMeasureFirstRowHeight && startIndex !== 0) {
|
|
327
277
|
processedVisibleRows.unshift(firstRow);
|
|
328
278
|
}
|
|
329
|
-
|
|
330
279
|
return processedVisibleRows.map(function (_ref9) {
|
|
331
280
|
var cells = _ref9.cells,
|
|
332
|
-
|
|
333
|
-
|
|
281
|
+
dataIndex = _ref9.dataIndex,
|
|
282
|
+
topOffset = _ref9.topOffset;
|
|
334
283
|
return _this4.renderRow(cells, {
|
|
335
284
|
dataIndex: dataIndex,
|
|
336
285
|
topOffset: topOffset,
|
|
@@ -342,50 +291,44 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
342
291
|
key: "componentWillUnmount",
|
|
343
292
|
value: function componentWillUnmount() {
|
|
344
293
|
var _this$firstRowResizeO;
|
|
345
|
-
|
|
346
294
|
(_this$firstRowResizeO = this.firstRowResizeObserver) === null || _this$firstRowResizeO === void 0 ? void 0 : _this$firstRowResizeO.disconnect();
|
|
347
295
|
}
|
|
348
296
|
}, {
|
|
349
297
|
key: "render",
|
|
350
298
|
value: function render() {
|
|
351
299
|
var _ref = this.asProps,
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
300
|
+
_ref5,
|
|
301
|
+
_this5 = this;
|
|
355
302
|
var SBody = Box;
|
|
356
303
|
var SBodyWrapper = Box;
|
|
357
304
|
var SScrollAreaBar = ScrollArea.Bar;
|
|
358
305
|
var SHeightHold = Box;
|
|
359
306
|
var _this$asProps3 = this.asProps,
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
307
|
+
Children = _this$asProps3.Children,
|
|
308
|
+
styles = _this$asProps3.styles,
|
|
309
|
+
rows = _this$asProps3.rows,
|
|
310
|
+
columns = _this$asProps3.columns,
|
|
311
|
+
$scrollRef = _this$asProps3.$scrollRef,
|
|
312
|
+
virtualScroll = _this$asProps3.virtualScroll,
|
|
313
|
+
onResize = _this$asProps3.onResize,
|
|
314
|
+
onScroll = _this$asProps3.onScroll,
|
|
315
|
+
disabledScroll = _this$asProps3.disabledScroll;
|
|
369
316
|
var columnsInitialized = columns.reduce(function (sum, _ref10) {
|
|
370
317
|
var width = _ref10.width;
|
|
371
318
|
return sum + width;
|
|
372
319
|
}, 0) > 0 || testEnv;
|
|
373
|
-
|
|
374
320
|
var _getScrollOffsetValue = getScrollOffsetValue(columns),
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
321
|
+
_getScrollOffsetValue2 = _slicedToArray(_getScrollOffsetValue, 2),
|
|
322
|
+
offsetLeftSum = _getScrollOffsetValue2[0],
|
|
323
|
+
offsetRightSum = _getScrollOffsetValue2[1];
|
|
379
324
|
var offsetSum = offsetLeftSum + offsetRightSum;
|
|
380
325
|
var rowHeight = this.getRowHeight();
|
|
381
326
|
var holdHeight = rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;
|
|
382
|
-
|
|
383
327
|
if (virtualScroll && columnsInitialized && !rowHeight) {
|
|
384
328
|
new Promise(function () {
|
|
385
329
|
return _this5.setupRowSizeObserver();
|
|
386
330
|
});
|
|
387
331
|
}
|
|
388
|
-
|
|
389
332
|
return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SBodyWrapper, _ref5.cn("SBodyWrapper", {}), /*#__PURE__*/React.createElement(ScrollArea, _ref5.cn("ScrollArea", {
|
|
390
333
|
"shadow": true,
|
|
391
334
|
"styles": scrollStyles,
|
|
@@ -411,9 +354,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
411
354
|
}))), Children.origin);
|
|
412
355
|
}
|
|
413
356
|
}]);
|
|
414
|
-
|
|
415
357
|
return Body;
|
|
416
358
|
}(Component);
|
|
417
|
-
|
|
418
359
|
export default Body;
|
|
419
360
|
//# sourceMappingURL=Body.js.map
|
package/lib/es6/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","ResizeObserver","trottle","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","state","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","styles","columns","use","Array","isArray","SGroupCell","renderRows","nameParts","split","firstName","lastName","length","firstColumn","find","c","lastColumn","column","value","vars","cssVar","props","children","justifyContent","alignItems","borderLeft","borderRight","style","width","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","fixed","theme","dataIndex","topOffset","nested","SRow","rowPropsLayers","uniqueKey","flatRowData","key","String","needToMeasureHeight","renderCells","active","positioned","top","ref","rowPropsLayer","propsRow","rows","renderRow","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","disconnect","SBody","SBodyWrapper","SScrollAreaBar","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","callAllEventHandlers","ResizeObserver","scrollStyles","_sstyled","insert","trottle","testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","rowHeight","undefined","scrollAreaHeight","scrollOffset","createRef","virtualScroll","asProps","rowHeightFromProps","_typeof","state","entries","contentRect","height","setState","oldState","event","_ref6","target","scrollTop","firstRowRef","current","firstRowResizeObserver","handleFirstRowResize","observe","_createClass","key","value","renderCells","rowData","index","_this2","SCell","_this$asProps","styles","columns","use","isArray","_ref2","SGroupCell","createElement","cn","renderRows","_ref3","_column$props","_column$props2","nameParts","split","firstName","lastName","firstColumn","find","c","lastColumn","column","_getFixedStyle","_getFixedStyle2","_slicedToArray","vars","cssVar","props","children","Fragment","justifyContent","alignItems","borderLeft","borderRight","style","width","join","_iterator","_createForOfIteratorHelper","cellPropsLayers","_step","s","n","done","cellPropLayer","_cellPropLayer$childr","childrenPropsGetter","p","other","_objectWithoutProperties","_excluded","propsCell","err","e","f","_objectSpread","fixed","theme","renderRow","_ref7","_ref4","dataIndex","topOffset","nested","SRow","_this$asProps2","rowPropsLayers","uniqueKey","flatRowData","String","needToMeasureHeight","active","positioned","top","ref","_iterator2","_step2","rowPropsLayer","_rowPropsLayer$childr","_excluded2","propsRow","rows","_this3","renderVirtualizedRows","_ref8","_this4","_this$state","getRowHeight","tollerance","startIndex","Math","max","floor","lastIndex","min","ceil","needToMeasureFirstRowHeight","firstRow","visibleRows","slice","processedVisibleRows","unshift","_ref9","componentWillUnmount","_this$firstRowResizeO","disconnect","render","_ref","_ref5","_this5","SBody","SBodyWrapper","SScrollAreaBar","Bar","SHeightHold","_this$asProps3","Children","$scrollRef","onResize","onScroll","disabledScroll","columnsInitialized","reduce","sum","_ref10","_getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","handleScrollAreaResize","handleScrollAreaScroll","Container","_assignProps","origin"],"sources":["../../src/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nconst getCellsByColumn = (cells: NestedCells): RowData => {\n const flattenCells = cells.flat(20) as Cell[];\n return Object.fromEntries(flattenCells.map((cell) => [cell.name, cell.data]));\n};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n uniqueKey: string;\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n disabledScroll?: boolean;\n};\n\ntype State = {\n rowHeight: number | undefined;\n scrollAreaHeight: undefined | number;\n scrollOffset: number;\n};\n\nclass Body extends Component<AsProps, State> {\n state: State = {\n rowHeight: undefined,\n scrollAreaHeight: undefined,\n scrollOffset: 0,\n };\n\n firstRowRef = React.createRef<HTMLElement>();\n firstRowResizeObserver: ResizeObserver | null = null;\n\n getRowHeight = () => {\n const { virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n return rowHeightFromProps || this.state.rowHeight;\n };\n\n renderCells(cells: NestedCells, rowData: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n const SGroupCell = 'div';\n return sstyled(styles)(\n <SGroupCell role=\"rowgroup\" data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\n const nameParts = cell.name.split('/');\n const firstName = nameParts[0];\n const lastName = nameParts[nameParts.length - 1];\n const firstColumn = columns.find((c) => c.name === firstName);\n const lastColumn = columns.find((c) => c.name === lastName);\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n justifyContent: column?.props?.justifyContent,\n alignItems: column?.props?.alignItems,\n borderLeft: firstColumn?.borderLeft,\n borderRight: lastColumn?.borderRight,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n };\n if (name !== undefined && value !== undefined) {\n props.style[name] = value;\n }\n\n for (const cellPropLayer of cell.cellPropsLayers || []) {\n const { childrenPropsGetter = (p) => p, ...other } = cellPropLayer;\n const propsCell = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsCell, rowData, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell\n key={cell.name}\n role=\"cell\"\n {...props}\n fixed={cell.fixed}\n theme={props.theme}\n use={use}\n borderLeft={props.borderLeft}\n borderRight={props.borderRight}\n />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n renderRow(\n cells: NestedCells,\n { dataIndex, topOffset, nested }: { dataIndex: number; topOffset?: number; nested: boolean },\n ) {\n const SRow = Box;\n const { styles, rowPropsLayers, uniqueKey, virtualScroll } = this.asProps;\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n\n const rowData = cells.flatRowData || getCellsByColumn(cells);\n const key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : `row_${dataIndex}`;\n const needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;\n\n let props = {\n children: this.renderCells(cells, rowData, dataIndex),\n theme: undefined,\n active: undefined,\n positioned: topOffset !== undefined,\n top: topOffset,\n ref: needToMeasureHeight ? this.firstRowRef : undefined,\n key,\n 'aria-rowindex': dataIndex + 1,\n };\n\n for (const rowPropsLayer of rowPropsLayers) {\n const { childrenPropsGetter = (p) => p, ...other } = rowPropsLayer;\n const propsRow = assignProps(other, props);\n props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);\n }\n\n return sstyled(styles)(<SRow role=\"row\" {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, dataIndex) => this.renderRow(cells, { dataIndex, nested: false }));\n }\n\n renderVirtualizedRows(rows: NestedCells[]) {\n if (rows.length === 0) return [];\n\n const { virtualScroll } = this.asProps;\n const { scrollOffset, scrollAreaHeight } = this.state;\n const rowHeight = this.getRowHeight();\n\n const tollerance = (typeof virtualScroll === 'object' ? virtualScroll?.tollerance : 2) ?? 2;\n const startIndex = Math.max(Math.floor(scrollOffset / rowHeight!) - tollerance, 0);\n const lastIndex = Math.min(\n Math.ceil((scrollOffset + scrollAreaHeight!) / rowHeight!) + tollerance,\n rows.length,\n );\n\n const rowHeightFromProps = typeof virtualScroll === 'object' && virtualScroll?.rowHeight;\n const needToMeasureFirstRowHeight = !rowHeightFromProps;\n\n const firstRow = { cells: rows[0], dataIndex: 0, topOffset: 0 };\n const visibleRows = rowHeight !== undefined ? rows.slice(startIndex, lastIndex) : [];\n const processedVisibleRows = visibleRows.map((cells, index) => ({\n cells,\n dataIndex: startIndex + index,\n topOffset: rowHeight! * (startIndex + index),\n }));\n if (needToMeasureFirstRowHeight && startIndex !== 0) {\n processedVisibleRows.unshift(firstRow);\n }\n\n return processedVisibleRows.map(({ cells, dataIndex, topOffset }) =>\n this.renderRow(cells, { dataIndex, topOffset, nested: false }),\n );\n }\n\n handleFirstRowResize = trottle((entries: ResizeObserverEntry[]) => {\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.rowHeight === height) return oldState;\n return { rowHeight: height };\n });\n });\n\n handleScrollAreaResize = trottle((entries: ResizeObserverEntry[]) => {\n const { virtualScroll } = this.asProps;\n if (!virtualScroll) return;\n const { contentRect } = entries[0];\n const { height } = contentRect;\n this.setState((oldState: State) => {\n if (oldState.scrollAreaHeight === height) return oldState;\n return { scrollAreaHeight: height };\n });\n });\n\n handleScrollAreaScroll = (event: React.SyntheticEvent<HTMLElement>) => {\n const { scrollTop } = event.target as HTMLElement;\n const { virtualScroll } = this.asProps;\n if (virtualScroll) {\n this.setState((oldState: State) => {\n if (oldState.scrollOffset === scrollTop) return oldState;\n return { scrollOffset: scrollTop };\n });\n }\n };\n\n setupRowSizeObserver = () => {\n if (!this.firstRowRef.current) return;\n if (!this.asProps.virtualScroll) return;\n this.firstRowResizeObserver = new ResizeObserver(this.handleFirstRowResize);\n this.firstRowResizeObserver.observe(this.firstRowRef.current);\n };\n\n componentWillUnmount() {\n this.firstRowResizeObserver?.disconnect();\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const SHeightHold = Box;\n const {\n Children,\n styles,\n rows,\n columns,\n $scrollRef,\n virtualScroll,\n onResize,\n onScroll,\n disabledScroll,\n } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n const rowHeight = this.getRowHeight();\n const holdHeight =\n rowHeight !== undefined && virtualScroll ? rowHeight * rows.length : undefined;\n\n if (virtualScroll && columnsInitialized && !rowHeight) {\n new Promise(() => this.setupRowSizeObserver());\n }\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={callAllEventHandlers(onResize, this.handleScrollAreaResize)}\n onScroll={callAllEventHandlers(onScroll, this.handleScrollAreaScroll)}\n >\n <ScrollArea.Container ref={$scrollRef} disabledScroll={disabledScroll}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight ? <SHeightHold hMin={holdHeight} aria-hidden={true} /> : null}\n {columnsInitialized && !virtualScroll ? this.renderRows(rows) : null}\n {columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null}\n </SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"mappings":"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"}
|