@semcore/data-table 16.3.0-prerelease.3 → 16.3.1-prerelease.5

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 (57) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/lib/cjs/components/Body/Body.js +200 -363
  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 +53 -70
  6. package/lib/cjs/components/Body/Cell.js.map +1 -1
  7. package/lib/cjs/components/Body/Row.js +367 -114
  8. package/lib/cjs/components/Body/Row.js.map +1 -1
  9. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  10. package/lib/cjs/components/Body/style.shadow.css +2 -7
  11. package/lib/cjs/components/DataTable/DataTable.js +99 -174
  12. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  13. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  14. package/lib/cjs/components/Head/Column.js +41 -41
  15. package/lib/cjs/components/Head/Column.js.map +1 -1
  16. package/lib/cjs/components/Head/Group.js +39 -71
  17. package/lib/cjs/components/Head/Group.js.map +1 -1
  18. package/lib/cjs/components/Head/Head.js +82 -45
  19. package/lib/cjs/components/Head/Head.js.map +1 -1
  20. package/lib/cjs/index.js +13 -0
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/es6/components/Body/Body.js +201 -364
  23. package/lib/es6/components/Body/Body.js.map +1 -1
  24. package/lib/es6/components/Body/Body.types.js.map +1 -1
  25. package/lib/es6/components/Body/Cell.js +53 -70
  26. package/lib/es6/components/Body/Cell.js.map +1 -1
  27. package/lib/es6/components/Body/Row.js +367 -114
  28. package/lib/es6/components/Body/Row.js.map +1 -1
  29. package/lib/es6/components/Body/Row.types.js.map +1 -1
  30. package/lib/es6/components/Body/style.shadow.css +2 -7
  31. package/lib/es6/components/DataTable/DataTable.js +95 -170
  32. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  33. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  34. package/lib/es6/components/Head/Column.js +41 -41
  35. package/lib/es6/components/Head/Column.js.map +1 -1
  36. package/lib/es6/components/Head/Group.js +40 -72
  37. package/lib/es6/components/Head/Group.js.map +1 -1
  38. package/lib/es6/components/Head/Head.js +83 -46
  39. package/lib/es6/components/Head/Head.js.map +1 -1
  40. package/lib/es6/index.js +2 -1
  41. package/lib/es6/index.js.map +1 -1
  42. package/lib/esm/components/Body/Body.mjs +159 -312
  43. package/lib/esm/components/Body/Cell.mjs +54 -68
  44. package/lib/esm/components/Body/Row.mjs +316 -94
  45. package/lib/esm/components/Body/style.shadow.css +2 -7
  46. package/lib/esm/components/DataTable/DataTable.mjs +90 -163
  47. package/lib/esm/components/Head/Column.mjs +42 -42
  48. package/lib/esm/components/Head/Group.mjs +42 -65
  49. package/lib/esm/components/Head/Head.mjs +72 -44
  50. package/lib/esm/index.mjs +3 -0
  51. package/lib/types/components/Body/Body.d.ts +1 -2
  52. package/lib/types/components/Body/Body.types.d.ts +2 -1
  53. package/lib/types/components/Body/Row.d.ts +43 -3
  54. package/lib/types/components/Body/Row.types.d.ts +27 -15
  55. package/lib/types/components/DataTable/DataTable.d.ts +2 -2
  56. package/lib/types/index.d.ts +2 -1
  57. package/package.json +22 -22
@@ -5,10 +5,9 @@ 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.IS_EMPTY_DATA_ROW = exports.DataTableInternal = exports.DataTable = exports.ACCORDION = void 0;
8
+ exports.UNIQ_ROW_KEY = exports.SELECT_ALL = exports.ROW_INDEX = exports.ROW_GROUP = exports.IS_EMPTY_DATA_ROW = exports.GRID_ROW_INDEX = 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
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
13
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -23,7 +22,7 @@ var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhan
23
22
  var _findComponent = _interopRequireDefault(require("@semcore/core/lib/utils/findComponent"));
24
23
  var _hasParent = require("@semcore/core/lib/utils/hasParent");
25
24
  var _rafTrottle = _interopRequireDefault(require("@semcore/core/lib/utils/rafTrottle"));
26
- var _ref0 = require("@semcore/core/lib/utils/ref");
25
+ var _ref9 = require("@semcore/core/lib/utils/ref");
27
26
  var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
28
27
  var _useFocusLock = require("@semcore/core/lib/utils/use/useFocusLock");
29
28
  var _widgetEmpty = require("@semcore/widget-empty");
@@ -34,38 +33,38 @@ var _MergedCells = require("../Body/MergedCells");
34
33
  var _Head = require("../Head/Head");
35
34
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
36
35
  /*!__reshadow-styles__:"./dataTable.shadow.css"*/
37
- var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SDataTable_12hpo_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_12hpo_gg_.__isDataEmpty_12hpo_gg_{display:block;align-items:initial;min-width:initial}.___SDataTable_12hpo_gg_.__gridTemplateColumns_12hpo_gg_{grid-template-columns:var(--gridTemplateColumns_12hpo)}.___SDataTable_12hpo_gg_.__gridTemplateAreas_12hpo_gg_{grid-template-areas:var(--gridTemplateAreas_12hpo)}.___SDataTable_12hpo_gg_.__gridTemplateRows_12hpo_gg_{grid-template-rows:var(--gridTemplateRows_12hpo)}", /*__inner_css_end__*/"12hpo_gg_"),
36
+ var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SDataTable_1uu41_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_1uu41_gg_.__isDataEmpty_1uu41_gg_{display:block;align-items:initial;min-width:initial}.___SDataTable_1uu41_gg_.__gridTemplateColumns_1uu41_gg_{grid-template-columns:var(--gridTemplateColumns_1uu41)}.___SDataTable_1uu41_gg_.__gridTemplateAreas_1uu41_gg_{grid-template-areas:var(--gridTemplateAreas_1uu41)}.___SDataTable_1uu41_gg_.__gridTemplateRows_1uu41_gg_{grid-template-rows:var(--gridTemplateRows_1uu41)}", /*__inner_css_end__*/"1uu41_gg_"),
38
37
  /*__reshadow_css_end__*/
39
38
  {
40
- "__SDataTable": "___SDataTable_12hpo_gg_",
41
- "_isDataEmpty": "__isDataEmpty_12hpo_gg_",
42
- "_gridTemplateColumns": "__gridTemplateColumns_12hpo_gg_",
43
- "--gridTemplateColumns": "--gridTemplateColumns_12hpo",
44
- "_gridTemplateAreas": "__gridTemplateAreas_12hpo_gg_",
45
- "--gridTemplateAreas": "--gridTemplateAreas_12hpo",
46
- "_gridTemplateRows": "__gridTemplateRows_12hpo_gg_",
47
- "--gridTemplateRows": "--gridTemplateRows_12hpo"
39
+ "__SDataTable": "___SDataTable_1uu41_gg_",
40
+ "_isDataEmpty": "__isDataEmpty_1uu41_gg_",
41
+ "_gridTemplateColumns": "__gridTemplateColumns_1uu41_gg_",
42
+ "--gridTemplateColumns": "--gridTemplateColumns_1uu41",
43
+ "_gridTemplateAreas": "__gridTemplateAreas_1uu41_gg_",
44
+ "--gridTemplateAreas": "--gridTemplateAreas_1uu41",
45
+ "_gridTemplateRows": "__gridTemplateRows_1uu41_gg_",
46
+ "--gridTemplateRows": "--gridTemplateRows_1uu41"
48
47
  });
49
48
  /*!__reshadow-styles__:"../../style/scroll-shadows.shadow.css"*/
50
- var scrollStyles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScrollArea_w8oky_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_{overflow:visible;overflow:initial}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_._scrollDirection_both_w8oky_gg_{overflow:auto}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_._scrollDirection_both_w8oky_gg_.__loading_w8oky_gg_,.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_._scrollDirection_horizontal_w8oky_gg_.__loading_w8oky_gg_,.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_._scrollDirection_vertical_w8oky_gg_.__loading_w8oky_gg_{overflow:hidden}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_._scrollDirection_horizontal_w8oky_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_._scrollDirection_vertical_w8oky_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_.__headerHeight_w8oky_gg_{scroll-padding-top:var(--headerHeight_w8oky)}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_.__leftScrollPadding_w8oky_gg_{scroll-padding-left:var(--leftScrollPadding_w8oky)}.___SScrollArea_w8oky_gg_ .___SContainer_w8oky_gg_.__rightScrollPadding_w8oky_gg_{scroll-padding-right:var(--rightScrollPadding_w8oky)}.___SScrollArea_w8oky_gg_ .___SShadowHorizontal_w8oky_gg_::before,.___SScrollArea_w8oky_gg_ .___SShadowHorizontal_w8oky_gg_:after,.___SScrollArea_w8oky_gg_ .___SShadowVertical_w8oky_gg_::after{z-index:20}.___SScrollArea_w8oky_gg_ .___SShadowHorizontal_w8oky_gg_.__leftOffset_w8oky_gg_::before,.___SScrollArea_w8oky_gg_ .___SShadowHorizontal_w8oky_gg_.__rightOffset_w8oky_gg_::after,.___SScrollArea_w8oky_gg_ .___SShadowVertical_w8oky_gg_::before{display:none}", /*__inner_css_end__*/"w8oky_gg_"),
49
+ var scrollStyles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SScrollArea_1v4r4_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_{overflow:visible;overflow:initial}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_both_1v4r4_gg_{overflow:auto}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_both_1v4r4_gg_.__loading_1v4r4_gg_,.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_horizontal_1v4r4_gg_.__loading_1v4r4_gg_,.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_vertical_1v4r4_gg_.__loading_1v4r4_gg_{overflow:hidden}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_horizontal_1v4r4_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_._scrollDirection_vertical_1v4r4_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_.__headerHeight_1v4r4_gg_{scroll-padding-top:var(--headerHeight_1v4r4)}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_.__leftScrollPadding_1v4r4_gg_{scroll-padding-left:var(--leftScrollPadding_1v4r4)}.___SScrollArea_1v4r4_gg_ .___SContainer_1v4r4_gg_.__rightScrollPadding_1v4r4_gg_{scroll-padding-right:var(--rightScrollPadding_1v4r4)}.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_::before,.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_:after,.___SScrollArea_1v4r4_gg_ .___SShadowVertical_1v4r4_gg_::after{z-index:20}.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_.__leftOffset_1v4r4_gg_::before,.___SScrollArea_1v4r4_gg_ .___SShadowHorizontal_1v4r4_gg_.__rightOffset_1v4r4_gg_::after,.___SScrollArea_1v4r4_gg_ .___SShadowVertical_1v4r4_gg_::before{display:none}", /*__inner_css_end__*/"1v4r4_gg_"),
51
50
  /*__reshadow_css_end__*/
52
51
  {
53
- "__SScrollArea": "___SScrollArea_w8oky_gg_",
54
- "__SContainer": "___SContainer_w8oky_gg_",
55
- "_scrollDirection_both": "_scrollDirection_both_w8oky_gg_",
56
- "_loading": "__loading_w8oky_gg_",
57
- "_scrollDirection_horizontal": "_scrollDirection_horizontal_w8oky_gg_",
58
- "_scrollDirection_vertical": "_scrollDirection_vertical_w8oky_gg_",
59
- "_headerHeight": "__headerHeight_w8oky_gg_",
60
- "--headerHeight": "--headerHeight_w8oky",
61
- "_leftScrollPadding": "__leftScrollPadding_w8oky_gg_",
62
- "--leftScrollPadding": "--leftScrollPadding_w8oky",
63
- "_rightScrollPadding": "__rightScrollPadding_w8oky_gg_",
64
- "--rightScrollPadding": "--rightScrollPadding_w8oky",
65
- "__SShadowVertical": "___SShadowVertical_w8oky_gg_",
66
- "__SShadowHorizontal": "___SShadowHorizontal_w8oky_gg_",
67
- "_leftOffset": "__leftOffset_w8oky_gg_",
68
- "_rightOffset": "__rightOffset_w8oky_gg_"
52
+ "__SScrollArea": "___SScrollArea_1v4r4_gg_",
53
+ "__SContainer": "___SContainer_1v4r4_gg_",
54
+ "_scrollDirection_both": "_scrollDirection_both_1v4r4_gg_",
55
+ "_loading": "__loading_1v4r4_gg_",
56
+ "_scrollDirection_horizontal": "_scrollDirection_horizontal_1v4r4_gg_",
57
+ "_scrollDirection_vertical": "_scrollDirection_vertical_1v4r4_gg_",
58
+ "_headerHeight": "__headerHeight_1v4r4_gg_",
59
+ "--headerHeight": "--headerHeight_1v4r4",
60
+ "_leftScrollPadding": "__leftScrollPadding_1v4r4_gg_",
61
+ "--leftScrollPadding": "--leftScrollPadding_1v4r4",
62
+ "_rightScrollPadding": "__rightScrollPadding_1v4r4_gg_",
63
+ "--rightScrollPadding": "--rightScrollPadding_1v4r4",
64
+ "__SShadowVertical": "___SShadowVertical_1v4r4_gg_",
65
+ "__SShadowHorizontal": "___SShadowHorizontal_1v4r4_gg_",
66
+ "_leftOffset": "__leftOffset_1v4r4_gg_",
67
+ "_rightOffset": "__rightOffset_1v4r4_gg_"
69
68
  });
70
69
  var ACCORDION = exports.ACCORDION = Symbol('accordion');
71
70
  var ROW_GROUP = exports.ROW_GROUP = Symbol('ROW_GROUP');
@@ -73,6 +72,7 @@ var UNIQ_ROW_KEY = exports.UNIQ_ROW_KEY = Symbol('UNIQ_ROW_KEY');
73
72
  var IS_EMPTY_DATA_ROW = exports.IS_EMPTY_DATA_ROW = Symbol('IS_EMPTY_DATA_ROW');
74
73
  var SELECT_ALL = exports.SELECT_ALL = Symbol('SELECT_ALL');
75
74
  var ROW_INDEX = exports.ROW_INDEX = Symbol('ROW_INDEX');
75
+ var GRID_ROW_INDEX = exports.GRID_ROW_INDEX = Symbol('GRID_ROW_INDEX');
76
76
  var SCROLL_BAR_HEIGHT = 12;
77
77
  var DataTableRoot = /*#__PURE__*/function (_Component) {
78
78
  function DataTableRoot(props) {
@@ -95,6 +95,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
95
95
  (0, _defineProperty2["default"])(_this, "tmpData", void 0);
96
96
  (0, _defineProperty2["default"])(_this, "calculatedRows", void 0);
97
97
  (0, _defineProperty2["default"])(_this, "flatRows", void 0);
98
+ (0, _defineProperty2["default"])(_this, "gridSettings", {
99
+ gridTemplateColumns: [],
100
+ gridTemplateAreas: []
101
+ });
98
102
  (0, _defineProperty2["default"])(_this, "selectAllMessageTimer", 0);
99
103
  (0, _defineProperty2["default"])(_this, "headerNodesMap", new Map());
100
104
  (0, _defineProperty2["default"])(_this, "state", {
@@ -173,7 +177,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
173
177
  });
174
178
  (0, _defineProperty2["default"])(_this, "getRow", function (index) {
175
179
  var _this$tableRef$curren;
176
- return (_this$tableRef$curren = _this.tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.querySelector("[aria-rowindex=\"".concat(index + 1, "\"]:not([aria-hidden=\"true\"])"));
180
+ return (_this$tableRef$curren = _this.tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.querySelector(":scope [aria-rowindex=\"".concat(index + 1, "\"]:not([aria-hidden=\"true\"]):not(:scope [data-ui-name=\"DataTable\"] [aria-rowindex=\"").concat(index + 1, "\"]:not([aria-hidden=\"true\"])"));
177
181
  });
178
182
  (0, _defineProperty2["default"])(_this, "hasFocusableInHeader", function () {
179
183
  return _this.headerRef.current && (0, _useFocusLock.hasFocusableIn)(_this.headerRef.current) || _this.columns.some(function (column) {
@@ -187,11 +191,11 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
187
191
  accordionMode = _this$asProps2.accordionMode;
188
192
  if (expandedRows.has(expandedRow[UNIQ_ROW_KEY])) {
189
193
  expandedRows["delete"](expandedRow[UNIQ_ROW_KEY]);
190
- _this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
194
+ _this.handlers.expandedRows(expandedRows);
191
195
  onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('close', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
192
196
  } else {
193
197
  expandedRows.add(expandedRow[UNIQ_ROW_KEY]);
194
- _this.handlers.expandedRows(new Set((0, _toConsumableArray2["default"])(expandedRows)));
198
+ _this.handlers.expandedRows(expandedRows);
195
199
  onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('open', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
196
200
  if (accordionMode === 'toggle') {
197
201
  var rowIndex = expandedRow[ROW_INDEX];
@@ -407,7 +411,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
407
411
  (0, _defineProperty2["default"])(_this, "handleMouseMove", function () {
408
412
  _this.setInert(false);
409
413
  });
410
- (0, _defineProperty2["default"])(_this, "handleBackFromAccordion", function (cellIndex) {
414
+ (0, _defineProperty2["default"])(_this, "handleBackFromAccordion", function (key) {
415
+ var cellIndex = _this.columns.findIndex(function (c) {
416
+ return c.name === key;
417
+ });
411
418
  _this.changeFocusCell(-1, cellIndex === -1 ? 0 : cellIndex, 'up');
412
419
  });
413
420
  (0, _defineProperty2["default"])(_this, "handleContainerResizeEnd", function () {
@@ -482,13 +489,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
482
489
  }, 0);
483
490
  return [side, "".concat(sum, "px")];
484
491
  });
485
- if (props.children) {
486
- _this.columns = _this.calculateColumns();
487
- } else {
488
- var cols = _this.calculateColumnsFromConfig();
489
- _this.columns = cols[0];
490
- _this.treeColumns = cols[1];
491
- }
492
+ var cols = _this.calculateColumnsFromConfig();
493
+ _this.columns = cols[0];
494
+ _this.treeColumns = cols[1];
492
495
  _this.calculatedRows = _this.getRows();
493
496
  _this.flatRows = _this.calculatedRows.flat();
494
497
  _this.tmpData = props.data;
@@ -585,21 +588,6 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
585
588
  }, 0);
586
589
  return rows + expandedRowsCount;
587
590
  }
588
- }, {
589
- key: "gridSettings",
590
- get: function get() {
591
- var columns = this.columns;
592
- var gridTemplateColumns = columns.map(function (c) {
593
- return c.gtcWidth;
594
- });
595
- var gridTemplateAreas = columns.map(function (c) {
596
- return c.name;
597
- });
598
- return {
599
- gridTemplateColumns: gridTemplateColumns,
600
- gridTemplateAreas: gridTemplateAreas
601
- };
602
- }
603
591
  }, {
604
592
  key: "scrollDirection",
605
593
  get: function get() {
@@ -656,7 +644,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
656
644
  onSortChange: onSortChange,
657
645
  getI18nText: getI18nText,
658
646
  uid: uid,
659
- ref: headerProps !== null && headerProps !== void 0 && headerProps.ref ? (0, _ref0.forkRef)(this.headerRef, headerProps.ref) : this.headerRef,
647
+ ref: headerProps !== null && headerProps !== void 0 && headerProps.ref ? (0, _ref9.forkRef)(this.headerRef, headerProps.ref) : this.headerRef,
660
648
  gridAreaGroupMap: this.gridAreaGroupMap,
661
649
  gridTemplateColumns: gridTemplateColumns,
662
650
  gridTemplateAreas: gridTemplateAreas,
@@ -704,6 +692,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
704
692
  accordionMode = _this$asProps8.accordionMode,
705
693
  rawData = _this$asProps8.data,
706
694
  renderCellOverlay = _this$asProps8.renderCellOverlay,
695
+ totalRows = _this$asProps8.totalRows,
707
696
  variant = _this$asProps8.variant;
708
697
  var _this$gridSettings2 = this.gridSettings,
709
698
  gridTemplateColumns = _this$gridSettings2.gridTemplateColumns,
@@ -746,6 +735,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
746
735
  rawData: rawData,
747
736
  shadowVertical: shadowVertical,
748
737
  renderCellOverlay: renderCellOverlay,
738
+ totalRows: totalRows,
749
739
  variant: variant
750
740
  };
751
741
  }
@@ -842,7 +832,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
842
832
  leftScrollPadding: "".concat(offsetLeftSum, "px"),
843
833
  rightScrollPadding: "".concat(offsetRightSum, "px")
844
834
  }, /*#__PURE__*/React.createElement(SDataTable, _ref2.cn("SDataTable", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
845
- "ref": (0, _ref0.forkRef)(this.tableRef, this.tableContainerRef),
835
+ "ref": (0, _ref9.forkRef)(this.tableRef, this.tableContainerRef),
846
836
  "role": 'grid',
847
837
  "onKeyDown": this.handleKeyDown,
848
838
  "onMouseMove": this.handleMouseMove,
@@ -863,7 +853,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
863
853
  "use:h": undefined,
864
854
  "use:hMax": undefined,
865
855
  "use:hMin": undefined
866
- }, _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, {
856
+ }, _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, {
867
857
  orientation: "horizontal",
868
858
  top: topOffset - SCROLL_BAR_HEIGHT,
869
859
  zIndex: 20
@@ -879,96 +869,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
879
869
  }), this.state.selectAllMessage));
880
870
  }
881
871
  }, {
882
- key: "calculateColumns",
883
- value: function calculateColumns() {
872
+ key: "calculateColumnsFromConfig",
873
+ value: function calculateColumnsFromConfig() {
884
874
  var _this4 = this;
885
875
  var _this$props = this.props,
886
- children = _this$props.children,
876
+ columns = _this$props.columns,
887
877
  data = _this$props.data,
888
878
  selectedRows = _this$props.selectedRows;
889
- var HeadComponent = (0, _findComponent["default"])(children, ['Head']);
890
- this.hasGroups = (0, _findComponent["default"])(HeadComponent.props.children, ['Head.Group']) !== undefined;
891
- var groupIndex = 0;
892
- var gridColumnIndex = selectedRows ? 2 : 1;
893
- var calculateGridTemplateColumn = this.calculateGridTemplateColumn.bind(this);
894
- var columns = [];
895
- if (selectedRows) {
896
- var column = {
897
- name: SELECT_ALL.toString(),
898
- gtcWidth: 'min-content',
899
- alignItems: 'flex-start',
900
- children: ''
901
- };
902
- columns.push(column);
903
- }
904
- var makeColumn = function makeColumn(columnElement, parent, isFirst, isLast) {
905
- var _columnElement$props$, _ref3, _columnElement$props$2;
906
- var leftBordersFromParent = isFirst && ((parent === null || parent === void 0 ? void 0 : parent.props.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.props.borders) === 'left') ? 'left' : undefined;
907
- 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;
908
- var column = {
909
- name: columnElement.props.name,
910
- gtcWidth: calculateGridTemplateColumn(columnElement),
911
- fixed: (_columnElement$props$ = columnElement.props.fixed) !== null && _columnElement$props$ !== void 0 ? _columnElement$props$ : parent === null || parent === void 0 ? void 0 : parent.props.fixed,
912
- borders: (_ref3 = (_columnElement$props$2 = columnElement.props.borders) !== null && _columnElement$props$2 !== void 0 ? _columnElement$props$2 : leftBordersFromParent) !== null && _ref3 !== void 0 ? _ref3 : rightBordersFromParent,
913
- parent: parent,
914
- flexWrap: columnElement.props.flexWrap,
915
- alignItems: columnElement.props.alignItems,
916
- alignContent: columnElement.props.alignContent,
917
- justifyContent: columnElement.props.justifyContent,
918
- textAlign: columnElement.props.textAlign,
919
- children: ''
920
- };
921
- return column;
922
- };
923
- var childIsColumn = function childIsColumn(child) {
924
- return child.type === _Head.Head.Column;
925
- };
926
- var childIsGroup = function childIsGroup(child) {
927
- return child.type === _Head.Head.Group;
928
- };
929
- React.Children.forEach(HeadComponent.props.children, function (child, i) {
930
- if (! /*#__PURE__*/React.isValidElement(child)) return;
931
- if (childIsColumn(child)) {
932
- var col = makeColumn(child);
933
- col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
934
- gridColumnIndex++;
935
- columns.push(col);
936
- } else if (childIsGroup(child)) {
937
- var Group = child;
938
- var childCount = React.Children.count(child.props.children);
939
- var initGridColumn = gridColumnIndex;
940
- React.Children.forEach(child.props.children, function (child, j) {
941
- if ((child === null || child === void 0 ? void 0 : child.type) === _Head.Head.Column) {
942
- var isFirst = j === 0;
943
- var isLast = j === childCount - 1;
944
- var _col = makeColumn(child, Group, isFirst, isLast);
945
- if (i === 0 && j === 0 && data.some(function (d) {
946
- return d[ACCORDION];
947
- })) {
948
- gridColumnIndex++;
949
- _col.gridArea = "2 / ".concat(gridColumnIndex - 1, " / 3 / ").concat(gridColumnIndex + 1);
950
- } else {
951
- _col.gridArea = "2 / ".concat(gridColumnIndex, " / 3 / ").concat(gridColumnIndex + 1);
952
- }
953
- _col.gridArea = "2 / ".concat(gridColumnIndex, " / 3 / ").concat(gridColumnIndex + 1);
954
- gridColumnIndex++;
955
- columns.push(_col);
956
- }
957
- });
958
- _this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
959
- groupIndex++;
960
- }
961
- });
962
- return columns.filter(Boolean);
963
- }
964
- }, {
965
- key: "calculateColumnsFromConfig",
966
- value: function calculateColumnsFromConfig() {
967
- var _this5 = this;
968
- var _this$props2 = this.props,
969
- columns = _this$props2.columns,
970
- data = _this$props2.data,
971
- selectedRows = _this$props2.selectedRows;
972
879
  this.hasGroups = columns.some(function (column) {
973
880
  return 'columns' in column && column.columns.some(function (col) {
974
881
  return col.children !== null;
@@ -989,18 +896,18 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
989
896
  calculatedColumns.push(column);
990
897
  }
991
898
  var makeColumn = function makeColumn(columnElement, parent, isFirst, isLast, hasGroups) {
992
- var _columnElement$fixed, _ref4, _columnElement$border;
899
+ var _columnElement$fixed, _ref3, _columnElement$border;
993
900
  var leftBordersFromParent = isFirst && ((parent === null || parent === void 0 ? void 0 : parent.borders) === 'both' || (parent === null || parent === void 0 ? void 0 : parent.borders) === 'left') ? 'left' : undefined;
994
901
  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;
995
902
  var column = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, columnElement), {}, {
996
903
  name: childIsColumn(columnElement) ? columnElement.name : '',
997
904
  gtcWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
998
905
  fixed: (_columnElement$fixed = columnElement.fixed) !== null && _columnElement$fixed !== void 0 ? _columnElement$fixed : hasGroups ? parent === null || parent === void 0 ? void 0 : parent.fixed : undefined,
999
- borders: (_ref4 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref4 !== void 0 ? _ref4 : rightBordersFromParent,
906
+ borders: (_ref3 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref3 !== void 0 ? _ref3 : rightBordersFromParent,
1000
907
  parent: parent
1001
908
  });
1002
909
  if (column.fixed) {
1003
- _this5.hasFixedColumn = true;
910
+ _this4.hasFixedColumn = true;
1004
911
  }
1005
912
  return column;
1006
913
  };
@@ -1024,7 +931,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1024
931
  columns.forEach(function (child, i) {
1025
932
  if (childIsColumn(child)) {
1026
933
  var col = makeColumn(child);
1027
- col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this5.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
934
+ col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
1028
935
  gridColumnIndex++;
1029
936
  calculatedColumns.push(col);
1030
937
  treeColumns.push(col);
@@ -1035,14 +942,14 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1035
942
  var Group = makeColumn(child);
1036
943
  var childCount = child.columns.length;
1037
944
  var initGridColumn = gridColumnIndex;
1038
- var groupedRow = _this5.hasGroups ? 2 : 1;
945
+ var groupedRow = _this4.hasGroups ? 2 : 1;
1039
946
  Group.columns = [];
1040
947
  Group.children = child.children;
1041
948
  child.columns.forEach(function (child, j) {
1042
949
  var _Group$columns;
1043
950
  var isFirst = j === 0;
1044
951
  var isLast = j === childCount - 1;
1045
- var col = makeColumn(child, Group, isFirst, isLast, _this5.hasGroups);
952
+ var col = makeColumn(child, Group, isFirst, isLast, _this4.hasGroups);
1046
953
  if (i === 0 && j === 0 && data.some(function (d) {
1047
954
  return d[ACCORDION];
1048
955
  })) {
@@ -1060,10 +967,20 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1060
967
  (_Group$columns = Group.columns) === null || _Group$columns === void 0 || _Group$columns.push(col);
1061
968
  });
1062
969
  treeColumns.push(Group);
1063
- _this5.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
970
+ _this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
1064
971
  groupIndex++;
1065
972
  }
1066
973
  });
974
+ var gridTemplateColumns = calculatedColumns.map(function (c) {
975
+ return c.gtcWidth;
976
+ });
977
+ var gridTemplateAreas = calculatedColumns.map(function (c) {
978
+ return c.name;
979
+ });
980
+ this.gridSettings = {
981
+ gridTemplateColumns: gridTemplateColumns,
982
+ gridTemplateAreas: gridTemplateAreas
983
+ };
1067
984
  return [calculatedColumns, treeColumns];
1068
985
  }
1069
986
  }, {
@@ -1079,13 +996,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1079
996
  }, {
1080
997
  key: "getRows",
1081
998
  value: function getRows() {
1082
- var _this6 = this;
999
+ var _this5 = this;
1083
1000
  var columns = this.columns;
1084
1001
  // @ts-ignore
1085
- var _this$props3 = this.props,
1086
- data = _this$props3.data,
1087
- uid = _this$props3.uid,
1088
- uniqueRowKey = _this$props3.uniqueRowKey;
1002
+ var _this$props2 = this.props,
1003
+ data = _this$props2.data,
1004
+ uid = _this$props2.uid,
1005
+ uniqueRowKey = _this$props2.uniqueRowKey;
1089
1006
  if (this.tmpData === data) {
1090
1007
  return this.calculatedRows;
1091
1008
  }
@@ -1095,15 +1012,17 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1095
1012
  return column.name;
1096
1013
  });
1097
1014
  var rowIndex = 0;
1015
+ var gridRowIndex = 0;
1098
1016
  var id = 100000000; // need this for gen keys by toString(36)
1099
1017
 
1100
1018
  var makeDtRow = function makeDtRow(row, excludeColumns) {
1101
1019
  var columns = new Set(columnNames);
1102
- var dtRow = Object.entries(row).reduce(function (acc, _ref5) {
1103
- var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
1104
- key = _ref6[0],
1105
- value = _ref6[1];
1106
- var columnsToRow = key.split(_this6.columnsSplitter);
1020
+ var accordionInCell = null;
1021
+ var dtRow = Object.entries(row).reduce(function (acc, _ref4) {
1022
+ var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
1023
+ key = _ref5[0],
1024
+ value = _ref5[1];
1025
+ var columnsToRow = key.split(_this5.columnsSplitter);
1107
1026
  if (columnsToRow.length === 1) {
1108
1027
  acc[key] = value !== null && value !== void 0 ? value : '';
1109
1028
  columns["delete"](key);
@@ -1116,11 +1035,18 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1116
1035
  columns["delete"](value);
1117
1036
  });
1118
1037
  }
1119
- if (row[ACCORDION]) {
1120
- acc[ACCORDION] = row[ACCORDION];
1038
+ if (value !== null && value !== void 0 && value[ACCORDION]) {
1039
+ accordionInCell = value[ACCORDION];
1121
1040
  }
1122
1041
  return acc;
1123
- }, (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, UNIQ_ROW_KEY, row[UNIQ_ROW_KEY] || (uniqueRowKey ? row[uniqueRowKey] : "".concat(uid, "_").concat((rowIndex + id).toString(36)))), ROW_INDEX, rowIndex));
1042
+ }, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, UNIQ_ROW_KEY, row[UNIQ_ROW_KEY] || (uniqueRowKey ? row[uniqueRowKey] : "".concat(uid, "_").concat((rowIndex + id).toString(36)))), ROW_INDEX, rowIndex), GRID_ROW_INDEX, gridRowIndex));
1043
+ gridRowIndex++;
1044
+ if (row[ACCORDION]) {
1045
+ dtRow[ACCORDION] = row[ACCORDION];
1046
+ gridRowIndex = Array.isArray(row[ACCORDION]) ? gridRowIndex + row[ACCORDION].length : gridRowIndex + 1;
1047
+ } else if (accordionInCell) {
1048
+ gridRowIndex = Array.isArray(accordionInCell) ? gridRowIndex + accordionInCell.length : gridRowIndex + 1;
1049
+ }
1124
1050
  excludeColumns === null || excludeColumns === void 0 || excludeColumns.forEach(function (value) {
1125
1051
  columns["delete"](value);
1126
1052
  });
@@ -1136,10 +1062,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1136
1062
  if (groupedRows) {
1137
1063
  var innerRows = [];
1138
1064
  var groupedKeys = [];
1139
- var groupedRowData = Object.entries(row).reduce(function (acc, _ref7) {
1140
- var _ref8 = (0, _slicedToArray2["default"])(_ref7, 2),
1141
- key = _ref8[0],
1142
- value = _ref8[1];
1065
+ var groupedRowData = Object.entries(row).reduce(function (acc, _ref6) {
1066
+ var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
1067
+ key = _ref7[0],
1068
+ value = _ref7[1];
1143
1069
  acc[key] = new _MergedCells.MergedRowsCell(value, groupedRows.length, row[ACCORDION]);
1144
1070
  groupedKeys.push(key);
1145
1071
  return acc;
@@ -1152,13 +1078,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1152
1078
  dtRow[ROW_GROUP] = new Set();
1153
1079
  } else {
1154
1080
  var _innerRows$;
1155
- if (index === groupedRows.length - 1 && row[ACCORDION]) {
1156
- childRow[ACCORDION] = row[ACCORDION];
1157
- }
1158
1081
  dtRow = makeDtRow(childRow, groupedKeys);
1159
1082
  (_innerRows$ = innerRows[0]) === null || _innerRows$ === void 0 || (_innerRows$ = _innerRows$[ROW_GROUP]) === null || _innerRows$ === void 0 || _innerRows$.add(dtRow[UNIQ_ROW_KEY]);
1160
1083
  }
1161
1084
  innerRows.push(dtRow);
1085
+ if (index === groupedRows.length - 1 && row[ACCORDION]) {
1086
+ gridRowIndex = Array.isArray(row[ACCORDION]) ? gridRowIndex + row[ACCORDION].length : gridRowIndex + 1;
1087
+ }
1162
1088
  rowIndex++;
1163
1089
  });
1164
1090
  rows.push(innerRows);
@@ -1174,8 +1100,8 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1174
1100
  }, {
1175
1101
  key: "calculateGridTemplateColumn",
1176
1102
  value: function calculateGridTemplateColumn(c) {
1177
- var _ref9;
1178
- return (_ref9 = /*#__PURE__*/React.isValidElement(c) ? c.props.gtcWidth : c.gtcWidth) !== null && _ref9 !== void 0 ? _ref9 : this.props.defaultGridTemplateColumnWidth;
1103
+ var _ref8;
1104
+ return (_ref8 = /*#__PURE__*/React.isValidElement(c) ? c.props.gtcWidth : c.gtcWidth) !== null && _ref8 !== void 0 ? _ref8 : this.props.defaultGridTemplateColumnWidth;
1179
1105
  }
1180
1106
  }, {
1181
1107
  key: "getHeaderHeight",
@@ -1225,5 +1151,4 @@ var DataTable = exports.DataTable = (0, _core.createComponent)(DataTableRoot, {
1225
1151
  Head: _Head.Head,
1226
1152
  Body: _Body.Body
1227
1153
  });
1228
- var DataTableInternal = exports.DataTableInternal = DataTable;
1229
1154
  //# sourceMappingURL=DataTable.js.map