@semcore/data-table 3.1.1 → 3.1.4
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 +18 -0
- package/lib/cjs/Body.js +32 -23
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +59 -48
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +14 -9
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Body.js +32 -23
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +59 -48
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +14 -9
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [3.1.4] - 2022-08-11
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.35.1 ~> 3.36.0]).
|
|
10
|
+
|
|
11
|
+
## [3.1.3] - 2022-07-25
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Version patch update due to children dependencies update (`@semcore/icon` [2.29.1 ~> 2.29.2]).
|
|
16
|
+
|
|
17
|
+
## [3.1.2] - 2022-07-22
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.34.0 ~> 3.35.0]).
|
|
22
|
+
|
|
5
23
|
## [3.1.1] - 2022-07-21
|
|
6
24
|
|
|
7
25
|
### Changed
|
package/lib/cjs/Body.js
CHANGED
|
@@ -71,14 +71,14 @@ var scrollStyles = (
|
|
|
71
71
|
/*__reshadow_css_start__*/
|
|
72
72
|
_core.sstyled.insert(
|
|
73
73
|
/*__inner_css_start__*/
|
|
74
|
-
".
|
|
74
|
+
".___SShadowHorizontal_1ldjl_gg_:before{left:var(--left_1ldjl)!important}.___SShadowHorizontal_1ldjl_gg_:after{right:var(--right_1ldjl)!important}"
|
|
75
75
|
/*__inner_css_end__*/
|
|
76
|
-
, "
|
|
76
|
+
, "1ldjl_gg_")
|
|
77
77
|
/*__reshadow_css_end__*/
|
|
78
78
|
, {
|
|
79
|
-
"__SShadowHorizontal": "
|
|
80
|
-
"--left": "--
|
|
81
|
-
"--right": "--
|
|
79
|
+
"__SShadowHorizontal": "___SShadowHorizontal_1ldjl_gg_",
|
|
80
|
+
"--left": "--left_1ldjl",
|
|
81
|
+
"--right": "--right_1ldjl"
|
|
82
82
|
});
|
|
83
83
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
84
84
|
|
|
@@ -109,11 +109,11 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
109
109
|
scrollAreaHeight: undefined,
|
|
110
110
|
scrollOffset: 0
|
|
111
111
|
});
|
|
112
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "firstRowRef", _react["default"].createRef());
|
|
112
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "firstRowRef", /*#__PURE__*/_react["default"].createRef());
|
|
113
113
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "firstRowResizeObserver", null);
|
|
114
114
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getRowHeight", function () {
|
|
115
115
|
var virtualScroll = _this.asProps.virtualScroll;
|
|
116
|
-
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && virtualScroll
|
|
116
|
+
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
117
117
|
return rowHeightFromProps || _this.state.rowHeight;
|
|
118
118
|
});
|
|
119
119
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFirstRowResize", (0, _rafTrottle["default"])(function (entries) {
|
|
@@ -180,10 +180,11 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
180
180
|
|
|
181
181
|
var SGroupCell = 'div';
|
|
182
182
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SGroupCell, _ref2.cn("SGroupCell", {
|
|
183
|
+
"role": "rowgroup",
|
|
183
184
|
"data-ui-name": "group-cell"
|
|
184
185
|
}), _this2.renderRows(cell));
|
|
185
186
|
} else {
|
|
186
|
-
var _ref3;
|
|
187
|
+
var _ref3, _column$props;
|
|
187
188
|
|
|
188
189
|
var column = columns.find(function (c) {
|
|
189
190
|
return c.name === cell.name;
|
|
@@ -200,7 +201,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
200
201
|
var props = {
|
|
201
202
|
name: cell.name,
|
|
202
203
|
children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, cell.data),
|
|
203
|
-
justifyContent: column
|
|
204
|
+
justifyContent: column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.justifyContent,
|
|
204
205
|
style: {
|
|
205
206
|
width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")
|
|
206
207
|
}
|
|
@@ -231,7 +232,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
231
232
|
}
|
|
232
233
|
|
|
233
234
|
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
|
|
234
|
-
"key": cell.name
|
|
235
|
+
"key": cell.name,
|
|
236
|
+
"role": "cell"
|
|
235
237
|
}, props), {}, {
|
|
236
238
|
"fixed": cell.fixed,
|
|
237
239
|
"theme": props.theme,
|
|
@@ -254,7 +256,7 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
254
256
|
rowPropsLayers = _this$asProps2.rowPropsLayers,
|
|
255
257
|
uniqueKey = _this$asProps2.uniqueKey,
|
|
256
258
|
virtualScroll = _this$asProps2.virtualScroll;
|
|
257
|
-
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && virtualScroll
|
|
259
|
+
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
258
260
|
var rowData = cells.flatRowData || getCellsByColumn(cells);
|
|
259
261
|
var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
|
|
260
262
|
var needToMeasureHeight = dataIndex === 0 && !nested && !rowHeightFromProps;
|
|
@@ -288,7 +290,9 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
288
290
|
_iterator2.f();
|
|
289
291
|
}
|
|
290
292
|
|
|
291
|
-
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRow, _ref4.cn("SRow", _objectSpread({
|
|
293
|
+
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRow, _ref4.cn("SRow", _objectSpread({
|
|
294
|
+
"role": "row"
|
|
295
|
+
}, props)));
|
|
292
296
|
}
|
|
293
297
|
}, {
|
|
294
298
|
key: "renderRows",
|
|
@@ -305,7 +309,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
305
309
|
}, {
|
|
306
310
|
key: "renderVirtualizedRows",
|
|
307
311
|
value: function renderVirtualizedRows(rows) {
|
|
308
|
-
var
|
|
312
|
+
var _ref8,
|
|
313
|
+
_this4 = this;
|
|
309
314
|
|
|
310
315
|
if (rows.length === 0) return [];
|
|
311
316
|
var virtualScroll = this.asProps.virtualScroll;
|
|
@@ -313,10 +318,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
313
318
|
scrollOffset = _this$state.scrollOffset,
|
|
314
319
|
scrollAreaHeight = _this$state.scrollAreaHeight;
|
|
315
320
|
var rowHeight = this.getRowHeight();
|
|
316
|
-
var tollerance = ((0, _typeof2["default"])(virtualScroll) === 'object' ? virtualScroll
|
|
321
|
+
var tollerance = (_ref8 = (0, _typeof2["default"])(virtualScroll) === 'object' ? virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.tollerance : 2) !== null && _ref8 !== void 0 ? _ref8 : 2;
|
|
317
322
|
var startIndex = Math.max(Math.floor(scrollOffset / rowHeight) - tollerance, 0);
|
|
318
323
|
var lastIndex = Math.min(Math.ceil((scrollOffset + scrollAreaHeight) / rowHeight) + tollerance, rows.length);
|
|
319
|
-
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && virtualScroll
|
|
324
|
+
var rowHeightFromProps = (0, _typeof2["default"])(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
|
|
320
325
|
var needToMeasureFirstRowHeight = !rowHeightFromProps;
|
|
321
326
|
var firstRow = {
|
|
322
327
|
cells: rows[0],
|
|
@@ -336,10 +341,10 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
336
341
|
processedVisibleRows.unshift(firstRow);
|
|
337
342
|
}
|
|
338
343
|
|
|
339
|
-
return processedVisibleRows.map(function (
|
|
340
|
-
var cells =
|
|
341
|
-
dataIndex =
|
|
342
|
-
topOffset =
|
|
344
|
+
return processedVisibleRows.map(function (_ref9) {
|
|
345
|
+
var cells = _ref9.cells,
|
|
346
|
+
dataIndex = _ref9.dataIndex,
|
|
347
|
+
topOffset = _ref9.topOffset;
|
|
343
348
|
return _this4.renderRow(cells, {
|
|
344
349
|
dataIndex: dataIndex,
|
|
345
350
|
topOffset: topOffset,
|
|
@@ -350,7 +355,9 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
350
355
|
}, {
|
|
351
356
|
key: "componentWillUnmount",
|
|
352
357
|
value: function componentWillUnmount() {
|
|
353
|
-
|
|
358
|
+
var _this$firstRowResizeO;
|
|
359
|
+
|
|
360
|
+
(_this$firstRowResizeO = this.firstRowResizeObserver) === null || _this$firstRowResizeO === void 0 ? void 0 : _this$firstRowResizeO.disconnect();
|
|
354
361
|
}
|
|
355
362
|
}, {
|
|
356
363
|
key: "render",
|
|
@@ -372,8 +379,8 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
372
379
|
virtualScroll = _this$asProps3.virtualScroll,
|
|
373
380
|
onResize = _this$asProps3.onResize,
|
|
374
381
|
onScroll = _this$asProps3.onScroll;
|
|
375
|
-
var columnsInitialized = columns.reduce(function (sum,
|
|
376
|
-
var width =
|
|
382
|
+
var columnsInitialized = columns.reduce(function (sum, _ref10) {
|
|
383
|
+
var width = _ref10.width;
|
|
377
384
|
return sum + width;
|
|
378
385
|
}, 0) > 0 || testEnv;
|
|
379
386
|
|
|
@@ -401,7 +408,9 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
401
408
|
"onScroll": (0, _assignProps2.callAllEventHandlers)(onScroll, this.handleScrollAreaScroll)
|
|
402
409
|
}), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Container, {
|
|
403
410
|
ref: $scrollRef
|
|
404
|
-
}, /*#__PURE__*/_react["default"].createElement(SBody, _ref5.cn("SBody", _objectSpread({}, (0, _core.assignProps)({
|
|
411
|
+
}, /*#__PURE__*/_react["default"].createElement(SBody, _ref5.cn("SBody", _objectSpread({}, (0, _core.assignProps)({
|
|
412
|
+
"role": "rowgroup"
|
|
413
|
+
}, _ref))), holdHeight && /*#__PURE__*/_react["default"].createElement(SHeightHold, _ref5.cn("SHeightHold", {
|
|
405
414
|
"hMin": holdHeight,
|
|
406
415
|
"aria-hidden": true
|
|
407
416
|
})), columnsInitialized && !virtualScroll ? this.renderRows(rows) : null, columnsInitialized && virtualScroll ? this.renderVirtualizedRows(rows) : null)), /*#__PURE__*/_react["default"].createElement(SScrollAreaBar, _ref5.cn("SScrollAreaBar", {
|
package/lib/cjs/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Body.tsx"],"names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","renderRows","column","find","c","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","fixed","theme","dataIndex","topOffset","nested","SRow","Box","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","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","columnsInitialized","reduce","sum","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzC;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAiC;AACxD,MAAMC,YAAY,GAAGD,KAAK,CAACE,IAAN,CAAW,EAAX,CAArB;AACA,SAAOC,MAAM,CAACC,WAAP,CAAmBH,YAAY,CAACI,GAAb,CAAiB,UAACC,IAAD;AAAA,WAAU,CAACA,IAAI,CAACC,IAAN,EAAYD,IAAI,CAACE,IAAjB,CAAV;AAAA,GAAjB,CAAnB,CAAP;AACD,CAHD;;IAuBMC,I;;;;;;;;;;;;;;;8FACW;AACbC,MAAAA,SAAS,EAAEC,SADE;AAEbC,MAAAA,gBAAgB,EAAED,SAFL;AAGbE,MAAAA,YAAY,EAAE;AAHD,K;oGAMDC,kBAAMC,SAAN,E;+GACkC,I;qGAEjC,YAAM;AACnB,UAAQC,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;AACA,UAAME,kBAAkB,GAAG,yBAAOF,aAAP,MAAyB,QAAzB,IAAqCA,aAAa,EAAEN,SAA/E;AACA,aAAOQ,kBAAkB,IAAI,MAAKC,KAAL,CAAWT,SAAxC;AACD,K;6GAsHsB,4BAAQ,UAACU,OAAD,EAAoC;AACjE,UAAQC,WAAR,GAAwBD,OAAO,CAAC,CAAD,CAA/B,CAAQC,WAAR;AACA,UAAQC,MAAR,GAAmBD,WAAnB,CAAQC,MAAR;;AACA,YAAKC,QAAL,CAAc,UAACC,QAAD,EAAqB;AACjC,YAAIA,QAAQ,CAACd,SAAT,KAAuBY,MAA3B,EAAmC,OAAOE,QAAP;AACnC,eAAO;AAAEd,UAAAA,SAAS,EAAEY;AAAb,SAAP;AACD,OAHD;AAID,KAPsB,C;+GASE,4BAAQ,UAACF,OAAD,EAAoC;AACnE,UAAQJ,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;AACA,UAAI,CAACA,aAAL,EAAoB;AACpB,UAAQK,WAAR,GAAwBD,OAAO,CAAC,CAAD,CAA/B,CAAQC,WAAR;AACA,UAAQC,MAAR,GAAmBD,WAAnB,CAAQC,MAAR;;AACA,YAAKC,QAAL,CAAc,UAACC,QAAD,EAAqB;AACjC,YAAIA,QAAQ,CAACZ,gBAAT,KAA8BU,MAAlC,EAA0C,OAAOE,QAAP;AAC1C,eAAO;AAAEZ,UAAAA,gBAAgB,EAAEU;AAApB,SAAP;AACD,OAHD;AAID,KATwB,C;+GAWA,UAACG,KAAD,EAA8C;AACrE,kBAAsBA,KAAK,CAACC,MAA5B;AAAA,UAAQC,SAAR,SAAQA,SAAR;AACA,UAAQX,aAAR,GAA0B,MAAKC,OAA/B,CAAQD,aAAR;;AACA,UAAIA,aAAJ,EAAmB;AACjB,cAAKO,QAAL,CAAc,UAACC,QAAD,EAAqB;AACjC,cAAIA,QAAQ,CAACX,YAAT,KAA0Bc,SAA9B,EAAyC,OAAOH,QAAP;AACzC,iBAAO;AAAEX,YAAAA,YAAY,EAAEc;AAAhB,WAAP;AACD,SAHD;AAID;AACF,K;6GAEsB,YAAM;AAC3B,UAAI,CAAC,MAAKC,WAAL,CAAiBC,OAAtB,EAA+B;AAC/B,UAAI,CAAC,MAAKZ,OAAL,CAAaD,aAAlB,EAAiC;AACjC,YAAKc,sBAAL,GAA8B,IAAIC,kCAAJ,CAAmB,MAAKC,oBAAxB,CAA9B;;AACA,YAAKF,sBAAL,CAA4BG,OAA5B,CAAoC,MAAKL,WAAL,CAAiBC,OAArD;AACD,K;;;;;;WAxJD,qBAAY7B,KAAZ,EAAgCkC,OAAhC,EAAkDC,KAAlD,EAAiE;AAAA;;AAC/D,UAAMC,KAAK,GAAGC,aAAd;AACA,0BAAiC,KAAKpB,OAAtC;AAAA,UAAQqB,MAAR,iBAAQA,MAAR;AAAA,UAAgBC,OAAhB,iBAAgBA,OAAhB;AAAA,UAAyBC,GAAzB,iBAAyBA,GAAzB;AACA,aAAOxC,KAAK,CAACK,GAAN,CAAU,UAACC,IAAD,EAAU;AACzB,YAAImC,KAAK,CAACC,OAAN,CAAcpC,IAAd,CAAJ,EAAyB;AAAA;;AACvB,cAAMqC,UAAU,GAAG,KAAnB;AACA,yBAAO,mBAAQL,MAAR,CAAP,eACE,gCAAC,UAAD;AAAA,4BAAyB;AAAzB,cACG,MAAI,CAACM,UAAL,CAAgBtC,IAAhB,CADH,CADF;AAKD,SAPD,MAOO;AAAA;;AACL,cAAMuC,MAAM,GAAGN,OAAO,CAACO,IAAR,CAAa,UAACC,CAAD;AAAA,mBAAOA,CAAC,CAACxC,IAAF,KAAWD,IAAI,CAACC,IAAvB;AAAA,WAAb,CAAf;;AACA,+BAAsB,0BAAcD,IAAd,EAAoBiC,OAApB,CAAtB;AAAA;AAAA,cAAOhC,IAAP;AAAA,cAAayC,KAAb;;AACA,cAAMC,IAAI,GAAG,CAACR,KAAK,CAACC,OAAN,CAAcpC,IAAI,CAAC4C,MAAnB,IAA6B5C,IAAI,CAAC4C,MAAlC,GAA2C,CAAC5C,IAAI,CAAC4C,MAAN,CAA5C,EAA2D7C,GAA3D,CACX,UAACE,IAAD;AAAA,iCAAiBA,IAAjB;AAAA,WADW,CAAb;AASA,cAAI4C,KAAgB,GAAG;AACrB5C,YAAAA,IAAI,EAAED,IAAI,CAACC,IADU;AAErB6C,YAAAA,QAAQ,eAAE,kEAAG9C,IAAI,CAACE,IAAR,CAFW;AAGrB6C,YAAAA,cAAc,EAAER,MAAM,EAAEM,KAAR,EAAeE,cAHV;AAIrBC,YAAAA,KAAK,EAAE;AACLC,cAAAA,KAAK,EAAEN,IAAI,CAACO,MAAL,KAAgB,CAAhB,GAAoBP,IAAI,CAAC,CAAD,CAAxB,kBAAsCA,IAAI,CAACQ,IAAL,CAAU,KAAV,CAAtC;AADF;AAJc,WAAvB;;AAQA,cAAIlD,IAAI,KAAKI,SAAT,IAAsBqC,KAAK,KAAKrC,SAApC,EAA+C;AAC7CwC,YAAAA,KAAK,CAACG,KAAN,CAAY/C,IAAZ,IAAoByC,KAApB;AACD;;AAtBI,qDAwBuB1C,IAAI,CAACoD,eAAL,IAAwB,EAxB/C;AAAA;;AAAA;AAwBL,gEAAwD;AAAA,kBAA7CC,aAA6C;AACtD,0CAAqDA,aAArD,CAAQC,mBAAR;AAAA,kBAAQA,mBAAR,sCAA8B,UAACC,CAAD;AAAA,uBAAOA,CAAP;AAAA,eAA9B;AAAA,kBAA2CC,KAA3C,6CAAqDH,aAArD;AACA,kBAAMI,SAAS,GAAG,8BAAYD,KAAZ,EAAmBX,KAAnB,CAAlB;AACAA,cAAAA,KAAK,GAAG,8BAAYS,mBAAmB,CAACG,SAAD,EAAY7B,OAAZ,EAAqBC,KAArB,CAA/B,EAA4D4B,SAA5D,CAAR;AACD;AA5BI;AAAA;AAAA;AAAA;AAAA;;AA8BL,yBAAO,mBAAQzB,MAAR,CAAP,eACE,gCAAC,KAAD;AAAA,mBAAYhC,IAAI,CAACC;AAAjB,aAA2B4C,KAA3B;AAAA,qBAAyC7C,IAAI,CAAC0D,KAA9C;AAAA,qBAA4Db,KAAK,CAACc,KAAlE;AAAA,mBAA8EzB;AAA9E,cADF;AAGD;AACF,OA1CM,EA0CJ,EA1CI,CAAP;AA2CD;;;WAED,mBACExC,KADF,SAGE;AAAA;;AAAA,UADEkE,SACF,SADEA,SACF;AAAA,UADaC,SACb,SADaA,SACb;AAAA,UADwBC,MACxB,SADwBA,MACxB;AACA,UAAMC,IAAI,GAAGC,YAAb;AACA,2BAA6D,KAAKrD,OAAlE;AAAA,UAAQqB,MAAR,kBAAQA,MAAR;AAAA,UAAgBiC,cAAhB,kBAAgBA,cAAhB;AAAA,UAAgCC,SAAhC,kBAAgCA,SAAhC;AAAA,UAA2CxD,aAA3C,kBAA2CA,aAA3C;AACA,UAAME,kBAAkB,GAAG,yBAAOF,aAAP,MAAyB,QAAzB,IAAqCA,aAAa,EAAEN,SAA/E;AAEA,UAAMwB,OAAO,GAAGlC,KAAK,CAACyE,WAAN,IAAqB1E,gBAAgB,CAACC,KAAD,CAArD;AACA,UAAM0E,GAAG,GAAGxC,OAAO,CAACsC,SAAD,CAAP,GAAqBG,MAAM,CAACzC,OAAO,CAACsC,SAAD,CAAR,CAA3B,iBAAyDN,SAAzD,CAAZ;AACA,UAAMU,mBAAmB,GAAGV,SAAS,KAAK,CAAd,IAAmB,CAACE,MAApB,IAA8B,CAAClD,kBAA3D;AAEA,UAAIiC,KAAK,GAAG;AACVC,QAAAA,QAAQ,EAAE,KAAKyB,WAAL,CAAiB7E,KAAjB,EAAwBkC,OAAxB,EAAiCgC,SAAjC,CADA;AAEVD,QAAAA,KAAK,EAAEtD,SAFG;AAGVmE,QAAAA,MAAM,EAAEnE,SAHE;AAIVoE,QAAAA,UAAU,EAAEZ,SAAS,KAAKxD,SAJhB;AAKVqE,QAAAA,GAAG,EAAEb,SALK;AAMVc,QAAAA,GAAG,EAAEL,mBAAmB,GAAG,KAAKhD,WAAR,GAAsBjB,SANpC;AAOV+D,QAAAA,GAAG,EAAHA;AAPU,OAAZ;;AATA,kDAmB4BH,cAnB5B;AAAA;;AAAA;AAmBA,+DAA4C;AAAA,cAAjCW,aAAiC;AAC1C,sCAAqDA,aAArD,CAAQtB,mBAAR;AAAA,cAAQA,mBAAR,sCAA8B,UAACC,CAAD;AAAA,mBAAOA,CAAP;AAAA,WAA9B;AAAA,cAA2CC,KAA3C,6CAAqDoB,aAArD;AACA,cAAMC,QAAQ,GAAG,8BAAYrB,KAAZ,EAAmBX,KAAnB,CAAjB;AACAA,UAAAA,KAAK,GAAG,8BAAYS,mBAAmB,CAACuB,QAAD,EAAWjD,OAAX,EAAoBgC,SAApB,CAA/B,EAA+DiB,QAA/D,CAAR;AACD;AAvBD;AAAA;AAAA;AAAA;AAAA;;AAyBA,qBAAO,mBAAQ7C,MAAR,CAAP,eAAuB,gCAAC,IAAD,qCAAUa,KAAV,GAAvB;AACD;;;WAED,oBAAWiC,IAAX,EAAgC;AAAA;;AAC9B,aAAOA,IAAI,CAAC/E,GAAL,CAAS,UAACL,KAAD,EAAQkE,SAAR;AAAA,eAAsB,MAAI,CAACmB,SAAL,CAAerF,KAAf,EAAsB;AAAEkE,UAAAA,SAAS,EAATA,SAAF;AAAaE,UAAAA,MAAM,EAAE;AAArB,SAAtB,CAAtB;AAAA,OAAT,CAAP;AACD;;;WAED,+BAAsBgB,IAAtB,EAA2C;AAAA;;AACzC,UAAIA,IAAI,CAAC5B,MAAL,KAAgB,CAApB,EAAuB,OAAO,EAAP;AAEvB,UAAQxC,aAAR,GAA0B,KAAKC,OAA/B,CAAQD,aAAR;AACA,wBAA2C,KAAKG,KAAhD;AAAA,UAAQN,YAAR,eAAQA,YAAR;AAAA,UAAsBD,gBAAtB,eAAsBA,gBAAtB;AACA,UAAMF,SAAS,GAAG,KAAK4E,YAAL,EAAlB;AAEA,UAAMC,UAAU,GAAG,CAAC,yBAAOvE,aAAP,MAAyB,QAAzB,GAAoCA,aAAa,EAAEuE,UAAnD,GAAgE,CAAjE,KAAuE,CAA1F;AACA,UAAMC,UAAU,GAAGC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,KAAL,CAAW9E,YAAY,GAAGH,SAA1B,IAAwC6E,UAAjD,EAA6D,CAA7D,CAAnB;AACA,UAAMK,SAAS,GAAGH,IAAI,CAACI,GAAL,CAChBJ,IAAI,CAACK,IAAL,CAAU,CAACjF,YAAY,GAAGD,gBAAhB,IAAqCF,SAA/C,IAA6D6E,UAD7C,EAEhBH,IAAI,CAAC5B,MAFW,CAAlB;AAKA,UAAMtC,kBAAkB,GAAG,yBAAOF,aAAP,MAAyB,QAAzB,IAAqCA,aAAa,EAAEN,SAA/E;AACA,UAAMqF,2BAA2B,GAAG,CAAC7E,kBAArC;AAEA,UAAM8E,QAAQ,GAAG;AAAEhG,QAAAA,KAAK,EAAEoF,IAAI,CAAC,CAAD,CAAb;AAAkBlB,QAAAA,SAAS,EAAE,CAA7B;AAAgCC,QAAAA,SAAS,EAAE;AAA3C,OAAjB;AACA,UAAM8B,WAAW,GAAGvF,SAAS,KAAKC,SAAd,GAA0ByE,IAAI,CAACc,KAAL,CAAWV,UAAX,EAAuBI,SAAvB,CAA1B,GAA8D,EAAlF;AACA,UAAMO,oBAAoB,GAAGF,WAAW,CAAC5F,GAAZ,CAAgB,UAACL,KAAD,EAAQmC,KAAR;AAAA,eAAmB;AAC9DnC,UAAAA,KAAK,EAALA,KAD8D;AAE9DkE,UAAAA,SAAS,EAAEsB,UAAU,GAAGrD,KAFsC;AAG9DgC,UAAAA,SAAS,EAAEzD,SAAS,IAAK8E,UAAU,GAAGrD,KAAlB;AAH0C,SAAnB;AAAA,OAAhB,CAA7B;;AAKA,UAAI4D,2BAA2B,IAAIP,UAAU,KAAK,CAAlD,EAAqD;AACnDW,QAAAA,oBAAoB,CAACC,OAArB,CAA6BJ,QAA7B;AACD;;AAED,aAAOG,oBAAoB,CAAC9F,GAArB,CAAyB;AAAA,YAAGL,KAAH,SAAGA,KAAH;AAAA,YAAUkE,SAAV,SAAUA,SAAV;AAAA,YAAqBC,SAArB,SAAqBA,SAArB;AAAA,eAC9B,MAAI,CAACkB,SAAL,CAAerF,KAAf,EAAsB;AAAEkE,UAAAA,SAAS,EAATA,SAAF;AAAaC,UAAAA,SAAS,EAATA,SAAb;AAAwBC,UAAAA,MAAM,EAAE;AAAhC,SAAtB,CAD8B;AAAA,OAAzB,CAAP;AAGD;;;WAwCD,gCAAuB;AACrB,WAAKtC,sBAAL,EAA6BuE,UAA7B;AACD;;;WAED,kBAAS;AAAA;AAAA;AAAA;;AACP,UAAMC,KAAK,GA+BYhC,YA/BvB;AACA,UAAMiC,YAAY,GAAGjC,YAArB;AACA,UAAMkC,cAAc,GAAGC,uBAAWC,GAAlC;AACA,UAAMC,WAAW,GAAGrC,YAApB;AACA,2BACE,KAAKrD,OADP;AAAA,UAAQ2F,QAAR,kBAAQA,QAAR;AAAA,UAAkBtE,MAAlB,kBAAkBA,MAAlB;AAAA,UAA0B8C,IAA1B,kBAA0BA,IAA1B;AAAA,UAAgC7C,OAAhC,kBAAgCA,OAAhC;AAAA,UAAyCsE,UAAzC,kBAAyCA,UAAzC;AAAA,UAAqD7F,aAArD,kBAAqDA,aAArD;AAAA,UAAoE8F,QAApE,kBAAoEA,QAApE;AAAA,UAA8EC,QAA9E,kBAA8EA,QAA9E;AAGA,UAAMC,kBAAkB,GAAGzE,OAAO,CAAC0E,MAAR,CAAe,UAACC,GAAD;AAAA,YAAQ3D,KAAR,SAAQA,KAAR;AAAA,eAAoB2D,GAAG,GAAG3D,KAA1B;AAAA,OAAf,EAAgD,CAAhD,IAAqD,CAArD,IAA0D5D,OAArF;;AAEA,kCAAwC,iCAAqB4C,OAArB,CAAxC;AAAA;AAAA,UAAO4E,aAAP;AAAA,UAAsBC,cAAtB;;AACA,UAAMC,SAAS,GAAGF,aAAa,GAAGC,cAAlC;AAEA,UAAM1G,SAAS,GAAG,KAAK4E,YAAL,EAAlB;AACA,UAAMgC,UAAU,GACd5G,SAAS,KAAKC,SAAd,IAA2BK,aAA3B,GAA2CN,SAAS,GAAG0E,IAAI,CAAC5B,MAA5D,GAAqE7C,SADvE;;AAGA,UAAIK,aAAa,IAAIgG,kBAAjB,IAAuC,CAACtG,SAA5C,EAAuD;AACrD,YAAI6G,OAAJ,CAAY;AAAA,iBAAM,MAAI,CAACC,oBAAL,EAAN;AAAA,SAAZ;AACD;;AAED,qBAAO,mBAAQlF,MAAR,CAAP,eACE,gCAAC,YAAD,6CACE,gCAAC,sBAAD;AAAA;AAAA,kBAEUmF,YAFV;AAAA,8BAGeN,aAHf;AAAA,+BAIgBC,cAJhB;AAAA,oBAKY,wCAAqBN,QAArB,EAA+B,KAAKY,sBAApC,CALZ;AAAA,oBAMY,wCAAqBX,QAArB,EAA+B,KAAKY,sBAApC;AANZ,uBAQE,gCAAC,sBAAD,CAAY,SAAZ;AAAsB,QAAA,GAAG,EAAEd;AAA3B,sBACE,gCAAC,KAAD,0EACGS,UAAU,iBAAI,gCAAC,WAAD;AAAA,gBAAmBA,UAAnB;AAAA,uBAA4C;AAA5C,SADjB,EAEGN,kBAAkB,IAAI,CAAChG,aAAvB,GAAuC,KAAK4B,UAAL,CAAgBwC,IAAhB,CAAvC,GAA+D,IAFlE,EAGG4B,kBAAkB,IAAIhG,aAAtB,GAAsC,KAAK4G,qBAAL,CAA2BxC,IAA3B,CAAtC,GAAyE,IAH5E,CADF,CARF,eAeE,gCAAC,cAAD;AAAA,uBACc,YADd;AAAA,0BAEW+B,aAFX;AAAA,2BAGYC,cAHZ;AAAA,+BAIgBC,SAJhB;AAAA,SAfF,eAqBE,gCAAC,cAAD;AAAA,uBAA4B;AAA5B,SArBF,CADF,EAwBGT,QAAQ,CAACiB,MAxBZ,CADF;AA4BD;;;EA/NgBC,e;;eAkOJrH,I","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};\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 data-ui-name=\"group-cell\">\n {this.renderRows(cell as NestedCells[])}\n </SGroupCell>,\n );\n } else {\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 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 key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\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 };\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 {...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 { Children, styles, rows, columns, $scrollRef, virtualScroll, onResize, onScroll } =\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}>\n <SBody render={Box}>\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\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"],"file":"Body.js"}
|
|
1
|
+
{"version":3,"file":"Body.js","names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","rowHeight","undefined","scrollAreaHeight","scrollOffset","React","createRef","virtualScroll","asProps","rowHeightFromProps","state","trottle","entries","contentRect","height","setState","oldState","event","target","scrollTop","firstRowRef","current","firstRowResizeObserver","ResizeObserver","handleFirstRowResize","observe","rowData","index","SCell","Flex","styles","columns","use","Array","isArray","SGroupCell","sstyled","renderRows","column","find","c","getFixedStyle","value","vars","cssVar","props","children","justifyContent","style","width","length","join","cellPropsLayers","cellPropLayer","childrenPropsGetter","p","other","propsCell","assignProps","fixed","theme","dataIndex","topOffset","nested","SRow","Box","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","ScrollArea","Bar","SHeightHold","Children","$scrollRef","onResize","onScroll","columnsInitialized","reduce","sum","getScrollOffsetValue","offsetLeftSum","offsetRightSum","offsetSum","holdHeight","Promise","setupRowSizeObserver","scrollStyles","callAllEventHandlers","handleScrollAreaResize","handleScrollAreaScroll","renderVirtualizedRows","origin","Component"],"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};\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 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 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 />,\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 };\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 { Children, styles, rows, columns, $scrollRef, virtualScroll, onResize, onScroll } =\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}>\n <SBody render={Box} role=\"rowgroup\">\n {holdHeight && <SHeightHold hMin={holdHeight} aria-hidden={true} />}\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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"}
|
package/lib/cjs/DataTable.js
CHANGED
|
@@ -69,46 +69,46 @@ var style = (
|
|
|
69
69
|
/*__reshadow_css_start__*/
|
|
70
70
|
_core.sstyled.insert(
|
|
71
71
|
/*__inner_css_start__*/
|
|
72
|
-
".
|
|
72
|
+
".___SDataTable_1r839_gg_{position:relative}.___SHeadWrapper_1r839_gg_{position:relative}.___SHeadWrapper_1r839_gg_.__sticky_1r839_gg_{position:-webkit-sticky;position:sticky;top:0;z-index:2}.___SHead_1r839_gg_{display:flex;position:relative;flex-direction:row;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1r839_gg_{display:flex;align-items:center;flex-grow:1;font-size:12px;color:#191b23;box-sizing:border-box;position:relative}.___SColumn_1r839_gg_:focus{outline:none;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}.___SColumn_1r839_gg_.__hidden_1r839_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_1r839_gg_._use_primary_1r839_gg_{padding:12px;border-right:1px solid #e0e1e9;border-bottom:1px solid #e0e1e9;background-color:#f4f5f9}.___SColumn_1r839_gg_._use_secondary_1r839_gg_{padding:8px;border-bottom:1px solid #a9abb6;background-color:#ffffff}.___SColumn_1r839_gg_.__use_1r839_gg_:last-child{border-right:none}.___SColumn_1r839_gg_.__group_1r839_gg_.__use_1r839_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1r839_gg_.__groupHead_1r839_gg_.__use_1r839_gg_{justify-content:center;border-right:none;z-index:1}.___SColumn_1r839_gg_.__groupHead_1r839_gg_._use_primary_1r839_gg_{border-bottom:1px solid #e0e1e9}.___SColumn_1r839_gg_.__groupHead_1r839_gg_._use_secondary_1r839_gg_{border-bottom:1px solid #e0e1e9}.___SColumn_1r839_gg_.__sortable_1r839_gg_{cursor:pointer}.___SColumn_1r839_gg_.__sortable_1r839_gg_._use_primary_1r839_gg_:hover{background-color:#e0e1e9}.___SColumn_1r839_gg_.__active_1r839_gg_._use_primary_1r839_gg_{background-color:#e0e1e9}.___SColumn_1r839_gg_.__resizable_1r839_gg_:hover:after{background:#e0e1e9}.___SColumn_1r839_gg_.__resizable_1r839_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100vh;width:1px;background:transparent;cursor:col-resize}.___SColumn_1r839_gg_.__fixed_1r839_gg_{position:-webkit-sticky;position:sticky;z-index:2}.___SSortIcon_1r839_gg_{fill:#a9abb6;margin-left:6px}.___SSortIcon_1r839_gg_.__active_1r839_gg_{fill:#8a8e9b}.___SBodyWrapper_1r839_gg_{position:relative}.___SBody_1r839_gg_{display:flex;flex-direction:column;position:relative;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1r839_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1r839_gg_:hover>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_.__active_1r839_gg_>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_ .___SCell_1r839_gg_:hover+.___SGroupCell_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#f0f0f4}.___SRow_1r839_gg_._theme_muted_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#f2f3f4}.___SRow_1r839_gg_:hover>.___SCell_1r839_gg_._theme_muted_1r839_gg_,.___SRow_1r839_gg_._theme_muted_1r839_gg_:hover>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_muted_1r839_gg_.__active_1r839_gg_>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_muted_1r839_gg_ .___SCell_1r839_gg_:hover+.___SGroupCell_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#f6f7f7}.___SRow_1r839_gg_._theme_info_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#e9f7ff}.___SRow_1r839_gg_:hover>.___SCell_1r839_gg_._theme_info_1r839_gg_,.___SRow_1r839_gg_._theme_info_1r839_gg_:hover>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_info_1r839_gg_.__active_1r839_gg_>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_info_1r839_gg_ .___SCell_1r839_gg_:hover+.___SGroupCell_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#c4e5fe}.___SRow_1r839_gg_._theme_success_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#dbfee8}.___SRow_1r839_gg_:hover>.___SCell_1r839_gg_._theme_success_1r839_gg_,.___SRow_1r839_gg_._theme_success_1r839_gg_:hover>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_success_1r839_gg_.__active_1r839_gg_>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_success_1r839_gg_ .___SCell_1r839_gg_:hover+.___SGroupCell_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#9ef2c9}.___SRow_1r839_gg_._theme_warning_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#fff3d9}.___SRow_1r839_gg_:hover>.___SCell_1r839_gg_._theme_warning_1r839_gg_,.___SRow_1r839_gg_._theme_warning_1r839_gg_:hover>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_warning_1r839_gg_.__active_1r839_gg_>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_warning_1r839_gg_ .___SCell_1r839_gg_:hover+.___SGroupCell_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#ffdca2}.___SRow_1r839_gg_._theme_danger_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#fff0f7}.___SRow_1r839_gg_:hover>.___SCell_1r839_gg_._theme_danger_1r839_gg_,.___SRow_1r839_gg_._theme_danger_1r839_gg_:hover>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_danger_1r839_gg_.__active_1r839_gg_>.___SCell_1r839_gg_:not(.__theme_1r839_gg_),.___SRow_1r839_gg_._theme_danger_1r839_gg_ .___SCell_1r839_gg_:hover+.___SGroupCell_1r839_gg_ .___SCell_1r839_gg_:not(.__theme_1r839_gg_){background-color:#ffd7df}.___SRow_1r839_gg_.__positioned_1r839_gg_{position:absolute}.___SCell_1r839_gg_{display:flex;flex:1;flex-basis:auto;font-size:14px;line-height:1.42;color:#191b23;box-sizing:border-box;border-bottom:1px solid #e0e1e9;overflow:hidden;white-space:nowrap}.___SCell_1r839_gg_._use_primary_1r839_gg_{padding:12px;min-height:45px;background-color:#ffffff}.___SCell_1r839_gg_._use_secondary_1r839_gg_{padding:8px;min-height:37px;background-color:#ffffff}.___SCell_1r839_gg_.__fixed_1r839_gg_{position:-webkit-sticky;position:sticky;z-index:1}.___SCell_1r839_gg_._theme_muted_1r839_gg_{background-color:#f2f3f4}.___SCell_1r839_gg_._theme_info_1r839_gg_{background-color:#e9f7ff}.___SCell_1r839_gg_._theme_success_1r839_gg_{background-color:#dbfee8}.___SCell_1r839_gg_._theme_warning_1r839_gg_{background-color:#fff3d9}.___SCell_1r839_gg_._theme_danger_1r839_gg_{background-color:#fff0f7}.___SScrollAreaBar_1r839_gg_._orientation_horizontal_1r839_gg_{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:-12px;z-index:2}.___SScrollAreaBar_1r839_gg_._orientation_vertical_1r839_gg_{width:12px}.___SScrollAreaBar_1r839_gg_._orientation_horizontal_1r839_gg_{margin-left:calc(var(--left_1r839) + 4px);margin-right:calc(var(--right_1r839) + 4px);width:calc(100% - var(--offsetSum_1r839) - 8px)}.___SHeightHold_1r839_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
|
|
73
73
|
/*__inner_css_end__*/
|
|
74
|
-
, "
|
|
74
|
+
, "1r839_gg_")
|
|
75
75
|
/*__reshadow_css_end__*/
|
|
76
76
|
, {
|
|
77
|
-
"__SDataTable": "
|
|
78
|
-
"__SHeadWrapper": "
|
|
79
|
-
"_sticky": "
|
|
80
|
-
"__SHead": "
|
|
81
|
-
"__SColumn": "
|
|
82
|
-
"_hidden": "
|
|
83
|
-
"_use_primary": "
|
|
84
|
-
"_use_secondary": "
|
|
85
|
-
"_use": "
|
|
86
|
-
"_group": "
|
|
87
|
-
"_groupHead": "
|
|
88
|
-
"_sortable": "
|
|
89
|
-
"_active": "
|
|
90
|
-
"_resizable": "
|
|
91
|
-
"_fixed": "
|
|
92
|
-
"__SSortIcon": "
|
|
93
|
-
"__SBodyWrapper": "
|
|
94
|
-
"__SBody": "
|
|
95
|
-
"__SRow": "
|
|
96
|
-
"__SCell": "
|
|
97
|
-
"_theme": "
|
|
98
|
-
"__SGroupCell": "
|
|
99
|
-
"_theme_muted": "
|
|
100
|
-
"_theme_info": "
|
|
101
|
-
"_theme_success": "
|
|
102
|
-
"_theme_warning": "
|
|
103
|
-
"_theme_danger": "
|
|
104
|
-
"_positioned": "
|
|
105
|
-
"__SScrollAreaBar": "
|
|
106
|
-
"_orientation_horizontal": "
|
|
107
|
-
"_orientation_vertical": "
|
|
108
|
-
"--left": "--
|
|
109
|
-
"--right": "--
|
|
110
|
-
"--offsetSum": "--
|
|
111
|
-
"__SHeightHold": "
|
|
77
|
+
"__SDataTable": "___SDataTable_1r839_gg_",
|
|
78
|
+
"__SHeadWrapper": "___SHeadWrapper_1r839_gg_",
|
|
79
|
+
"_sticky": "__sticky_1r839_gg_",
|
|
80
|
+
"__SHead": "___SHead_1r839_gg_",
|
|
81
|
+
"__SColumn": "___SColumn_1r839_gg_",
|
|
82
|
+
"_hidden": "__hidden_1r839_gg_",
|
|
83
|
+
"_use_primary": "_use_primary_1r839_gg_",
|
|
84
|
+
"_use_secondary": "_use_secondary_1r839_gg_",
|
|
85
|
+
"_use": "__use_1r839_gg_",
|
|
86
|
+
"_group": "__group_1r839_gg_",
|
|
87
|
+
"_groupHead": "__groupHead_1r839_gg_",
|
|
88
|
+
"_sortable": "__sortable_1r839_gg_",
|
|
89
|
+
"_active": "__active_1r839_gg_",
|
|
90
|
+
"_resizable": "__resizable_1r839_gg_",
|
|
91
|
+
"_fixed": "__fixed_1r839_gg_",
|
|
92
|
+
"__SSortIcon": "___SSortIcon_1r839_gg_",
|
|
93
|
+
"__SBodyWrapper": "___SBodyWrapper_1r839_gg_",
|
|
94
|
+
"__SBody": "___SBody_1r839_gg_",
|
|
95
|
+
"__SRow": "___SRow_1r839_gg_",
|
|
96
|
+
"__SCell": "___SCell_1r839_gg_",
|
|
97
|
+
"_theme": "__theme_1r839_gg_",
|
|
98
|
+
"__SGroupCell": "___SGroupCell_1r839_gg_",
|
|
99
|
+
"_theme_muted": "_theme_muted_1r839_gg_",
|
|
100
|
+
"_theme_info": "_theme_info_1r839_gg_",
|
|
101
|
+
"_theme_success": "_theme_success_1r839_gg_",
|
|
102
|
+
"_theme_warning": "_theme_warning_1r839_gg_",
|
|
103
|
+
"_theme_danger": "_theme_danger_1r839_gg_",
|
|
104
|
+
"_positioned": "__positioned_1r839_gg_",
|
|
105
|
+
"__SScrollAreaBar": "___SScrollAreaBar_1r839_gg_",
|
|
106
|
+
"_orientation_horizontal": "_orientation_horizontal_1r839_gg_",
|
|
107
|
+
"_orientation_vertical": "_orientation_vertical_1r839_gg_",
|
|
108
|
+
"--left": "--left_1r839",
|
|
109
|
+
"--right": "--right_1r839",
|
|
110
|
+
"--offsetSum": "--offsetSum_1r839",
|
|
111
|
+
"__SHeightHold": "___SHeightHold_1r839_gg_"
|
|
112
112
|
});
|
|
113
113
|
var REVERSED_SORT_DIRECTION = {
|
|
114
114
|
desc: 'asc',
|
|
@@ -134,7 +134,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
134
134
|
(0, _classCallCheck2["default"])(this, RootDefinitionTable);
|
|
135
135
|
_this = _super.call(this, props);
|
|
136
136
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "columns", []);
|
|
137
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tableRef", _react["default"].createRef());
|
|
137
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "tableRef", /*#__PURE__*/_react["default"].createRef());
|
|
138
138
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollBodyRef", null);
|
|
139
139
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollHeadRef", null);
|
|
140
140
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerSortClick", function (name, event) {
|
|
@@ -148,7 +148,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
148
148
|
_this.forceUpdate();
|
|
149
149
|
});
|
|
150
150
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollToUp", function () {
|
|
151
|
-
_this
|
|
151
|
+
var _this$tableRef, _this$tableRef$curren;
|
|
152
|
+
|
|
153
|
+
(_this$tableRef = _this.tableRef) === null || _this$tableRef === void 0 ? void 0 : (_this$tableRef$curren = _this$tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.scrollIntoView({
|
|
152
154
|
block: 'nearest',
|
|
153
155
|
inline: 'nearest',
|
|
154
156
|
behavior: 'smooth'
|
|
@@ -177,8 +179,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
177
179
|
|
|
178
180
|
try {
|
|
179
181
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
182
|
+
var _this$tableRef$curren2;
|
|
183
|
+
|
|
180
184
|
var cssVar = _step2.value;
|
|
181
|
-
this.tableRef.current
|
|
185
|
+
(_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(cssVar, "".concat(_column.width, "px"));
|
|
182
186
|
}
|
|
183
187
|
} catch (err) {
|
|
184
188
|
_iterator2.e(err);
|
|
@@ -186,7 +190,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
186
190
|
_iterator2.f();
|
|
187
191
|
}
|
|
188
192
|
} else {
|
|
189
|
-
|
|
193
|
+
var _this$tableRef$curren3;
|
|
194
|
+
|
|
195
|
+
(_this$tableRef$curren3 = this.tableRef.current) === null || _this$tableRef$curren3 === void 0 ? void 0 : _this$tableRef$curren3.style.setProperty(_column.cssVar, "".concat(_column.width, "px"));
|
|
190
196
|
}
|
|
191
197
|
}
|
|
192
198
|
} catch (err) {
|
|
@@ -207,7 +213,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
207
213
|
var columnsChildren = [];
|
|
208
214
|
|
|
209
215
|
_react["default"].Children.forEach(children, function (child) {
|
|
210
|
-
|
|
216
|
+
var _column$props;
|
|
217
|
+
|
|
218
|
+
if (! /*#__PURE__*/_react["default"].isValidElement(child)) return;
|
|
211
219
|
if (child.type !== DefinitionTable.Column) return;
|
|
212
220
|
var _ref3 = child.props,
|
|
213
221
|
children = _ref3.children,
|
|
@@ -230,7 +238,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
230
238
|
}).join('/');
|
|
231
239
|
if (!columns.length) return;
|
|
232
240
|
children = _react["default"].Children.toArray(children).filter(function (child) {
|
|
233
|
-
return !(_react["default"].isValidElement(child) && child.type === DefinitionTable.Column);
|
|
241
|
+
return !( /*#__PURE__*/_react["default"].isValidElement(child) && child.type === DefinitionTable.Column);
|
|
234
242
|
});
|
|
235
243
|
}
|
|
236
244
|
|
|
@@ -240,7 +248,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
240
248
|
|
|
241
249
|
columnsChildren.push({
|
|
242
250
|
get width() {
|
|
243
|
-
|
|
251
|
+
var _this$props$ref$curre;
|
|
252
|
+
|
|
253
|
+
return ((_this$props$ref$curre = this.props.ref.current) === null || _this$props$ref$curre === void 0 ? void 0 : _this$props$ref$curre.getBoundingClientRect().width) || 0;
|
|
244
254
|
},
|
|
245
255
|
|
|
246
256
|
name: name,
|
|
@@ -249,11 +259,11 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
249
259
|
resizable: resizable,
|
|
250
260
|
active: sort[0] === name,
|
|
251
261
|
sortable: sortable,
|
|
252
|
-
sortDirection: sort[0] === name ? sort[1] : column
|
|
262
|
+
sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
|
|
253
263
|
columns: columns,
|
|
254
264
|
props: _objectSpread({
|
|
255
265
|
name: name,
|
|
256
|
-
ref: column
|
|
266
|
+
ref: (column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.ref) || /*#__PURE__*/_react["default"].createRef(),
|
|
257
267
|
children: children
|
|
258
268
|
}, props)
|
|
259
269
|
});
|
|
@@ -286,7 +296,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
286
296
|
var rowPropsLayers = [];
|
|
287
297
|
|
|
288
298
|
_react["default"].Children.forEach(props.children, function (child) {
|
|
289
|
-
if (_react["default"].isValidElement(child)) {
|
|
299
|
+
if ( /*#__PURE__*/_react["default"].isValidElement(child)) {
|
|
290
300
|
var _ref5 = child.props,
|
|
291
301
|
name = _ref5.name,
|
|
292
302
|
children = _ref5.children,
|
|
@@ -429,7 +439,8 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
429
439
|
styles = _this$asProps2.styles;
|
|
430
440
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDataTable, _ref2.cn("SDataTable", _objectSpread({}, (0, _core.assignProps)({
|
|
431
441
|
"__excludeProps": ['data'],
|
|
432
|
-
"ref": this.tableRef
|
|
442
|
+
"ref": this.tableRef,
|
|
443
|
+
"role": "table"
|
|
433
444
|
}, _ref))), /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})));
|
|
434
445
|
}
|
|
435
446
|
}]);
|