@semcore/data-table 16.0.0 → 16.0.1-prerelease.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/lib/cjs/components/Body/Body.js +73 -53
  3. package/lib/cjs/components/Body/Body.js.map +1 -1
  4. package/lib/cjs/components/Body/Body.types.js.map +1 -1
  5. package/lib/cjs/components/Body/Cell.js +35 -34
  6. package/lib/cjs/components/Body/Cell.js.map +1 -1
  7. package/lib/cjs/components/Body/Cell.types.js.map +1 -1
  8. package/lib/cjs/components/Body/MergedCells.js +6 -2
  9. package/lib/cjs/components/Body/MergedCells.js.map +1 -1
  10. package/lib/cjs/components/Body/Row.js +87 -80
  11. package/lib/cjs/components/Body/Row.js.map +1 -1
  12. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  13. package/lib/cjs/components/Body/style.shadow.css +13 -10
  14. package/lib/cjs/components/DataTable/DataTable.js +215 -162
  15. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  16. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  17. package/lib/cjs/components/Head/Column.js +71 -61
  18. package/lib/cjs/components/Head/Column.js.map +1 -1
  19. package/lib/cjs/components/Head/Column.types.js.map +1 -1
  20. package/lib/cjs/components/Head/Group.js +23 -22
  21. package/lib/cjs/components/Head/Group.js.map +1 -1
  22. package/lib/cjs/components/Head/Head.js +67 -65
  23. package/lib/cjs/components/Head/Head.js.map +1 -1
  24. package/lib/cjs/components/Head/Head.types.js.map +1 -1
  25. package/lib/cjs/components/Head/style.shadow.css +5 -1
  26. package/lib/cjs/style/scroll-shadows.shadow.css +6 -0
  27. package/lib/es6/components/Body/Body.js +74 -54
  28. package/lib/es6/components/Body/Body.js.map +1 -1
  29. package/lib/es6/components/Body/Body.types.js.map +1 -1
  30. package/lib/es6/components/Body/Cell.js +35 -34
  31. package/lib/es6/components/Body/Cell.js.map +1 -1
  32. package/lib/es6/components/Body/Cell.types.js.map +1 -1
  33. package/lib/es6/components/Body/MergedCells.js +6 -2
  34. package/lib/es6/components/Body/MergedCells.js.map +1 -1
  35. package/lib/es6/components/Body/Row.js +87 -80
  36. package/lib/es6/components/Body/Row.js.map +1 -1
  37. package/lib/es6/components/Body/Row.types.js +1 -1
  38. package/lib/es6/components/Body/Row.types.js.map +1 -1
  39. package/lib/es6/components/Body/style.shadow.css +13 -10
  40. package/lib/es6/components/DataTable/DataTable.js +213 -161
  41. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  42. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  43. package/lib/es6/components/Head/Column.js +71 -61
  44. package/lib/es6/components/Head/Column.js.map +1 -1
  45. package/lib/es6/components/Head/Column.types.js.map +1 -1
  46. package/lib/es6/components/Head/Group.js +24 -23
  47. package/lib/es6/components/Head/Group.js.map +1 -1
  48. package/lib/es6/components/Head/Head.js +68 -66
  49. package/lib/es6/components/Head/Head.js.map +1 -1
  50. package/lib/es6/components/Head/Head.types.js.map +1 -1
  51. package/lib/es6/components/Head/style.shadow.css +5 -1
  52. package/lib/es6/style/scroll-shadows.shadow.css +6 -0
  53. package/lib/esm/components/Body/Body.mjs +74 -55
  54. package/lib/esm/components/Body/Cell.mjs +36 -35
  55. package/lib/esm/components/Body/MergedCells.mjs +6 -2
  56. package/lib/esm/components/Body/Row.mjs +67 -61
  57. package/lib/esm/components/Body/style.shadow.css +13 -10
  58. package/lib/esm/components/DataTable/DataTable.mjs +168 -119
  59. package/lib/esm/components/Head/Column.mjs +54 -49
  60. package/lib/esm/components/Head/Group.mjs +25 -24
  61. package/lib/esm/components/Head/Head.mjs +47 -46
  62. package/lib/esm/components/Head/style.shadow.css +5 -1
  63. package/lib/esm/style/scroll-shadows.shadow.css +6 -0
  64. package/lib/types/components/Body/Body.types.d.ts +2 -1
  65. package/lib/types/components/Body/Cell.types.d.ts +2 -0
  66. package/lib/types/components/Body/MergedCells.d.ts +6 -2
  67. package/lib/types/components/Body/Row.types.d.ts +11 -4
  68. package/lib/types/components/DataTable/DataTable.d.ts +3 -2
  69. package/lib/types/components/DataTable/DataTable.types.d.ts +10 -3
  70. package/lib/types/components/Head/Column.d.ts +1 -0
  71. package/lib/types/components/Head/Column.types.d.ts +4 -15
  72. package/lib/types/components/Head/Head.d.ts +3 -3
  73. package/lib/types/components/Head/Head.types.d.ts +6 -1
  74. package/package.json +10 -10
  75. package/lib/cjs/utils.js +0 -66
  76. package/lib/cjs/utils.js.map +0 -1
  77. package/lib/es6/utils.js +0 -56
  78. package/lib/es6/utils.js.map +0 -1
  79. package/lib/esm/utils.mjs +0 -43
  80. package/lib/types/utils.d.ts +0 -8
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.UNIQ_ROW_KEY = exports.SELECT_ALL = exports.ROW_INDEX = exports.ROW_GROUP = exports.DataTable = exports.ACCORDION = void 0;
8
+ exports.UNIQ_ROW_KEY = exports.SELECT_ALL = exports.ROW_INDEX = exports.ROW_GROUP = exports.DataTableInternal = exports.DataTable = exports.ACCORDION = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -21,7 +21,6 @@ var _baseComponents = require("@semcore/base-components");
21
21
  var _Head = require("../Head/Head");
22
22
  var _Body = require("../Body/Body");
23
23
  var _useFocusLock = require("@semcore/core/lib/utils/use/useFocusLock");
24
- var _utils = require("../../utils");
25
24
  var _findComponent = _interopRequireDefault(require("@semcore/core/lib/utils/findComponent"));
26
25
  var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
27
26
  var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
@@ -32,31 +31,35 @@ var _rafTrottle = _interopRequireDefault(require("@semcore/core/lib/utils/rafTro
32
31
  var _MergedCells = require("../Body/MergedCells");
33
32
  var _widgetEmpty = require("@semcore/widget-empty");
34
33
  /*!__reshadow-styles__:"./dataTable.shadow.css"*/
35
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_1iypx_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_1iypx_gg_.__gridTemplateColumns_1iypx_gg_{grid-template-columns:var(--gridTemplateColumns_1iypx)}.___SDataTable_1iypx_gg_.__gridTemplateAreas_1iypx_gg_{grid-template-areas:var(--gridTemplateAreas_1iypx)}.___SDataTable_1iypx_gg_.__gridTemplateRows_1iypx_gg_{grid-template-rows:var(--gridTemplateRows_1iypx)}", /*__inner_css_end__*/"1iypx_gg_"),
34
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_133z6_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_133z6_gg_.__gridTemplateColumns_133z6_gg_{grid-template-columns:var(--gridTemplateColumns_133z6)}.___SDataTable_133z6_gg_.__gridTemplateAreas_133z6_gg_{grid-template-areas:var(--gridTemplateAreas_133z6)}.___SDataTable_133z6_gg_.__gridTemplateRows_133z6_gg_{grid-template-rows:var(--gridTemplateRows_133z6)}", /*__inner_css_end__*/"133z6_gg_"),
36
35
  /*__reshadow_css_end__*/
37
36
  {
38
- "__SDataTable": "___SDataTable_1iypx_gg_",
39
- "_gridTemplateColumns": "__gridTemplateColumns_1iypx_gg_",
40
- "--gridTemplateColumns": "--gridTemplateColumns_1iypx",
41
- "_gridTemplateAreas": "__gridTemplateAreas_1iypx_gg_",
42
- "--gridTemplateAreas": "--gridTemplateAreas_1iypx",
43
- "_gridTemplateRows": "__gridTemplateRows_1iypx_gg_",
44
- "--gridTemplateRows": "--gridTemplateRows_1iypx"
37
+ "__SDataTable": "___SDataTable_133z6_gg_",
38
+ "_gridTemplateColumns": "__gridTemplateColumns_133z6_gg_",
39
+ "--gridTemplateColumns": "--gridTemplateColumns_133z6",
40
+ "_gridTemplateAreas": "__gridTemplateAreas_133z6_gg_",
41
+ "--gridTemplateAreas": "--gridTemplateAreas_133z6",
42
+ "_gridTemplateRows": "__gridTemplateRows_133z6_gg_",
43
+ "--gridTemplateRows": "--gridTemplateRows_133z6"
45
44
  });
46
45
  /*!__reshadow-styles__:"../../style/scroll-shadows.shadow.css"*/
47
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScrollArea_11h4o_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_11h4o_gg_ .___SContainer_11h4o_gg_{overflow:visible;overflow:initial}.___SScrollArea_11h4o_gg_ .___SContainer_11h4o_gg_._scrollDirection_both_11h4o_gg_{overflow:auto}.___SScrollArea_11h4o_gg_ .___SContainer_11h4o_gg_._scrollDirection_horizontal_11h4o_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_11h4o_gg_ .___SContainer_11h4o_gg_._scrollDirection_vertical_11h4o_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_11h4o_gg_ .___SContainer_11h4o_gg_.__loading_11h4o_gg_{overflow:hidden}.___SScrollArea_11h4o_gg_ .___SContainer_11h4o_gg_.__headerHeight_11h4o_gg_{scroll-padding-top:var(--headerHeight_11h4o)}.___SScrollArea_11h4o_gg_ .___SShadowVertical_11h4o_gg_:before{display:none}.___SScrollArea_11h4o_gg_ .___SShadowHorizontal_11h4o_gg_:after,.___SScrollArea_11h4o_gg_ .___SShadowHorizontal_11h4o_gg_:before,.___SScrollArea_11h4o_gg_ .___SShadowVertical_11h4o_gg_:after{z-index:2}", /*__inner_css_end__*/"11h4o_gg_"),
46
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScrollArea_1p4fc_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_{overflow:visible;overflow:initial}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_._scrollDirection_both_1p4fc_gg_{overflow:auto}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_._scrollDirection_horizontal_1p4fc_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_._scrollDirection_vertical_1p4fc_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__loading_1p4fc_gg_{overflow:hidden}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__headerHeight_1p4fc_gg_{scroll-padding-top:var(--headerHeight_1p4fc)}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__leftScrollPadding_1p4fc_gg_{scroll-padding-left:var(--leftScrollPadding_1p4fc)}.___SScrollArea_1p4fc_gg_ .___SContainer_1p4fc_gg_.__rightScrollPadding_1p4fc_gg_{scroll-padding-right:var(--rightScrollPadding_1p4fc)}.___SScrollArea_1p4fc_gg_ .___SShadowVertical_1p4fc_gg_:before{display:none}.___SScrollArea_1p4fc_gg_ .___SShadowHorizontal_1p4fc_gg_:after,.___SScrollArea_1p4fc_gg_ .___SShadowHorizontal_1p4fc_gg_:before,.___SScrollArea_1p4fc_gg_ .___SShadowVertical_1p4fc_gg_:after{z-index:2}", /*__inner_css_end__*/"1p4fc_gg_"),
48
47
  /*__reshadow_css_end__*/
49
48
  {
50
- "__SScrollArea": "___SScrollArea_11h4o_gg_",
51
- "__SContainer": "___SContainer_11h4o_gg_",
52
- "_scrollDirection_both": "_scrollDirection_both_11h4o_gg_",
53
- "_scrollDirection_horizontal": "_scrollDirection_horizontal_11h4o_gg_",
54
- "_scrollDirection_vertical": "_scrollDirection_vertical_11h4o_gg_",
55
- "_loading": "__loading_11h4o_gg_",
56
- "_headerHeight": "__headerHeight_11h4o_gg_",
57
- "--headerHeight": "--headerHeight_11h4o",
58
- "__SShadowVertical": "___SShadowVertical_11h4o_gg_",
59
- "__SShadowHorizontal": "___SShadowHorizontal_11h4o_gg_"
49
+ "__SScrollArea": "___SScrollArea_1p4fc_gg_",
50
+ "__SContainer": "___SContainer_1p4fc_gg_",
51
+ "_scrollDirection_both": "_scrollDirection_both_1p4fc_gg_",
52
+ "_scrollDirection_horizontal": "_scrollDirection_horizontal_1p4fc_gg_",
53
+ "_scrollDirection_vertical": "_scrollDirection_vertical_1p4fc_gg_",
54
+ "_loading": "__loading_1p4fc_gg_",
55
+ "_headerHeight": "__headerHeight_1p4fc_gg_",
56
+ "--headerHeight": "--headerHeight_1p4fc",
57
+ "_leftScrollPadding": "__leftScrollPadding_1p4fc_gg_",
58
+ "--leftScrollPadding": "--leftScrollPadding_1p4fc",
59
+ "_rightScrollPadding": "__rightScrollPadding_1p4fc_gg_",
60
+ "--rightScrollPadding": "--rightScrollPadding_1p4fc",
61
+ "__SShadowVertical": "___SShadowVertical_1p4fc_gg_",
62
+ "__SShadowHorizontal": "___SShadowHorizontal_1p4fc_gg_"
60
63
  });
61
64
  var ACCORDION = Symbol('accordion');
62
65
  exports.ACCORDION = ACCORDION;
@@ -88,7 +91,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
88
91
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "gridAreaGroupMap", new Map());
89
92
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "columnsSplitter", '/');
90
93
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rows", []);
94
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "flatRows", []);
91
95
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "selectAllMessageTimer", 0);
96
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "headerNodesMap", new Map());
92
97
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
93
98
  scrollTop: 0,
94
99
  scrollDirection: 'down',
@@ -133,20 +138,19 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
133
138
  return (_this$tableRef$curren = _this.tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.querySelector("[aria-rowindex=\"".concat(index + 1, "\"]"));
134
139
  });
135
140
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hasFocusableInHeader", function () {
136
- var hasFocusable = _this.columns.some(function (column) {
137
- var columnElement = column.ref.current;
138
- return columnElement && (0, _useFocusLock.hasFocusableIn)(columnElement);
139
- });
140
- return hasFocusable;
141
+ return _this.headerRef.current && (0, _useFocusLock.hasFocusableIn)(_this.headerRef.current);
141
142
  });
142
143
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onExpandRow", function (expandedRow) {
143
144
  var expandedRows = _this.asProps.expandedRows;
144
145
  if (expandedRows.has(expandedRow[UNIQ_ROW_KEY])) {
145
146
  expandedRows["delete"](expandedRow[UNIQ_ROW_KEY]);
147
+ setTimeout(function () {
148
+ _this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
149
+ }, 300);
146
150
  } else {
147
151
  expandedRows.add(expandedRow[UNIQ_ROW_KEY]);
152
+ _this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
148
153
  }
149
- _this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
150
154
  });
151
155
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeFocusCell", function (rowIndex, colIndex, direction) {
152
156
  var _this$tableRef$curren2, _this$tableRef$curren3;
@@ -191,9 +195,14 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
191
195
  var rowI = rowIndex;
192
196
  var colI = colIndex;
193
197
  if (direction === 'left' || direction === 'right') {
194
- var _currentCell$parentEl, _row$children;
198
+ var _currentCell$parentEl, _currentCell$parentEl2, _row$children;
199
+ // we need to skip Collapse Element with one big component from keyboard left/right pressing
200
+ if (((_currentCell$parentEl = currentCell.parentElement) === null || _currentCell$parentEl === void 0 ? void 0 : _currentCell$parentEl.dataset.uiName) === 'Collapse') {
201
+ return;
202
+ }
203
+
195
204
  // left/right
196
- if (currentCell.dataset.groupedBy === 'colgroup' || Number((_currentCell$parentEl = currentCell.parentElement) === null || _currentCell$parentEl === void 0 ? void 0 : _currentCell$parentEl.getAttribute('aria-rowindex')) === 2 || Array.from((_row$children = row === null || row === void 0 ? void 0 : row.children) !== null && _row$children !== void 0 ? _row$children : []).indexOf(currentCell) > 0) {
205
+ if (currentCell.dataset.groupedBy === 'colgroup' || Number((_currentCell$parentEl2 = currentCell.parentElement) === null || _currentCell$parentEl2 === void 0 ? void 0 : _currentCell$parentEl2.getAttribute('aria-rowindex')) === 2 || Array.from((_row$children = row === null || row === void 0 ? void 0 : row.children) !== null && _row$children !== void 0 ? _row$children : []).indexOf(currentCell) > 0) {
197
206
  colI = direction === 'left' ? colI - 1 : colI + 1;
198
207
  } else {
199
208
  rowI = rowI - 1;
@@ -318,6 +327,72 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
318
327
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleBackFromAccordion", function (cellIndex) {
319
328
  _this.changeFocusCell(-1, cellIndex === -1 ? 0 : cellIndex, 'up');
320
329
  });
330
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getScrollOffsetValue", function () {
331
+ if (!_this.headerRef.current) {
332
+ return [0, 0];
333
+ }
334
+ var setToMap = function setToMap(element) {
335
+ if (element.getAttribute('name') && element.dataset.uiName === 'Head.Column') {
336
+ var name = element.getAttribute('name');
337
+ if (name) {
338
+ _this.headerNodesMap.set(name, element);
339
+ }
340
+ }
341
+ };
342
+ _this.headerRef.current.childNodes.forEach(function (node) {
343
+ if (node instanceof HTMLElement) {
344
+ if (node.classList.value.includes('SGroupContainer')) {
345
+ node.childNodes.forEach(function (columnNode) {
346
+ if (columnNode instanceof HTMLElement) {
347
+ setToMap(columnNode);
348
+ }
349
+ });
350
+ } else {
351
+ setToMap(node);
352
+ }
353
+ }
354
+ });
355
+ return _this.columns.reduce(function (acc, column) {
356
+ if (column.fixed === 'left') {
357
+ var _this$headerNodesMap$, _this$headerNodesMap$2;
358
+ acc[0] += (_this$headerNodesMap$ = (_this$headerNodesMap$2 = _this.headerNodesMap.get(column.name)) === null || _this$headerNodesMap$2 === void 0 ? void 0 : _this$headerNodesMap$2.getBoundingClientRect().width) !== null && _this$headerNodesMap$ !== void 0 ? _this$headerNodesMap$ : 0;
359
+ }
360
+ if (column.fixed === 'right') {
361
+ var _this$headerNodesMap$3, _this$headerNodesMap$4;
362
+ acc[1] += (_this$headerNodesMap$3 = (_this$headerNodesMap$4 = _this.headerNodesMap.get(column.name)) === null || _this$headerNodesMap$4 === void 0 ? void 0 : _this$headerNodesMap$4.getBoundingClientRect().width) !== null && _this$headerNodesMap$3 !== void 0 ? _this$headerNodesMap$3 : 0;
363
+ }
364
+ return acc;
365
+ }, [0, 0]);
366
+ });
367
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getFixedStyle", function (cell) {
368
+ var side = cell.fixed;
369
+ if (!side) return [undefined, undefined];
370
+ var names = cell.name.split('/');
371
+ var nameSideMap = {
372
+ left: names[0],
373
+ right: names[names.length - 1]
374
+ };
375
+ var name = nameSideMap[side];
376
+ var index = _this.columns.findIndex(function (column) {
377
+ return column.name === name;
378
+ });
379
+ if (index === -1) return [undefined, undefined];
380
+ var startIndexSideMap = {
381
+ left: 0,
382
+ right: index + 1
383
+ };
384
+ var endIndexSideMap = {
385
+ left: index,
386
+ right: _this.columns.length
387
+ };
388
+ var columnsFixed = _this.columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
389
+ if (columnsFixed.length < 1) return [side, 0];
390
+ var sum = columnsFixed.reduce(function (acc, column) {
391
+ var _this$headerNodesMap$5;
392
+ return acc + ((_this$headerNodesMap$5 = _this.headerNodesMap.get(column.name)) === null || _this$headerNodesMap$5 === void 0 ? void 0 : _this$headerNodesMap$5.getBoundingClientRect().width);
393
+ }, 0);
394
+ return [side, "".concat(sum, "px")];
395
+ });
321
396
  if (props.children) {
322
397
  _this.columns = _this.calculateColumns();
323
398
  } else {
@@ -326,6 +401,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
326
401
  _this.treeColumns = cols[1];
327
402
  }
328
403
  _this.rows = _this.calculateRows();
404
+ _this.flatRows = _this.rows.flat();
329
405
  return _this;
330
406
  }
331
407
  (0, _createClass2["default"])(DataTableRoot, [{
@@ -338,16 +414,33 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
338
414
  }, {
339
415
  key: "componentDidMount",
340
416
  value: function componentDidMount() {
341
- this.forceUpdate();
417
+ var _this2 = this;
418
+ var _this$asProps2 = this.asProps,
419
+ headerProps = _this$asProps2.headerProps,
420
+ loading = _this$asProps2.loading;
421
+ if (headerProps !== null && headerProps !== void 0 && headerProps.sticky && !headerProps.h || loading || this.columns.some(function (c) {
422
+ return c.fixed;
423
+ })) {
424
+ requestAnimationFrame(function () {
425
+ _this2.forceUpdate();
426
+ });
427
+ }
342
428
  }
343
429
  }, {
344
430
  key: "componentDidUpdate",
345
431
  value: function componentDidUpdate(prevProps) {
346
- var _this$asProps2 = this.asProps,
347
- data = _this$asProps2.data,
348
- selectedRows = _this$asProps2.selectedRows;
349
- if (prevProps.data !== data) {
432
+ var _this$asProps3 = this.asProps,
433
+ data = _this$asProps3.data,
434
+ selectedRows = _this$asProps3.selectedRows,
435
+ columns = _this$asProps3.columns;
436
+ if (prevProps.columns !== columns) {
437
+ var cols = this.calculateColumnsFromConfig();
438
+ this.columns = cols[0];
439
+ this.treeColumns = cols[1];
440
+ }
441
+ if (prevProps.data !== data || prevProps.columns !== columns) {
350
442
  this.rows = this.calculateRows();
443
+ this.flatRows = this.rows.flat();
351
444
  this.forceUpdate();
352
445
  }
353
446
  if (prevProps.selectedRows !== selectedRows && selectedRows !== undefined) {
@@ -361,9 +454,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
361
454
  }, {
362
455
  key: "totalRows",
363
456
  get: function get() {
364
- var _this$asProps3 = this.asProps,
365
- totalRows = _this$asProps3.totalRows,
366
- expandedRows = _this$asProps3.expandedRows;
457
+ var _this$asProps4 = this.asProps,
458
+ totalRows = _this$asProps4.totalRows,
459
+ expandedRows = _this$asProps4.expandedRows;
367
460
  var flatRows = this.rows.flat();
368
461
  var expandedRowsCount = Array.from(expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function (acc, rowKey) {
369
462
  var dtRow = flatRows.find(function (el) {
@@ -396,7 +489,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
396
489
  get: function get() {
397
490
  var columns = this.columns;
398
491
  var gridTemplateColumns = columns.map(function (c) {
399
- return c.gridColumnWidth;
492
+ return c.gtcWidth;
400
493
  });
401
494
  var gridTemplateAreas = columns.map(function (c) {
402
495
  return c.name;
@@ -409,18 +502,18 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
409
502
  }, {
410
503
  key: "getHeadProps",
411
504
  value: function getHeadProps() {
412
- var _this2 = this;
413
- var _this$asProps4 = this.asProps,
414
- use = _this$asProps4.use,
415
- compact = _this$asProps4.compact,
416
- sort = _this$asProps4.sort,
417
- onSortChange = _this$asProps4.onSortChange,
418
- getI18nText = _this$asProps4.getI18nText,
419
- uid = _this$asProps4.uid,
420
- headerProps = _this$asProps4.headerProps,
421
- onSelectedRowsChange = _this$asProps4.onSelectedRowsChange,
422
- selectedRows = _this$asProps4.selectedRows,
423
- sideIndents = _this$asProps4.sideIndents;
505
+ var _this3 = this;
506
+ var _this$asProps5 = this.asProps,
507
+ use = _this$asProps5.use,
508
+ compact = _this$asProps5.compact,
509
+ sort = _this$asProps5.sort,
510
+ onSortChange = _this$asProps5.onSortChange,
511
+ getI18nText = _this$asProps5.getI18nText,
512
+ uid = _this$asProps5.uid,
513
+ headerProps = _this$asProps5.headerProps,
514
+ onSelectedRowsChange = _this$asProps5.onSelectedRowsChange,
515
+ selectedRows = _this$asProps5.selectedRows,
516
+ sideIndents = _this$asProps5.sideIndents;
424
517
  var _this$gridSettings = this.gridSettings,
425
518
  gridTemplateColumns = _this$gridSettings.gridTemplateColumns,
426
519
  gridTemplateAreas = _this$gridSettings.gridTemplateAreas;
@@ -442,37 +535,38 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
442
535
  totalRows: this.totalRows,
443
536
  selectedRows: selectedRows,
444
537
  onChangeSelectAll: function onChangeSelectAll(value, e) {
445
- var selectedRowsIndexes = value ? new Array(_this2.totalRows).fill(undefined).map(function (_, i) {
538
+ var selectedRowsIndexes = value ? new Array(_this3.totalRows).fill(undefined).map(function (_, i) {
446
539
  return i;
447
540
  }) : [];
448
541
  onSelectedRowsChange === null || onSelectedRowsChange === void 0 ? void 0 : onSelectedRowsChange(selectedRowsIndexes, e);
449
- }
542
+ },
543
+ getFixedStyle: this.getFixedStyle
450
544
  }, headerProps);
451
545
  }
452
546
  }, {
453
547
  key: "getBodyProps",
454
548
  value: function getBodyProps() {
455
- var _this$asProps5 = this.asProps,
456
- use = _this$asProps5.use,
457
- compact = _this$asProps5.compact,
458
- loading = _this$asProps5.loading,
459
- getI18nText = _this$asProps5.getI18nText,
460
- expandedRows = _this$asProps5.expandedRows,
461
- virtualScroll = _this$asProps5.virtualScroll,
462
- uid = _this$asProps5.uid,
463
- rowProps = _this$asProps5.rowProps,
464
- renderCell = _this$asProps5.renderCell,
465
- headerProps = _this$asProps5.headerProps,
466
- renderEmptyData = _this$asProps5.renderEmptyData,
467
- sideIndents = _this$asProps5.sideIndents,
468
- selectedRows = _this$asProps5.selectedRows;
549
+ var _this$asProps6 = this.asProps,
550
+ use = _this$asProps6.use,
551
+ compact = _this$asProps6.compact,
552
+ loading = _this$asProps6.loading,
553
+ getI18nText = _this$asProps6.getI18nText,
554
+ expandedRows = _this$asProps6.expandedRows,
555
+ virtualScroll = _this$asProps6.virtualScroll,
556
+ uid = _this$asProps6.uid,
557
+ rowProps = _this$asProps6.rowProps,
558
+ renderCell = _this$asProps6.renderCell,
559
+ headerProps = _this$asProps6.headerProps,
560
+ renderEmptyData = _this$asProps6.renderEmptyData,
561
+ sideIndents = _this$asProps6.sideIndents,
562
+ selectedRows = _this$asProps6.selectedRows;
469
563
  var _this$gridSettings2 = this.gridSettings,
470
564
  gridTemplateColumns = _this$gridSettings2.gridTemplateColumns,
471
565
  gridTemplateAreas = _this$gridSettings2.gridTemplateAreas;
472
566
  return {
473
567
  columns: this.columns,
474
568
  rows: this.rows,
475
- flatRows: this.rows.flat(),
569
+ flatRows: this.flatRows,
476
570
  use: use,
477
571
  compact: Boolean(compact),
478
572
  gridTemplateColumns: gridTemplateColumns,
@@ -498,7 +592,8 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
498
592
  renderEmptyData: renderEmptyData,
499
593
  sideIndents: sideIndents,
500
594
  selectedRows: selectedRows,
501
- onSelectRow: this.handleSelectRow
595
+ onSelectRow: this.handleSelectRow,
596
+ getFixedStyle: this.getFixedStyle
502
597
  };
503
598
  }
504
599
  }, {
@@ -520,33 +615,33 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
520
615
  var _ref = this.asProps,
521
616
  _ref2;
522
617
  var SDataTable = _baseComponents.Box;
523
- var _this$asProps6 = this.asProps,
524
- Children = _this$asProps6.Children,
525
- styles = _this$asProps6.styles,
526
- w = _this$asProps6.w,
527
- wMax = _this$asProps6.wMax,
528
- wMin = _this$asProps6.wMin,
529
- h = _this$asProps6.h,
530
- hMax = _this$asProps6.hMax,
531
- hMin = _this$asProps6.hMin,
532
- virtualScroll = _this$asProps6.virtualScroll,
533
- children = _this$asProps6.children,
534
- headerProps = _this$asProps6.headerProps,
535
- loading = _this$asProps6.loading,
536
- selectedRows = _this$asProps6.selectedRows;
537
- var _getScrollOffsetValue = (0, _utils.getScrollOffsetValue)(this.columns),
538
- _getScrollOffsetValue2 = (0, _slicedToArray2["default"])(_getScrollOffsetValue, 2),
539
- offsetLeftSum = _getScrollOffsetValue2[0],
540
- offsetRightSum = _getScrollOffsetValue2[1];
618
+ var _this$asProps7 = this.asProps,
619
+ Children = _this$asProps7.Children,
620
+ styles = _this$asProps7.styles,
621
+ w = _this$asProps7.w,
622
+ wMax = _this$asProps7.wMax,
623
+ wMin = _this$asProps7.wMin,
624
+ h = _this$asProps7.h,
625
+ hMax = _this$asProps7.hMax,
626
+ hMin = _this$asProps7.hMin,
627
+ virtualScroll = _this$asProps7.virtualScroll,
628
+ children = _this$asProps7.children,
629
+ headerProps = _this$asProps7.headerProps,
630
+ loading = _this$asProps7.loading,
631
+ selectedRows = _this$asProps7.selectedRows;
632
+ var _this$getScrollOffset = this.getScrollOffsetValue(),
633
+ _this$getScrollOffset2 = (0, _slicedToArray2["default"])(_this$getScrollOffset, 2),
634
+ offsetLeftSum = _this$getScrollOffset2[0],
635
+ offsetRightSum = _this$getScrollOffset2[1];
541
636
  var _this$gridSettings3 = this.gridSettings,
542
637
  gridTemplateColumns = _this$gridSettings3.gridTemplateColumns,
543
638
  gridTemplateAreas = _this$gridSettings3.gridTemplateAreas;
544
639
  var Head = (0, _findComponent["default"])(Children, ['DataTable.Head']);
545
640
  var headerPropsToCheck = headerProps !== null && headerProps !== void 0 ? headerProps : Head === null || Head === void 0 ? void 0 : Head.props;
546
- var headerHeight = this.getHeaderHeight();
641
+ var headerHeight = (headerProps === null || headerProps === void 0 ? void 0 : headerProps.h) || this.getHeaderHeight();
547
642
  var topOffset = headerPropsToCheck !== null && headerPropsToCheck !== void 0 && headerPropsToCheck.sticky || headerPropsToCheck !== null && headerPropsToCheck !== void 0 && headerPropsToCheck.withScrollBar ? headerHeight : undefined;
548
643
  var width = w !== null && w !== void 0 ? w : this.columns.some(function (c) {
549
- return c.gridColumnWidth === 'auto' || c.gridColumnWidth === '1fr';
644
+ return c.gtcWidth === 'auto' || c.gtcWidth === '1fr';
550
645
  }) ? '100%' : undefined;
551
646
  var gridTemplateRows = undefined;
552
647
  if (virtualScroll && typeof virtualScroll !== 'boolean' && 'rowHeight' in virtualScroll) {
@@ -576,7 +671,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
576
671
  "ref": this.scrollAreaRef,
577
672
  "container": this.tableContainerRef,
578
673
  "styles": scrollStyles,
579
- "onScroll": this.handleScroll,
674
+ "onScroll": virtualScroll ? this.handleScroll : undefined,
580
675
  "disableAutofocusToContent": true
581
676
  }), /*#__PURE__*/React.createElement(_baseComponents.ScrollArea.Container, {
582
677
  tabIndex: -1
@@ -586,7 +681,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
586
681
  // @ts-ignore
587
682
  ,
588
683
  loading: loading,
589
- headerHeight: "".concat(headerHeight, "px")
684
+ headerHeight: "".concat(headerHeight, "px"),
685
+ leftScrollPadding: "".concat(offsetLeftSum, "px"),
686
+ rightScrollPadding: "".concat(offsetRightSum, "px")
590
687
  }, /*#__PURE__*/React.createElement(SDataTable, _ref2.cn("SDataTable", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
591
688
  "ref": (0, _ref10.forkRef)(this.tableRef, this.tableContainerRef),
592
689
  "role": 'grid',
@@ -608,7 +705,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
608
705
  "use:h": undefined,
609
706
  "use:hMax": undefined,
610
707
  "use:hMin": undefined
611
- }, _ref))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataTable.Head, null), /*#__PURE__*/React.createElement(DataTable.Body, null)))), (headerPropsToCheck === null || headerPropsToCheck === void 0 ? void 0 : headerPropsToCheck.withScrollBar) && topOffset && !loading && /*#__PURE__*/React.createElement(_baseComponents.ScrollArea.Bar, {
708
+ }, _ref))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataTableInternal.Head, null), /*#__PURE__*/React.createElement(DataTableInternal.Body, null)))), (headerPropsToCheck === null || headerPropsToCheck === void 0 ? void 0 : headerPropsToCheck.withScrollBar) && topOffset && !loading && /*#__PURE__*/React.createElement(_baseComponents.ScrollArea.Bar, {
612
709
  orientation: "horizontal",
613
710
  top: topOffset - SCROLL_BAR_HEIGHT,
614
711
  zIndex: 10
@@ -626,7 +723,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
626
723
  }, {
627
724
  key: "calculateColumns",
628
725
  value: function calculateColumns() {
629
- var _this3 = this;
726
+ var _this4 = this;
630
727
  var _this$props = this.props,
631
728
  children = _this$props.children,
632
729
  data = _this$props.data,
@@ -641,20 +738,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
641
738
  if (selectedRows) {
642
739
  var column = {
643
740
  name: SELECT_ALL.toString(),
644
- // @ts-ignore
645
- ref: function ref(node) {
646
- if (node) {
647
- var calculatedWidth = node.getBoundingClientRect().width;
648
- var calculatedHeight = node.getBoundingClientRect().height;
649
- column.calculatedWidth = calculatedWidth;
650
- column.calculatedHeight = calculatedHeight;
651
- }
652
- this.ref.current = node;
653
- },
654
- gridColumnWidth: '40px',
655
- calculatedWidth: 0,
656
- calculatedHeight: 0,
657
- alignItems: 'flex-start'
741
+ gtcWidth: '40px',
742
+ alignItems: 'flex-start',
743
+ children: ''
658
744
  };
659
745
  columns.push(column);
660
746
  }
@@ -664,26 +750,15 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
664
750
  var rightBordersFromParent = isLast && ((parent === null || parent === void 0 ? void 0 : parent.props.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.props.borders) === 'right') ? 'right' : undefined;
665
751
  var column = {
666
752
  name: columnElement.props.name,
667
- // @ts-ignore
668
- ref: function ref(node) {
669
- if (node) {
670
- var calculatedWidth = node.getBoundingClientRect().width;
671
- var calculatedHeight = node.getBoundingClientRect().height;
672
- column.calculatedWidth = calculatedWidth;
673
- column.calculatedHeight = calculatedHeight;
674
- }
675
- this.ref.current = node;
676
- },
677
- gridColumnWidth: calculateGridTemplateColumn(columnElement),
753
+ gtcWidth: calculateGridTemplateColumn(columnElement),
678
754
  fixed: (_columnElement$props$ = columnElement.props.fixed) !== null && _columnElement$props$ !== void 0 ? _columnElement$props$ : parent === null || parent === void 0 ? void 0 : parent.props.fixed,
679
- calculatedWidth: 0,
680
- calculatedHeight: 0,
681
755
  borders: (_ref3 = (_columnElement$props$2 = columnElement.props.borders) !== null && _columnElement$props$2 !== void 0 ? _columnElement$props$2 : leftBordersFromParent) !== null && _ref3 !== void 0 ? _ref3 : rightBordersFromParent,
682
756
  parent: parent,
683
757
  flexWrap: columnElement.props.flexWrap,
684
758
  alignItems: columnElement.props.alignItems,
685
759
  alignContent: columnElement.props.alignContent,
686
- justifyContent: columnElement.props.justifyContent
760
+ justifyContent: columnElement.props.justifyContent,
761
+ children: ''
687
762
  };
688
763
  return column;
689
764
  };
@@ -697,7 +772,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
697
772
  if (! /*#__PURE__*/React.isValidElement(child)) return;
698
773
  if (childIsColumn(child)) {
699
774
  var col = makeColumn(child);
700
- col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this3.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
775
+ col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
701
776
  columnIndex++;
702
777
  gridColumnIndex++;
703
778
  columns.push(col);
@@ -724,7 +799,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
724
799
  columns.push(_col);
725
800
  }
726
801
  });
727
- _this3.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
802
+ _this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
728
803
  groupIndex++;
729
804
  }
730
805
  });
@@ -733,7 +808,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
733
808
  }, {
734
809
  key: "calculateColumnsFromConfig",
735
810
  value: function calculateColumnsFromConfig() {
736
- var _this4 = this;
811
+ var _this5 = this;
737
812
  var _this$props2 = this.props,
738
813
  columns = _this$props2.columns,
739
814
  data = _this$props2.data,
@@ -750,20 +825,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
750
825
  if (selectedRows) {
751
826
  var column = {
752
827
  name: SELECT_ALL.toString(),
753
- // @ts-ignore
754
- ref: function ref(node) {
755
- if (node) {
756
- var calculatedWidth = node.getBoundingClientRect().width;
757
- var calculatedHeight = node.getBoundingClientRect().height;
758
- column.calculatedWidth = calculatedWidth;
759
- column.calculatedHeight = calculatedHeight;
760
- }
761
- this.ref.current = node;
762
- },
763
- gridColumnWidth: '40px',
764
- calculatedWidth: 0,
765
- calculatedHeight: 0,
766
- alignItems: 'flex-start'
828
+ gtcWidth: '40px',
829
+ alignItems: 'flex-start',
830
+ children: ''
767
831
  };
768
832
  calculatedColumns.push(column);
769
833
  }
@@ -773,27 +837,8 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
773
837
  var rightBordersFromParent = isLast && ((parent === null || parent === void 0 ? void 0 : parent.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.borders) === 'right') ? 'right' : undefined;
774
838
  var column = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, columnElement), {}, {
775
839
  name: childIsColumn(columnElement) ? columnElement.name : '',
776
- // @ts-ignore
777
- ref: function ref(node) {
778
- var _columnElement$ref;
779
- if (node) {
780
- var calculatedWidth = node.getBoundingClientRect().width;
781
- var calculatedHeight = node.getBoundingClientRect().height;
782
- column.calculatedWidth = calculatedWidth;
783
- column.calculatedHeight = calculatedHeight;
784
- }
785
- if (childIsColumn(columnElement) && (_columnElement$ref = columnElement.ref) !== null && _columnElement$ref !== void 0 && _columnElement$ref.hasOwnProperty('current')) {
786
- // @ts-ignore
787
- columnElement.ref.current = node;
788
- }
789
- if (this !== null && this !== void 0 && this.ref) {
790
- this.ref.current = node;
791
- }
792
- },
793
- gridColumnWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
840
+ gtcWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
794
841
  fixed: (_columnElement$fixed = columnElement.fixed) !== null && _columnElement$fixed !== void 0 ? _columnElement$fixed : parent === null || parent === void 0 ? void 0 : parent.fixed,
795
- calculatedWidth: 0,
796
- calculatedHeight: 0,
797
842
  borders: (_ref4 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref4 !== void 0 ? _ref4 : rightBordersFromParent,
798
843
  parent: parent
799
844
  });
@@ -808,7 +853,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
808
853
  columns.forEach(function (child, i) {
809
854
  if (childIsColumn(child)) {
810
855
  var col = makeColumn(child);
811
- col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
856
+ col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this5.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
812
857
  columnIndex++;
813
858
  gridColumnIndex++;
814
859
  calculatedColumns.push(col);
@@ -839,7 +884,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
839
884
  (_Group$columns = Group.columns) === null || _Group$columns === void 0 ? void 0 : _Group$columns.push(col);
840
885
  });
841
886
  treeColumns.push(Group);
842
- _this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
887
+ _this5.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
843
888
  groupIndex++;
844
889
  }
845
890
  });
@@ -848,7 +893,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
848
893
  }, {
849
894
  key: "calculateRows",
850
895
  value: function calculateRows() {
851
- var _this5 = this;
896
+ var _this6 = this;
852
897
  var columns = this.columns;
853
898
  // @ts-ignore
854
899
  var _this$props3 = this.props,
@@ -868,7 +913,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
868
913
  var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
869
914
  key = _ref6[0],
870
915
  value = _ref6[1];
871
- var columnsToRow = key.split(_this5.columnsSplitter);
916
+ var columnsToRow = key.split(_this6.columnsSplitter);
872
917
  if (columnsToRow.length === 1) {
873
918
  acc[key] = value !== null && value !== void 0 ? value : '';
874
919
  columns["delete"](key);
@@ -906,7 +951,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
906
951
  var _ref8 = (0, _slicedToArray2["default"])(_ref7, 2),
907
952
  key = _ref8[0],
908
953
  value = _ref8[1];
909
- acc[key] = new _MergedCells.MergedRowsCell(value, groupedRows.length);
954
+ acc[key] = new _MergedCells.MergedRowsCell(value, groupedRows.length, row[ACCORDION]);
910
955
  groupedKeys.push(key);
911
956
  return acc;
912
957
  }, (_Object$entries$reduc2 = {}, (0, _defineProperty2["default"])(_Object$entries$reduc2, UNIQ_ROW_KEY, ''), (0, _defineProperty2["default"])(_Object$entries$reduc2, ROW_INDEX, -1), _Object$entries$reduc2));
@@ -915,8 +960,14 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
915
960
  if (index === 0) {
916
961
  var rowData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, childRow), groupedRowData);
917
962
  dtRow = makeDtRow(rowData);
963
+ dtRow[ROW_GROUP] = new Set();
918
964
  } else {
965
+ var _innerRows$, _innerRows$$ROW_GROUP;
966
+ if (index === groupedRows.length - 1 && row[ACCORDION]) {
967
+ childRow[ACCORDION] = row[ACCORDION];
968
+ }
919
969
  dtRow = makeDtRow(childRow, groupedKeys);
970
+ (_innerRows$ = innerRows[0]) === null || _innerRows$ === void 0 ? void 0 : (_innerRows$$ROW_GROUP = _innerRows$[ROW_GROUP]) === null || _innerRows$$ROW_GROUP === void 0 ? void 0 : _innerRows$$ROW_GROUP.add(dtRow[UNIQ_ROW_KEY]);
920
971
  }
921
972
  innerRows.push(dtRow);
922
973
  rowIndex++;
@@ -978,4 +1029,6 @@ var DataTable = (0, _core.createComponent)(DataTableRoot, {
978
1029
  Body: _Body.Body
979
1030
  });
980
1031
  exports.DataTable = DataTable;
1032
+ var DataTableInternal = DataTable;
1033
+ exports.DataTableInternal = DataTableInternal;
981
1034
  //# sourceMappingURL=DataTable.js.map