@semcore/data-table 16.2.2-prerelease.1 → 16.3.0-prerelease.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/lib/cjs/components/Body/Body.js +201 -358
  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 +51 -65
  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/Row.js +367 -113
  9. package/lib/cjs/components/Body/Row.js.map +1 -1
  10. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  11. package/lib/cjs/components/Body/style.shadow.css +6 -2
  12. package/lib/cjs/components/DataTable/DataTable.js +109 -179
  13. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  14. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  15. package/lib/cjs/components/Head/Column.js +36 -36
  16. package/lib/cjs/components/Head/Group.js +37 -37
  17. package/lib/cjs/components/Head/Group.js.map +1 -1
  18. package/lib/cjs/components/Head/Head.js +38 -38
  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 +202 -359
  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 +51 -65
  26. package/lib/es6/components/Body/Cell.js.map +1 -1
  27. package/lib/es6/components/Body/Cell.types.js.map +1 -1
  28. package/lib/es6/components/Body/Row.js +367 -113
  29. package/lib/es6/components/Body/Row.js.map +1 -1
  30. package/lib/es6/components/Body/Row.types.js.map +1 -1
  31. package/lib/es6/components/Body/style.shadow.css +6 -2
  32. package/lib/es6/components/DataTable/DataTable.js +105 -175
  33. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  34. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  35. package/lib/es6/components/Head/Column.js +36 -36
  36. package/lib/es6/components/Head/Group.js +38 -38
  37. package/lib/es6/components/Head/Group.js.map +1 -1
  38. package/lib/es6/components/Head/Head.js +39 -39
  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 +160 -309
  43. package/lib/esm/components/Body/Cell.mjs +52 -64
  44. package/lib/esm/components/Body/Row.mjs +316 -93
  45. package/lib/esm/components/Body/style.shadow.css +6 -2
  46. package/lib/esm/components/DataTable/DataTable.mjs +97 -167
  47. package/lib/esm/components/Head/Column.mjs +37 -37
  48. package/lib/esm/components/Head/Group.mjs +39 -39
  49. package/lib/esm/components/Head/Head.mjs +40 -40
  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 +3 -1
  53. package/lib/types/components/Body/Cell.types.d.ts +1 -0
  54. package/lib/types/components/Body/Row.d.ts +43 -3
  55. package/lib/types/components/Body/Row.types.d.ts +27 -15
  56. package/lib/types/components/DataTable/DataTable.d.ts +2 -2
  57. package/lib/types/components/DataTable/DataTable.types.d.ts +6 -1
  58. package/lib/types/index.d.ts +4 -3
  59. package/package.json +22 -22
@@ -1,6 +1,5 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
3
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
4
  import _createClass from "@babel/runtime/helpers/createClass";
6
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
@@ -25,38 +24,38 @@ import { isFocusInside, hasFocusableIn } from '@semcore/core/lib/utils/use/useFo
25
24
  import { NoData } from '@semcore/widget-empty';
26
25
  import * as React from 'react';
27
26
  /*!__reshadow-styles__:"./dataTable.shadow.css"*/
28
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SDataTable_l7a5o_gg_{display:grid;align-items:start;min-width:-moz-fit-content;min-width:fit-content}.___SDataTable_l7a5o_gg_.__isDataEmpty_l7a5o_gg_{display:block;align-items:initial;min-width:initial}.___SDataTable_l7a5o_gg_.__gridTemplateColumns_l7a5o_gg_{grid-template-columns:var(--gridTemplateColumns_l7a5o)}.___SDataTable_l7a5o_gg_.__gridTemplateAreas_l7a5o_gg_{grid-template-areas:var(--gridTemplateAreas_l7a5o)}.___SDataTable_l7a5o_gg_.__gridTemplateRows_l7a5o_gg_{grid-template-rows:var(--gridTemplateRows_l7a5o)}", /*__inner_css_end__*/"l7a5o_gg_"),
27
+ var style = (/*__reshadow_css_start__*/_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_"),
29
28
  /*__reshadow_css_end__*/
30
29
  {
31
- "__SDataTable": "___SDataTable_l7a5o_gg_",
32
- "_isDataEmpty": "__isDataEmpty_l7a5o_gg_",
33
- "_gridTemplateColumns": "__gridTemplateColumns_l7a5o_gg_",
34
- "--gridTemplateColumns": "--gridTemplateColumns_l7a5o",
35
- "_gridTemplateAreas": "__gridTemplateAreas_l7a5o_gg_",
36
- "--gridTemplateAreas": "--gridTemplateAreas_l7a5o",
37
- "_gridTemplateRows": "__gridTemplateRows_l7a5o_gg_",
38
- "--gridTemplateRows": "--gridTemplateRows_l7a5o"
30
+ "__SDataTable": "___SDataTable_12hpo_gg_",
31
+ "_isDataEmpty": "__isDataEmpty_12hpo_gg_",
32
+ "_gridTemplateColumns": "__gridTemplateColumns_12hpo_gg_",
33
+ "--gridTemplateColumns": "--gridTemplateColumns_12hpo",
34
+ "_gridTemplateAreas": "__gridTemplateAreas_12hpo_gg_",
35
+ "--gridTemplateAreas": "--gridTemplateAreas_12hpo",
36
+ "_gridTemplateRows": "__gridTemplateRows_12hpo_gg_",
37
+ "--gridTemplateRows": "--gridTemplateRows_12hpo"
39
38
  });
40
39
  /*!__reshadow-styles__:"../../style/scroll-shadows.shadow.css"*/
41
- var scrollStyles = (/*__reshadow_css_start__*/_sstyled2.insert(/*__inner_css_start__*/".___SScrollArea_1owgw_gg_{width:-moz-fit-content;width:fit-content}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_{overflow:visible;overflow:initial}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_._scrollDirection_both_1owgw_gg_{overflow:auto}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_._scrollDirection_both_1owgw_gg_.__loading_1owgw_gg_,.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_._scrollDirection_horizontal_1owgw_gg_.__loading_1owgw_gg_,.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_._scrollDirection_vertical_1owgw_gg_.__loading_1owgw_gg_{overflow:hidden}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_._scrollDirection_horizontal_1owgw_gg_{overflow-x:auto;overflow-y:initial}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_._scrollDirection_vertical_1owgw_gg_{overflow-x:initial;overflow-y:auto}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_.__headerHeight_1owgw_gg_{scroll-padding-top:var(--headerHeight_1owgw)}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_.__leftScrollPadding_1owgw_gg_{scroll-padding-left:var(--leftScrollPadding_1owgw)}.___SScrollArea_1owgw_gg_ .___SContainer_1owgw_gg_.__rightScrollPadding_1owgw_gg_{scroll-padding-right:var(--rightScrollPadding_1owgw)}.___SScrollArea_1owgw_gg_ .___SShadowHorizontal_1owgw_gg_::before,.___SScrollArea_1owgw_gg_ .___SShadowHorizontal_1owgw_gg_:after,.___SScrollArea_1owgw_gg_ .___SShadowVertical_1owgw_gg_::after{z-index:20}.___SScrollArea_1owgw_gg_ .___SShadowHorizontal_1owgw_gg_.__leftOffset_1owgw_gg_::before,.___SScrollArea_1owgw_gg_ .___SShadowHorizontal_1owgw_gg_.__rightOffset_1owgw_gg_::after,.___SScrollArea_1owgw_gg_ .___SShadowVertical_1owgw_gg_::before{display:none}", /*__inner_css_end__*/"1owgw_gg_"),
40
+ var scrollStyles = (/*__reshadow_css_start__*/_sstyled2.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_"),
42
41
  /*__reshadow_css_end__*/
43
42
  {
44
- "__SScrollArea": "___SScrollArea_1owgw_gg_",
45
- "__SContainer": "___SContainer_1owgw_gg_",
46
- "_scrollDirection_both": "_scrollDirection_both_1owgw_gg_",
47
- "_loading": "__loading_1owgw_gg_",
48
- "_scrollDirection_horizontal": "_scrollDirection_horizontal_1owgw_gg_",
49
- "_scrollDirection_vertical": "_scrollDirection_vertical_1owgw_gg_",
50
- "_headerHeight": "__headerHeight_1owgw_gg_",
51
- "--headerHeight": "--headerHeight_1owgw",
52
- "_leftScrollPadding": "__leftScrollPadding_1owgw_gg_",
53
- "--leftScrollPadding": "--leftScrollPadding_1owgw",
54
- "_rightScrollPadding": "__rightScrollPadding_1owgw_gg_",
55
- "--rightScrollPadding": "--rightScrollPadding_1owgw",
56
- "__SShadowVertical": "___SShadowVertical_1owgw_gg_",
57
- "__SShadowHorizontal": "___SShadowHorizontal_1owgw_gg_",
58
- "_leftOffset": "__leftOffset_1owgw_gg_",
59
- "_rightOffset": "__rightOffset_1owgw_gg_"
43
+ "__SScrollArea": "___SScrollArea_w8oky_gg_",
44
+ "__SContainer": "___SContainer_w8oky_gg_",
45
+ "_scrollDirection_both": "_scrollDirection_both_w8oky_gg_",
46
+ "_loading": "__loading_w8oky_gg_",
47
+ "_scrollDirection_horizontal": "_scrollDirection_horizontal_w8oky_gg_",
48
+ "_scrollDirection_vertical": "_scrollDirection_vertical_w8oky_gg_",
49
+ "_headerHeight": "__headerHeight_w8oky_gg_",
50
+ "--headerHeight": "--headerHeight_w8oky",
51
+ "_leftScrollPadding": "__leftScrollPadding_w8oky_gg_",
52
+ "--leftScrollPadding": "--leftScrollPadding_w8oky",
53
+ "_rightScrollPadding": "__rightScrollPadding_w8oky_gg_",
54
+ "--rightScrollPadding": "--rightScrollPadding_w8oky",
55
+ "__SShadowVertical": "___SShadowVertical_w8oky_gg_",
56
+ "__SShadowHorizontal": "___SShadowHorizontal_w8oky_gg_",
57
+ "_leftOffset": "__leftOffset_w8oky_gg_",
58
+ "_rightOffset": "__rightOffset_w8oky_gg_"
60
59
  });
61
60
  import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
62
61
  import { Body } from '../Body/Body';
@@ -68,6 +67,7 @@ export var UNIQ_ROW_KEY = Symbol('UNIQ_ROW_KEY');
68
67
  export var IS_EMPTY_DATA_ROW = Symbol('IS_EMPTY_DATA_ROW');
69
68
  export var SELECT_ALL = Symbol('SELECT_ALL');
70
69
  export var ROW_INDEX = Symbol('ROW_INDEX');
70
+ export var GRID_ROW_INDEX = Symbol('GRID_ROW_INDEX');
71
71
  var SCROLL_BAR_HEIGHT = 12;
72
72
  var DataTableRoot = /*#__PURE__*/function (_Component) {
73
73
  function DataTableRoot(props) {
@@ -90,6 +90,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
90
90
  _defineProperty(_this, "tmpData", void 0);
91
91
  _defineProperty(_this, "calculatedRows", void 0);
92
92
  _defineProperty(_this, "flatRows", void 0);
93
+ _defineProperty(_this, "gridSettings", {
94
+ gridTemplateColumns: [],
95
+ gridTemplateAreas: []
96
+ });
93
97
  _defineProperty(_this, "selectAllMessageTimer", 0);
94
98
  _defineProperty(_this, "headerNodesMap", new Map());
95
99
  _defineProperty(_this, "state", {
@@ -168,7 +172,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
168
172
  });
169
173
  _defineProperty(_this, "getRow", function (index) {
170
174
  var _this$tableRef$curren;
171
- 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\"])"));
175
+ 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\"])"));
172
176
  });
173
177
  _defineProperty(_this, "hasFocusableInHeader", function () {
174
178
  return _this.headerRef.current && hasFocusableIn(_this.headerRef.current) || _this.columns.some(function (column) {
@@ -182,11 +186,11 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
182
186
  accordionMode = _this$asProps2.accordionMode;
183
187
  if (expandedRows.has(expandedRow[UNIQ_ROW_KEY])) {
184
188
  expandedRows["delete"](expandedRow[UNIQ_ROW_KEY]);
185
- _this.handlers.expandedRows(new Set(_toConsumableArray(expandedRows)));
189
+ _this.handlers.expandedRows(expandedRows);
186
190
  onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('close', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
187
191
  } else {
188
192
  expandedRows.add(expandedRow[UNIQ_ROW_KEY]);
189
- _this.handlers.expandedRows(new Set(_toConsumableArray(expandedRows)));
193
+ _this.handlers.expandedRows(expandedRows);
190
194
  onAccordionToggle === null || onAccordionToggle === void 0 || onAccordionToggle('open', expandedRow[UNIQ_ROW_KEY], expandedRow[ROW_INDEX]);
191
195
  if (accordionMode === 'toggle') {
192
196
  var rowIndex = expandedRow[ROW_INDEX];
@@ -402,7 +406,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
402
406
  _defineProperty(_this, "handleMouseMove", function () {
403
407
  _this.setInert(false);
404
408
  });
405
- _defineProperty(_this, "handleBackFromAccordion", function (cellIndex) {
409
+ _defineProperty(_this, "handleBackFromAccordion", function (key) {
410
+ var cellIndex = _this.columns.findIndex(function (c) {
411
+ return c.name === key;
412
+ });
406
413
  _this.changeFocusCell(-1, cellIndex === -1 ? 0 : cellIndex, 'up');
407
414
  });
408
415
  _defineProperty(_this, "handleContainerResizeEnd", function () {
@@ -477,13 +484,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
477
484
  }, 0);
478
485
  return [side, "".concat(sum, "px")];
479
486
  });
480
- if (props.children) {
481
- _this.columns = _this.calculateColumns();
482
- } else {
483
- var cols = _this.calculateColumnsFromConfig();
484
- _this.columns = cols[0];
485
- _this.treeColumns = cols[1];
486
- }
487
+ var cols = _this.calculateColumnsFromConfig();
488
+ _this.columns = cols[0];
489
+ _this.treeColumns = cols[1];
487
490
  _this.calculatedRows = _this.getRows();
488
491
  _this.flatRows = _this.calculatedRows.flat();
489
492
  _this.tmpData = props.data;
@@ -580,21 +583,6 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
580
583
  }, 0);
581
584
  return rows + expandedRowsCount;
582
585
  }
583
- }, {
584
- key: "gridSettings",
585
- get: function get() {
586
- var columns = this.columns;
587
- var gridTemplateColumns = columns.map(function (c) {
588
- return c.gtcWidth;
589
- });
590
- var gridTemplateAreas = columns.map(function (c) {
591
- return c.name;
592
- });
593
- return {
594
- gridTemplateColumns: gridTemplateColumns,
595
- gridTemplateAreas: gridTemplateAreas
596
- };
597
- }
598
586
  }, {
599
587
  key: "scrollDirection",
600
588
  get: function get() {
@@ -634,11 +622,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
634
622
  headerProps = _this$asProps7.headerProps,
635
623
  onSelectedRowsChange = _this$asProps7.onSelectedRowsChange,
636
624
  selectedRows = _this$asProps7.selectedRows,
637
- sideIndents = _this$asProps7.sideIndents;
625
+ sideIndents = _this$asProps7.sideIndents,
626
+ variant = _this$asProps7.variant;
638
627
  var _this$gridSettings = this.gridSettings,
639
628
  gridTemplateColumns = _this$gridSettings.gridTemplateColumns,
640
629
  gridTemplateAreas = _this$gridSettings.gridTemplateAreas;
641
630
  var shadowVertical = this.state.shadowVertical;
631
+ var sideIndentsValue = variant === 'card' ? 'wide' : sideIndents;
642
632
  return _objectSpread(_objectSpread({}, headerProps), {}, {
643
633
  columns: this.columns,
644
634
  treeColumns: this.treeColumns,
@@ -653,7 +643,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
653
643
  gridAreaGroupMap: this.gridAreaGroupMap,
654
644
  gridTemplateColumns: gridTemplateColumns,
655
645
  gridTemplateAreas: gridTemplateAreas,
656
- sideIndents: sideIndents,
646
+ sideIndents: sideIndentsValue,
657
647
  totalRows: this.totalRows,
658
648
  selectedRows: selectedRows,
659
649
  flatRows: this.getFlatRows(),
@@ -696,7 +686,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
696
686
  accordionDuration = _this$asProps8.accordionDuration,
697
687
  accordionMode = _this$asProps8.accordionMode,
698
688
  rawData = _this$asProps8.data,
699
- renderCellOverlay = _this$asProps8.renderCellOverlay;
689
+ renderCellOverlay = _this$asProps8.renderCellOverlay,
690
+ totalRows = _this$asProps8.totalRows,
691
+ variant = _this$asProps8.variant;
700
692
  var _this$gridSettings2 = this.gridSettings,
701
693
  gridTemplateColumns = _this$gridSettings2.gridTemplateColumns,
702
694
  gridTemplateAreas = _this$gridSettings2.gridTemplateAreas;
@@ -737,7 +729,9 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
737
729
  onCellClick: this.handleCellClick,
738
730
  rawData: rawData,
739
731
  shadowVertical: shadowVertical,
740
- renderCellOverlay: renderCellOverlay
732
+ renderCellOverlay: renderCellOverlay,
733
+ totalRows: totalRows,
734
+ variant: variant
741
735
  };
742
736
  }
743
737
  }, {
@@ -854,7 +848,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
854
848
  "use:h": undefined,
855
849
  "use:hMax": undefined,
856
850
  "use:hMin": undefined
857
- }, _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(ScrollArea.Bar, {
851
+ }, _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(ScrollArea.Bar, {
858
852
  orientation: "horizontal",
859
853
  top: topOffset - SCROLL_BAR_HEIGHT,
860
854
  zIndex: 20
@@ -870,96 +864,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
870
864
  }), this.state.selectAllMessage));
871
865
  }
872
866
  }, {
873
- key: "calculateColumns",
874
- value: function calculateColumns() {
867
+ key: "calculateColumnsFromConfig",
868
+ value: function calculateColumnsFromConfig() {
875
869
  var _this4 = this;
876
870
  var _this$props = this.props,
877
- children = _this$props.children,
871
+ columns = _this$props.columns,
878
872
  data = _this$props.data,
879
873
  selectedRows = _this$props.selectedRows;
880
- var HeadComponent = findComponent(children, ['Head']);
881
- this.hasGroups = findComponent(HeadComponent.props.children, ['Head.Group']) !== undefined;
882
- var groupIndex = 0;
883
- var gridColumnIndex = selectedRows ? 2 : 1;
884
- var calculateGridTemplateColumn = this.calculateGridTemplateColumn.bind(this);
885
- var columns = [];
886
- if (selectedRows) {
887
- var column = {
888
- name: SELECT_ALL.toString(),
889
- gtcWidth: 'min-content',
890
- alignItems: 'flex-start',
891
- children: ''
892
- };
893
- columns.push(column);
894
- }
895
- var makeColumn = function makeColumn(columnElement, parent, isFirst, isLast) {
896
- var _columnElement$props$, _ref3, _columnElement$props$2;
897
- 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;
898
- 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;
899
- var column = {
900
- name: columnElement.props.name,
901
- gtcWidth: calculateGridTemplateColumn(columnElement),
902
- fixed: (_columnElement$props$ = columnElement.props.fixed) !== null && _columnElement$props$ !== void 0 ? _columnElement$props$ : parent === null || parent === void 0 ? void 0 : parent.props.fixed,
903
- borders: (_ref3 = (_columnElement$props$2 = columnElement.props.borders) !== null && _columnElement$props$2 !== void 0 ? _columnElement$props$2 : leftBordersFromParent) !== null && _ref3 !== void 0 ? _ref3 : rightBordersFromParent,
904
- parent: parent,
905
- flexWrap: columnElement.props.flexWrap,
906
- alignItems: columnElement.props.alignItems,
907
- alignContent: columnElement.props.alignContent,
908
- justifyContent: columnElement.props.justifyContent,
909
- textAlign: columnElement.props.textAlign,
910
- children: ''
911
- };
912
- return column;
913
- };
914
- var childIsColumn = function childIsColumn(child) {
915
- return child.type === Head.Column;
916
- };
917
- var childIsGroup = function childIsGroup(child) {
918
- return child.type === Head.Group;
919
- };
920
- React.Children.forEach(HeadComponent.props.children, function (child, i) {
921
- if (! /*#__PURE__*/React.isValidElement(child)) return;
922
- if (childIsColumn(child)) {
923
- var col = makeColumn(child);
924
- col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
925
- gridColumnIndex++;
926
- columns.push(col);
927
- } else if (childIsGroup(child)) {
928
- var Group = child;
929
- var childCount = React.Children.count(child.props.children);
930
- var initGridColumn = gridColumnIndex;
931
- React.Children.forEach(child.props.children, function (child, j) {
932
- if ((child === null || child === void 0 ? void 0 : child.type) === Head.Column) {
933
- var isFirst = j === 0;
934
- var isLast = j === childCount - 1;
935
- var _col = makeColumn(child, Group, isFirst, isLast);
936
- if (i === 0 && j === 0 && data.some(function (d) {
937
- return d[ACCORDION];
938
- })) {
939
- gridColumnIndex++;
940
- _col.gridArea = "2 / ".concat(gridColumnIndex - 1, " / 3 / ").concat(gridColumnIndex + 1);
941
- } else {
942
- _col.gridArea = "2 / ".concat(gridColumnIndex, " / 3 / ").concat(gridColumnIndex + 1);
943
- }
944
- _col.gridArea = "2 / ".concat(gridColumnIndex, " / 3 / ").concat(gridColumnIndex + 1);
945
- gridColumnIndex++;
946
- columns.push(_col);
947
- }
948
- });
949
- _this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
950
- groupIndex++;
951
- }
952
- });
953
- return columns.filter(Boolean);
954
- }
955
- }, {
956
- key: "calculateColumnsFromConfig",
957
- value: function calculateColumnsFromConfig() {
958
- var _this5 = this;
959
- var _this$props2 = this.props,
960
- columns = _this$props2.columns,
961
- data = _this$props2.data,
962
- selectedRows = _this$props2.selectedRows;
963
874
  this.hasGroups = columns.some(function (column) {
964
875
  return 'columns' in column && column.columns.some(function (col) {
965
876
  return col.children !== null;
@@ -980,18 +891,18 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
980
891
  calculatedColumns.push(column);
981
892
  }
982
893
  var makeColumn = function makeColumn(columnElement, parent, isFirst, isLast, hasGroups) {
983
- var _columnElement$fixed, _ref4, _columnElement$border;
894
+ var _columnElement$fixed, _ref3, _columnElement$border;
984
895
  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;
985
896
  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;
986
897
  var column = _objectSpread(_objectSpread({}, columnElement), {}, {
987
898
  name: childIsColumn(columnElement) ? columnElement.name : '',
988
899
  gtcWidth: childIsColumn(columnElement) ? calculateGridTemplateColumn(columnElement) : '',
989
900
  fixed: (_columnElement$fixed = columnElement.fixed) !== null && _columnElement$fixed !== void 0 ? _columnElement$fixed : hasGroups ? parent === null || parent === void 0 ? void 0 : parent.fixed : undefined,
990
- borders: (_ref4 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref4 !== void 0 ? _ref4 : rightBordersFromParent,
901
+ borders: (_ref3 = (_columnElement$border = columnElement.borders) !== null && _columnElement$border !== void 0 ? _columnElement$border : leftBordersFromParent) !== null && _ref3 !== void 0 ? _ref3 : rightBordersFromParent,
991
902
  parent: parent
992
903
  });
993
904
  if (column.fixed) {
994
- _this5.hasFixedColumn = true;
905
+ _this4.hasFixedColumn = true;
995
906
  }
996
907
  return column;
997
908
  };
@@ -1015,7 +926,7 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1015
926
  columns.forEach(function (child, i) {
1016
927
  if (childIsColumn(child)) {
1017
928
  var col = makeColumn(child);
1018
- col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this5.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
929
+ col.gridArea = "1 / ".concat(gridColumnIndex, " / ").concat(_this4.hasGroups ? '3' : '2', " / ").concat(gridColumnIndex + 1);
1019
930
  gridColumnIndex++;
1020
931
  calculatedColumns.push(col);
1021
932
  treeColumns.push(col);
@@ -1026,14 +937,14 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1026
937
  var Group = makeColumn(child);
1027
938
  var childCount = child.columns.length;
1028
939
  var initGridColumn = gridColumnIndex;
1029
- var groupedRow = _this5.hasGroups ? 2 : 1;
940
+ var groupedRow = _this4.hasGroups ? 2 : 1;
1030
941
  Group.columns = [];
1031
942
  Group.children = child.children;
1032
943
  child.columns.forEach(function (child, j) {
1033
944
  var _Group$columns;
1034
945
  var isFirst = j === 0;
1035
946
  var isLast = j === childCount - 1;
1036
- var col = makeColumn(child, Group, isFirst, isLast, _this5.hasGroups);
947
+ var col = makeColumn(child, Group, isFirst, isLast, _this4.hasGroups);
1037
948
  if (i === 0 && j === 0 && data.some(function (d) {
1038
949
  return d[ACCORDION];
1039
950
  })) {
@@ -1051,10 +962,20 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1051
962
  (_Group$columns = Group.columns) === null || _Group$columns === void 0 || _Group$columns.push(col);
1052
963
  });
1053
964
  treeColumns.push(Group);
1054
- _this5.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
965
+ _this4.gridAreaGroupMap.set(groupIndex, "1 / ".concat(initGridColumn, " / 2 / ").concat(gridColumnIndex));
1055
966
  groupIndex++;
1056
967
  }
1057
968
  });
969
+ var gridTemplateColumns = calculatedColumns.map(function (c) {
970
+ return c.gtcWidth;
971
+ });
972
+ var gridTemplateAreas = calculatedColumns.map(function (c) {
973
+ return c.name;
974
+ });
975
+ this.gridSettings = {
976
+ gridTemplateColumns: gridTemplateColumns,
977
+ gridTemplateAreas: gridTemplateAreas
978
+ };
1058
979
  return [calculatedColumns, treeColumns];
1059
980
  }
1060
981
  }, {
@@ -1070,13 +991,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1070
991
  }, {
1071
992
  key: "getRows",
1072
993
  value: function getRows() {
1073
- var _this6 = this;
994
+ var _this5 = this;
1074
995
  var columns = this.columns;
1075
996
  // @ts-ignore
1076
- var _this$props3 = this.props,
1077
- data = _this$props3.data,
1078
- uid = _this$props3.uid,
1079
- uniqueRowKey = _this$props3.uniqueRowKey;
997
+ var _this$props2 = this.props,
998
+ data = _this$props2.data,
999
+ uid = _this$props2.uid,
1000
+ uniqueRowKey = _this$props2.uniqueRowKey;
1080
1001
  if (this.tmpData === data) {
1081
1002
  return this.calculatedRows;
1082
1003
  }
@@ -1086,15 +1007,17 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1086
1007
  return column.name;
1087
1008
  });
1088
1009
  var rowIndex = 0;
1010
+ var gridRowIndex = 0;
1089
1011
  var id = 100000000; // need this for gen keys by toString(36)
1090
1012
 
1091
1013
  var makeDtRow = function makeDtRow(row, excludeColumns) {
1092
1014
  var columns = new Set(columnNames);
1093
- var dtRow = Object.entries(row).reduce(function (acc, _ref5) {
1094
- var _ref6 = _slicedToArray(_ref5, 2),
1095
- key = _ref6[0],
1096
- value = _ref6[1];
1097
- var columnsToRow = key.split(_this6.columnsSplitter);
1015
+ var accordionInCell = null;
1016
+ var dtRow = Object.entries(row).reduce(function (acc, _ref4) {
1017
+ var _ref5 = _slicedToArray(_ref4, 2),
1018
+ key = _ref5[0],
1019
+ value = _ref5[1];
1020
+ var columnsToRow = key.split(_this5.columnsSplitter);
1098
1021
  if (columnsToRow.length === 1) {
1099
1022
  acc[key] = value !== null && value !== void 0 ? value : '';
1100
1023
  columns["delete"](key);
@@ -1107,11 +1030,18 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1107
1030
  columns["delete"](value);
1108
1031
  });
1109
1032
  }
1110
- if (row[ACCORDION]) {
1111
- acc[ACCORDION] = row[ACCORDION];
1033
+ if (value !== null && value !== void 0 && value[ACCORDION]) {
1034
+ accordionInCell = value[ACCORDION];
1112
1035
  }
1113
1036
  return acc;
1114
- }, _defineProperty(_defineProperty({}, UNIQ_ROW_KEY, row[UNIQ_ROW_KEY] || (uniqueRowKey ? row[uniqueRowKey] : "".concat(uid, "_").concat((rowIndex + id).toString(36)))), ROW_INDEX, rowIndex));
1037
+ }, _defineProperty(_defineProperty(_defineProperty({}, UNIQ_ROW_KEY, row[UNIQ_ROW_KEY] || (uniqueRowKey ? row[uniqueRowKey] : "".concat(uid, "_").concat((rowIndex + id).toString(36)))), ROW_INDEX, rowIndex), GRID_ROW_INDEX, gridRowIndex));
1038
+ gridRowIndex++;
1039
+ if (row[ACCORDION]) {
1040
+ dtRow[ACCORDION] = row[ACCORDION];
1041
+ gridRowIndex = Array.isArray(row[ACCORDION]) ? gridRowIndex + row[ACCORDION].length : gridRowIndex + 1;
1042
+ } else if (accordionInCell) {
1043
+ gridRowIndex = Array.isArray(accordionInCell) ? gridRowIndex + accordionInCell.length : gridRowIndex + 1;
1044
+ }
1115
1045
  excludeColumns === null || excludeColumns === void 0 || excludeColumns.forEach(function (value) {
1116
1046
  columns["delete"](value);
1117
1047
  });
@@ -1127,10 +1057,10 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1127
1057
  if (groupedRows) {
1128
1058
  var innerRows = [];
1129
1059
  var groupedKeys = [];
1130
- var groupedRowData = Object.entries(row).reduce(function (acc, _ref7) {
1131
- var _ref8 = _slicedToArray(_ref7, 2),
1132
- key = _ref8[0],
1133
- value = _ref8[1];
1060
+ var groupedRowData = Object.entries(row).reduce(function (acc, _ref6) {
1061
+ var _ref7 = _slicedToArray(_ref6, 2),
1062
+ key = _ref7[0],
1063
+ value = _ref7[1];
1134
1064
  acc[key] = new MergedRowsCell(value, groupedRows.length, row[ACCORDION]);
1135
1065
  groupedKeys.push(key);
1136
1066
  return acc;
@@ -1143,13 +1073,13 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1143
1073
  dtRow[ROW_GROUP] = new Set();
1144
1074
  } else {
1145
1075
  var _innerRows$;
1146
- if (index === groupedRows.length - 1 && row[ACCORDION]) {
1147
- childRow[ACCORDION] = row[ACCORDION];
1148
- }
1149
1076
  dtRow = makeDtRow(childRow, groupedKeys);
1150
1077
  (_innerRows$ = innerRows[0]) === null || _innerRows$ === void 0 || (_innerRows$ = _innerRows$[ROW_GROUP]) === null || _innerRows$ === void 0 || _innerRows$.add(dtRow[UNIQ_ROW_KEY]);
1151
1078
  }
1152
1079
  innerRows.push(dtRow);
1080
+ if (index === groupedRows.length - 1 && row[ACCORDION]) {
1081
+ gridRowIndex = Array.isArray(row[ACCORDION]) ? gridRowIndex + row[ACCORDION].length : gridRowIndex + 1;
1082
+ }
1153
1083
  rowIndex++;
1154
1084
  });
1155
1085
  rows.push(innerRows);
@@ -1165,8 +1095,8 @@ var DataTableRoot = /*#__PURE__*/function (_Component) {
1165
1095
  }, {
1166
1096
  key: "calculateGridTemplateColumn",
1167
1097
  value: function calculateGridTemplateColumn(c) {
1168
- var _ref9;
1169
- return (_ref9 = /*#__PURE__*/React.isValidElement(c) ? c.props.gtcWidth : c.gtcWidth) !== null && _ref9 !== void 0 ? _ref9 : this.props.defaultGridTemplateColumnWidth;
1098
+ var _ref8;
1099
+ return (_ref8 = /*#__PURE__*/React.isValidElement(c) ? c.props.gtcWidth : c.gtcWidth) !== null && _ref8 !== void 0 ? _ref8 : this.props.defaultGridTemplateColumnWidth;
1170
1100
  }
1171
1101
  }, {
1172
1102
  key: "getHeaderHeight",
@@ -1209,11 +1139,11 @@ _defineProperty(DataTableRoot, "defaultProps", {
1209
1139
  description: "",
1210
1140
  w: "100%"
1211
1141
  });
1212
- }
1142
+ },
1143
+ variant: 'default'
1213
1144
  });
1214
1145
  export var DataTable = createComponent(DataTableRoot, {
1215
1146
  Head: Head,
1216
1147
  Body: Body
1217
1148
  });
1218
- export var DataTableInternal = DataTable;
1219
1149
  //# sourceMappingURL=DataTable.js.map