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

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 (152) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components/Body/Body.js +439 -0
  3. package/lib/cjs/components/Body/Body.js.map +1 -0
  4. package/lib/cjs/components/Body/Body.types.js +2 -0
  5. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  6. package/lib/cjs/components/Body/Cell.js +195 -0
  7. package/lib/cjs/components/Body/Cell.js.map +1 -0
  8. package/lib/cjs/components/Body/Cell.types.js +2 -0
  9. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  10. package/lib/cjs/components/Body/MergedCells.js +29 -0
  11. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  12. package/lib/cjs/components/Body/Row.js +252 -0
  13. package/lib/cjs/components/Body/Row.js.map +1 -0
  14. package/lib/cjs/components/Body/Row.types.js +4 -0
  15. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  16. package/lib/cjs/components/Body/style.shadow.css +263 -0
  17. package/lib/cjs/components/DataTable/DataTable.js +1025 -0
  18. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  19. package/lib/cjs/{types.js → components/DataTable/DataTable.types.js} +1 -1
  20. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  21. package/lib/cjs/components/DataTable/dataTable.shadow.css +17 -0
  22. package/lib/cjs/components/Head/Column.js +311 -0
  23. package/lib/cjs/components/Head/Column.js.map +1 -0
  24. package/lib/cjs/components/Head/Column.types.js +2 -0
  25. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  26. package/lib/cjs/components/Head/Group.js +116 -0
  27. package/lib/cjs/components/Head/Group.js.map +1 -0
  28. package/lib/cjs/components/Head/Group.type.js +2 -0
  29. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  30. package/lib/cjs/components/Head/Head.js +207 -0
  31. package/lib/cjs/components/Head/Head.js.map +1 -0
  32. package/lib/cjs/components/Head/Head.types.js +2 -0
  33. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  34. package/lib/cjs/components/Head/style.shadow.css +180 -0
  35. package/lib/cjs/index.js +25 -15
  36. package/lib/cjs/index.js.map +1 -1
  37. package/lib/cjs/style/scroll-shadows.shadow.css +45 -5
  38. package/lib/cjs/translations/en.json +6 -1
  39. package/lib/es6/components/Body/Body.js +432 -0
  40. package/lib/es6/components/Body/Body.js.map +1 -0
  41. package/lib/es6/components/Body/Body.types.js +2 -0
  42. package/lib/es6/components/Body/Body.types.js.map +1 -0
  43. package/lib/es6/components/Body/Cell.js +188 -0
  44. package/lib/es6/components/Body/Cell.js.map +1 -0
  45. package/lib/es6/components/Body/Cell.types.js +2 -0
  46. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  47. package/lib/es6/components/Body/MergedCells.js +20 -0
  48. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  49. package/lib/es6/components/Body/Row.js +245 -0
  50. package/lib/es6/components/Body/Row.js.map +1 -0
  51. package/lib/es6/components/Body/Row.types.js +2 -0
  52. package/lib/es6/components/Body/Row.types.js.map +1 -0
  53. package/lib/es6/components/Body/style.shadow.css +263 -0
  54. package/lib/es6/components/DataTable/DataTable.js +1013 -0
  55. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  56. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  57. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  58. package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
  59. package/lib/es6/components/Head/Column.js +304 -0
  60. package/lib/es6/components/Head/Column.js.map +1 -0
  61. package/lib/es6/components/Head/Column.types.js +2 -0
  62. package/lib/es6/components/Head/Column.types.js.map +1 -0
  63. package/lib/es6/components/Head/Group.js +109 -0
  64. package/lib/es6/components/Head/Group.js.map +1 -0
  65. package/lib/es6/components/Head/Group.type.js +2 -0
  66. package/lib/es6/components/Head/Group.type.js.map +1 -0
  67. package/lib/es6/components/Head/Head.js +201 -0
  68. package/lib/es6/components/Head/Head.js.map +1 -0
  69. package/lib/es6/components/Head/Head.types.js +2 -0
  70. package/lib/es6/components/Head/Head.types.js.map +1 -0
  71. package/lib/es6/components/Head/style.shadow.css +180 -0
  72. package/lib/es6/index.js +5 -2
  73. package/lib/es6/index.js.map +1 -1
  74. package/lib/es6/style/scroll-shadows.shadow.css +45 -5
  75. package/lib/es6/translations/en.json +6 -1
  76. package/lib/esm/components/Body/Body.mjs +394 -0
  77. package/lib/esm/components/Body/Cell.mjs +186 -0
  78. package/lib/esm/components/Body/MergedCells.mjs +23 -0
  79. package/lib/esm/components/Body/Row.mjs +224 -0
  80. package/lib/esm/components/Body/style.shadow.css +263 -0
  81. package/lib/esm/components/DataTable/DataTable.mjs +944 -0
  82. package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
  83. package/lib/esm/components/Head/Column.mjs +296 -0
  84. package/lib/esm/components/Head/Group.mjs +103 -0
  85. package/lib/esm/components/Head/Head.mjs +181 -0
  86. package/lib/esm/components/Head/style.shadow.css +180 -0
  87. package/lib/esm/index.mjs +9 -6
  88. package/lib/esm/style/scroll-shadows.shadow.css +47 -0
  89. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +30 -30
  90. package/lib/esm/translations/de.json.mjs +5 -4
  91. package/lib/esm/translations/en.json.mjs +10 -4
  92. package/lib/esm/translations/es.json.mjs +5 -4
  93. package/lib/esm/translations/fr.json.mjs +5 -4
  94. package/lib/esm/translations/it.json.mjs +5 -4
  95. package/lib/esm/translations/ja.json.mjs +5 -4
  96. package/lib/esm/translations/ko.json.mjs +5 -4
  97. package/lib/esm/translations/nl.json.mjs +5 -4
  98. package/lib/esm/translations/pl.json.mjs +5 -4
  99. package/lib/esm/translations/pt.json.mjs +5 -4
  100. package/lib/esm/translations/sv.json.mjs +5 -4
  101. package/lib/esm/translations/tr.json.mjs +5 -4
  102. package/lib/esm/translations/vi.json.mjs +5 -4
  103. package/lib/esm/translations/zh.json.mjs +5 -4
  104. package/lib/types/components/Body/Body.d.ts +8 -0
  105. package/lib/types/components/Body/Body.types.d.ts +57 -0
  106. package/lib/types/components/Body/Cell.d.ts +3 -0
  107. package/lib/types/components/Body/Cell.types.d.ts +20 -0
  108. package/lib/types/components/Body/MergedCells.d.ts +14 -0
  109. package/lib/types/components/Body/Row.d.ts +3 -0
  110. package/lib/types/components/Body/Row.types.d.ts +43 -0
  111. package/lib/types/components/DataTable/DataTable.d.ts +13 -0
  112. package/lib/types/components/DataTable/DataTable.types.d.ts +125 -0
  113. package/lib/types/components/Head/Column.d.ts +30 -0
  114. package/lib/types/components/Head/Column.types.d.ts +71 -0
  115. package/lib/types/components/Head/Group.d.ts +15 -0
  116. package/lib/types/components/Head/Group.type.d.ts +16 -0
  117. package/lib/types/components/Head/Head.d.ts +98 -0
  118. package/lib/types/components/Head/Head.types.d.ts +40 -0
  119. package/lib/types/index.d.ts +10 -2
  120. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
  121. package/package.json +11 -6
  122. package/vite.config.ts +0 -3
  123. package/lib/cjs/Body.js +0 -475
  124. package/lib/cjs/Body.js.map +0 -1
  125. package/lib/cjs/DataTable.js +0 -622
  126. package/lib/cjs/DataTable.js.map +0 -1
  127. package/lib/cjs/Head.js +0 -399
  128. package/lib/cjs/Head.js.map +0 -1
  129. package/lib/cjs/style/data-table.shadow.css +0 -394
  130. package/lib/cjs/types.js.map +0 -1
  131. package/lib/cjs/utils.js +0 -57
  132. package/lib/cjs/utils.js.map +0 -1
  133. package/lib/es6/Body.js +0 -468
  134. package/lib/es6/Body.js.map +0 -1
  135. package/lib/es6/DataTable.js +0 -614
  136. package/lib/es6/DataTable.js.map +0 -1
  137. package/lib/es6/Head.js +0 -391
  138. package/lib/es6/Head.js.map +0 -1
  139. package/lib/es6/style/data-table.shadow.css +0 -394
  140. package/lib/es6/types.js +0 -2
  141. package/lib/es6/types.js.map +0 -1
  142. package/lib/es6/utils.js +0 -48
  143. package/lib/es6/utils.js.map +0 -1
  144. package/lib/esm/Body.mjs +0 -320
  145. package/lib/esm/DataTable.mjs +0 -439
  146. package/lib/esm/Head.mjs +0 -258
  147. package/lib/esm/utils.mjs +0 -37
  148. package/lib/types/Body.d.ts +0 -61
  149. package/lib/types/DataTable.d.ts +0 -205
  150. package/lib/types/Head.d.ts +0 -45
  151. package/lib/types/types.d.ts +0 -73
  152. package/lib/types/utils.d.ts +0 -4
package/lib/cjs/index.js CHANGED
@@ -1,26 +1,36 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- var _exportNames = {};
8
- Object.defineProperty(exports, "default", {
6
+ Object.defineProperty(exports, "ACCORDION", {
9
7
  enumerable: true,
10
8
  get: function get() {
11
- return _DataTable["default"];
9
+ return _DataTable.ACCORDION;
12
10
  }
13
11
  });
14
- var _DataTable = _interopRequireWildcard(require("./DataTable"));
15
- Object.keys(_DataTable).forEach(function (key) {
16
- if (key === "default" || key === "__esModule") return;
17
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
- if (key in exports && exports[key] === _DataTable[key]) return;
19
- Object.defineProperty(exports, key, {
20
- enumerable: true,
21
- get: function get() {
22
- return _DataTable[key];
23
- }
24
- });
12
+ Object.defineProperty(exports, "DataTable", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _DataTable.DataTable;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ROW_GROUP", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _DataTable.ROW_GROUP;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "UNIQ_ROW_KEY", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _DataTable.UNIQ_ROW_KEY;
28
+ }
25
29
  });
30
+ exports.wrapDataTable = void 0;
31
+ var _DataTable = require("./components/DataTable/DataTable");
32
+ var wrapDataTable = function wrapDataTable(wrapper) {
33
+ return wrapper;
34
+ };
35
+ exports.wrapDataTable = wrapDataTable;
26
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_DataTable","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../src/index.ts"],"sourcesContent":["export { default } from './DataTable';\nexport * from './DataTable';\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,UAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,UAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAd,UAAA,CAAAM,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_DataTable","require","wrapDataTable","wrapper","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY } from './components/DataTable/DataTable';\nimport type {\n DataTableSort,\n DataTableType,\n DataTableData,\n} from './components/DataTable/DataTable.types';\nimport { Intergalactic } from '@semcore/core';\nimport React from 'react';\n\nconst wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<DataTableType>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): DataTableType => wrapper as any;\n\nexport { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY, wrapDataTable };\nexport type { DataTableSort, DataTableData };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AASA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACjBC,OAKoB;EAAA,OACFA,OAAO;AAAA,CAAO;AAACC,OAAA,CAAAF,aAAA,GAAAA,aAAA"}
@@ -1,7 +1,47 @@
1
- SShadowHorizontal,
2
- SShadowVertical {
3
- &:before,
4
- &:after {
5
- z-index: 1;
1
+ SScrollArea {
2
+ width: fit-content;
3
+
4
+ SContainer {
5
+ overflow: unset;
6
+
7
+ &[scrollDirection='both'] {
8
+ overflow: auto;
9
+ }
10
+ &[scrollDirection='horizontal'] {
11
+ overflow-x: auto;
12
+ overflow-y: unset;
13
+ }
14
+ &[scrollDirection='vertical'] {
15
+ overflow-x: unset;
16
+ overflow-y: auto;
17
+ }
18
+ &[loading] {
19
+ overflow: hidden;
20
+ }
21
+
22
+ &[headerHeight] {
23
+ scroll-padding-top: var(--headerHeight);
24
+ }
25
+ &[leftScrollPadding] {
26
+ scroll-padding-left: var(--leftScrollPadding);
27
+ }
28
+ &[rightScrollPadding] {
29
+ scroll-padding-right: var(--rightScrollPadding);
30
+ }
31
+ }
32
+
33
+ SShadowVertical {
34
+ &:before {
35
+ display: none;
36
+ }
37
+ &:after {
38
+ z-index: 2;
39
+ }
40
+ }
41
+ SShadowHorizontal {
42
+ &:before,
43
+ &:after {
44
+ z-index: 2;
45
+ }
6
46
  }
7
47
  }
@@ -1,3 +1,8 @@
1
1
  {
2
- "sortableColumn": "Sortable"
2
+ "sortableColumn": "Sortable",
3
+ "DataTable.Cell.AccordionToggle.expand:aria-label": "Show details",
4
+ "DataTable.Cell.AccordionToggle.collapse:aria-label": "Hide details",
5
+ "DataTable.Header.selectAllCheckbox:aria-label": "All items",
6
+ "DataTable.allItemsSelected:aria-live": "All items selected",
7
+ "DataTable.allItemsDeselected:aria-live": "All items deselected"
3
8
  }
@@ -0,0 +1,432 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import { sstyled as _sstyled } from "@semcore/core";
9
+ import { assignProps as _assignProps } from "@semcore/core";
10
+ import * as React from 'react';
11
+ import { Component, createComponent, Root, sstyled } from '@semcore/core';
12
+ import { Box } from '@semcore/base-components';
13
+ import { Row } from './Row';
14
+ /*!__reshadow-styles__:"./style.shadow.css"*/
15
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBody_1sflu_gg_,.___SRowGroup_1sflu_gg_,.___SRow_1sflu_gg_{display:contents}.___SBody_1sflu_gg_.__compact_1sflu_gg_ .___SCell_1sflu_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_1sflu_gg_.__compact_1sflu_gg_ .___SCell_1sflu_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1sflu) - 1)))}.___SCell_1sflu_gg_.__gridArea_1sflu_gg_,.___SCollapseRow_1sflu_gg_.__gridArea_1sflu_gg_,.___SRow_1sflu_gg_.__gridArea_1sflu_gg_{grid-area:var(--gridArea_1sflu)}.___SCollapseRow_1sflu_gg_ .___SCell_1sflu_gg_{display:block}.___SRow_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_.__expanded_1sflu_gg_._accordionType_cell_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_).__withAccordion_1sflu_gg_,.___SRow_1sflu_gg_.__expanded_1sflu_gg_._accordionType_row_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_.__expanded_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_muted_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_muted_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_muted_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_muted_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_._theme_muted_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_muted_1sflu_gg_,.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_info_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_info_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_info_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_info_1sflu_gg_,.___SRow_1sflu_gg_._theme_info_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_info_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_success_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_success_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_success_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_success_1sflu_gg_,.___SRow_1sflu_gg_._theme_success_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_success_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_warning_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_warning_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_warning_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_warning_1sflu_gg_,.___SRow_1sflu_gg_._theme_warning_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_warning_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_._theme_danger_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_[data-grouped-by=rowgroup]._theme_danger_1sflu_gg_,.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_._theme_danger_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRowGroup_1sflu_gg_:has(.___SCell_1sflu_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1sflu_gg_>.___SCell_1sflu_gg_._theme_danger_1sflu_gg_,.___SRow_1sflu_gg_._theme_danger_1sflu_gg_:hover>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_),.___SRow_1sflu_gg_:hover>.___SCell_1sflu_gg_._theme_danger_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1sflu_gg_._theme_muted_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_1sflu_gg_._theme_muted_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_1sflu_gg_._theme_info_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1sflu_gg_._theme_info_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_1sflu_gg_._theme_success_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1sflu_gg_._theme_success_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_1sflu_gg_._theme_warning_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1sflu_gg_._theme_warning_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_1sflu_gg_._theme_danger_1sflu_gg_ .___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1sflu_gg_._theme_danger_1sflu_gg_.__active_1sflu_gg_>.___SCell_1sflu_gg_:not(.__theme_1sflu_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_1sflu_gg_{display:flex;height:100%;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:pre-wrap;word-break:break-word;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;outline:0}.___SCell_1sflu_gg_ .___SAccordionToggle_1sflu_gg_{margin-right:var(--intergalactic-spacing-3x, 12px);margin-top:var(--intergalactic-spacing-05x, 2px);height:-moz-fit-content;height:fit-content}.___SCell_1sflu_gg_ .___SAccordionToggle_1sflu_gg_ svg{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_1sflu_gg_ .___SAccordionToggle_1sflu_gg_.__expanded_1sflu_gg_ svg{transform:rotate(90deg)}.___SCheckboxCell_1sflu_gg_,.___SRow_1sflu_gg_._accordionType_cell_1sflu_gg_>.___SCell_1sflu_gg_.__withAccordion_1sflu_gg_,.___SRow_1sflu_gg_._accordionType_row_1sflu_gg_>.___SCell_1sflu_gg_{cursor:pointer}.___SCell_1sflu_gg_._use_primary_1sflu_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1sflu_gg_._use_primary_1sflu_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_1sflu) - 1)))}.___SCell_1sflu_gg_._use_secondary_1sflu_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1sflu_gg_._use_secondary_1sflu_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + ((var(--intergalactic-spacing-5x, 20px) + var(--intergalactic-spacing-2x, 8px))*(var(--data-aria-level_1sflu) - 1)))}.___SCell_1sflu_gg_._borders_both_1sflu_gg_,.___SCell_1sflu_gg_._borders_left_1sflu_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1sflu_gg_._borders_both_1sflu_gg_,.___SCell_1sflu_gg_._borders_right_1sflu_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1sflu_gg_.__fixed_1sflu_gg_{position:sticky;z-index:2}.___SCell_1sflu_gg_._theme_muted_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1sflu_gg_._theme_info_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1sflu_gg_._theme_success_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1sflu_gg_._theme_warning_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1sflu_gg_._theme_danger_1sflu_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_1sflu_gg_{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background-color:var(--intergalactic-overlay-limitation-secondary, rgba(255, 255, 255, 0.85))}.___SSpinContainer_1sflu_gg_.__headerHeight_1sflu_gg_{top:var(--headerHeight_1sflu)}.___SEmptyData_1sflu_gg_{grid-column:1/-1}.___SRow_1sflu_gg_._sideIndents_wide_1sflu_gg_ .___SCell_1sflu_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SRow_1sflu_gg_._sideIndents_wide_1sflu_gg_ .___SCell_1sflu_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"1sflu_gg_"),
16
+ /*__reshadow_css_end__*/
17
+ {
18
+ "__SBody": "___SBody_1sflu_gg_",
19
+ "__SRow": "___SRow_1sflu_gg_",
20
+ "__SRowGroup": "___SRowGroup_1sflu_gg_",
21
+ "_gridArea": "__gridArea_1sflu_gg_",
22
+ "__SCell": "___SCell_1sflu_gg_",
23
+ "__SCollapseRow": "___SCollapseRow_1sflu_gg_",
24
+ "--gridArea": "--gridArea_1sflu",
25
+ "_active": "__active_1sflu_gg_",
26
+ "_theme": "__theme_1sflu_gg_",
27
+ "_expanded": "__expanded_1sflu_gg_",
28
+ "_accordionType_row": "_accordionType_row_1sflu_gg_",
29
+ "_accordionType_cell": "_accordionType_cell_1sflu_gg_",
30
+ "_withAccordion": "__withAccordion_1sflu_gg_",
31
+ "_theme_muted": "_theme_muted_1sflu_gg_",
32
+ "_theme_info": "_theme_info_1sflu_gg_",
33
+ "_theme_success": "_theme_success_1sflu_gg_",
34
+ "_theme_warning": "_theme_warning_1sflu_gg_",
35
+ "_theme_danger": "_theme_danger_1sflu_gg_",
36
+ "__SCheckboxCell": "___SCheckboxCell_1sflu_gg_",
37
+ "_borders_both": "_borders_both_1sflu_gg_",
38
+ "_borders_left": "_borders_left_1sflu_gg_",
39
+ "_borders_right": "_borders_right_1sflu_gg_",
40
+ "_fixed": "__fixed_1sflu_gg_",
41
+ "__SSpinContainer": "___SSpinContainer_1sflu_gg_",
42
+ "_headerHeight": "__headerHeight_1sflu_gg_",
43
+ "--headerHeight": "--headerHeight_1sflu",
44
+ "__SEmptyData": "___SEmptyData_1sflu_gg_",
45
+ "_compact": "__compact_1sflu_gg_",
46
+ "--data-aria-level": "--data-aria-level_1sflu",
47
+ "__SAccordionToggle": "___SAccordionToggle_1sflu_gg_",
48
+ "_use_primary": "_use_primary_1sflu_gg_",
49
+ "_use_secondary": "_use_secondary_1sflu_gg_",
50
+ "_sideIndents_wide": "_sideIndents_wide_1sflu_gg_"
51
+ });
52
+ import { Cell } from './Cell';
53
+ import { MergedColumnsCell, MergedRowsCell } from './MergedCells';
54
+ import { ACCORDION, ROW_INDEX, UNIQ_ROW_KEY } from '../DataTable/DataTable';
55
+ import ChevronRightM from '@semcore/icon/ChevronRight/m';
56
+ import { ButtonLink } from '@semcore/button';
57
+ import Spin from '@semcore/spin';
58
+ import { isInteractiveElement } from '@semcore/core/lib/utils/isInteractiveElement';
59
+ var ROWS_BUFFER = 20;
60
+ var APROX_ROWS_ON_PAGE = 20;
61
+ var BodyRoot = /*#__PURE__*/function (_Component) {
62
+ _inherits(BodyRoot, _Component);
63
+ var _super = _createSuper(BodyRoot);
64
+ function BodyRoot() {
65
+ var _this;
66
+ _classCallCheck(this, BodyRoot);
67
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
+ args[_key] = arguments[_key];
69
+ }
70
+ _this = _super.call.apply(_super, [this].concat(args));
71
+ _defineProperty(_assertThisInitialized(_this), "rowsHeightMap", new Map());
72
+ _defineProperty(_assertThisInitialized(_this), "indexForDownIterate", 0);
73
+ _defineProperty(_assertThisInitialized(_this), "indexForUpIterate", 0);
74
+ _defineProperty(_assertThisInitialized(_this), "handleRef", function (index, row) {
75
+ return function (node) {
76
+ if (!_this.rowsHeightMap.has(index) && node) {
77
+ _this.rowsHeightMap.set(index, [0, 0, node]);
78
+ _this.setRowHeight(index, row);
79
+ }
80
+ };
81
+ });
82
+ _defineProperty(_assertThisInitialized(_this), "handleExpandRow", function (row, index) {
83
+ setTimeout(function () {
84
+ _this.setRowHeight(index, row);
85
+ for (var i = index; i < _this.rowsHeightMap.size; i++) {
86
+ _this.setRowHeight(i, row);
87
+ }
88
+ }, 300); // we need to calculate after expanding animation
89
+
90
+ _this.asProps.onExpandRow(row);
91
+ });
92
+ _defineProperty(_assertThisInitialized(_this), "handleClickRow", function (row, index) {
93
+ return function (e) {
94
+ if (!isInteractiveElement(e.target)) {
95
+ _this.handleExpandRow(row, index);
96
+ }
97
+ };
98
+ });
99
+ _defineProperty(_assertThisInitialized(_this), "handleClickCell", function (row, index) {
100
+ return function (e) {
101
+ if (!isInteractiveElement(e.target)) {
102
+ _this.handleExpandRow(row, index);
103
+ }
104
+ };
105
+ });
106
+ return _this;
107
+ }
108
+ _createClass(BodyRoot, [{
109
+ key: "getRowProps",
110
+ value: function getRowProps(props) {
111
+ var _this$asProps = this.asProps,
112
+ use = _this$asProps.use,
113
+ gridTemplateAreas = _this$asProps.gridTemplateAreas,
114
+ gridTemplateColumns = _this$asProps.gridTemplateColumns,
115
+ expandedRows = _this$asProps.expandedRows,
116
+ columns = _this$asProps.columns,
117
+ onExpandRow = _this$asProps.onExpandRow,
118
+ loading = _this$asProps.loading,
119
+ hasGroups = _this$asProps.hasGroups,
120
+ scrollAreaRef = _this$asProps.scrollAreaRef,
121
+ uid = _this$asProps.uid,
122
+ onBackFromAccordion = _this$asProps.onBackFromAccordion,
123
+ rowProps = _this$asProps.rowProps,
124
+ rows = _this$asProps.rows,
125
+ flatRows = _this$asProps.flatRows,
126
+ sideIndents = _this$asProps.sideIndents,
127
+ selectedRows = _this$asProps.selectedRows,
128
+ onSelectRow = _this$asProps.onSelectRow,
129
+ getFixedStyle = _this$asProps.getFixedStyle;
130
+ var row = props.row;
131
+ var index = row[ROW_INDEX];
132
+ var rowIndex = Array.from(expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function (acc, item) {
133
+ var rowIndex = flatRows.findIndex(function (row) {
134
+ return row[UNIQ_ROW_KEY] === item;
135
+ });
136
+ if (rowIndex < index) {
137
+ var _flatRows$rowIndex;
138
+ var expandedRow = (_flatRows$rowIndex = flatRows[rowIndex]) === null || _flatRows$rowIndex === void 0 ? void 0 : _flatRows$rowIndex[ACCORDION];
139
+ if (Array.isArray(expandedRow)) {
140
+ acc = acc + expandedRow.length;
141
+ } else {
142
+ acc = acc + 1;
143
+ }
144
+ }
145
+ return acc;
146
+ }, index);
147
+ var gridRowIndex = rowIndex + (hasGroups ? 3 : 2); // 1 - for header, 1 - because start not from 0, but from 1
148
+ var ariaRowIndex = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1
149
+
150
+ var accordionDataGridArea = Array.isArray(row[ACCORDION]) ? "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1 + row[ACCORDION].length, " / ").concat(columns.length + 1) : "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1, " / ").concat(columns.length + 1);
151
+ return _objectSpread(_objectSpread({
152
+ onClick: row[ACCORDION] ? this.handleClickRow(row, index) : undefined
153
+ }, rowProps === null || rowProps === void 0 ? void 0 : rowProps(row, index)), {}, {
154
+ use: use,
155
+ uid: uid,
156
+ gridTemplateAreas: gridTemplateAreas,
157
+ gridTemplateColumns: gridTemplateColumns,
158
+ expanded: expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(row[UNIQ_ROW_KEY]),
159
+ accordionDataGridArea: accordionDataGridArea,
160
+ columns: columns,
161
+ rowIndex: index,
162
+ ariaRowIndex: ariaRowIndex,
163
+ gridRowIndex: gridRowIndex,
164
+ rows: rows,
165
+ onBackFromAccordion: onBackFromAccordion,
166
+ row: row,
167
+ expandedRows: expandedRows,
168
+ onExpandRow: onExpandRow,
169
+ selectedRows: selectedRows,
170
+ onSelectRow: onSelectRow,
171
+ inert: loading ? '' : undefined,
172
+ scrollAreaRef: scrollAreaRef,
173
+ sideIndents: sideIndents,
174
+ getFixedStyle: getFixedStyle
175
+ });
176
+ }
177
+ }, {
178
+ key: "getCellProps",
179
+ value: function getCellProps(props) {
180
+ var _props$children,
181
+ _value3,
182
+ _this2 = this,
183
+ _value4;
184
+ var _this$asProps2 = this.asProps,
185
+ use = _this$asProps2.use,
186
+ renderCell = _this$asProps2.renderCell,
187
+ expandedRows = _this$asProps2.expandedRows,
188
+ styles = _this$asProps2.styles,
189
+ getI18nText = _this$asProps2.getI18nText,
190
+ virtualScroll = _this$asProps2.virtualScroll,
191
+ tableRef = _this$asProps2.tableRef;
192
+ var SAccordionToggle = ButtonLink;
193
+ var dataKey = props.column.name;
194
+ var cellValue = props.row[dataKey];
195
+ var value = undefined;
196
+ var isMergedRows = cellValue instanceof MergedRowsCell;
197
+ var isMergedColumns = cellValue instanceof MergedColumnsCell;
198
+ if (isMergedColumns || isMergedRows) {
199
+ value = cellValue.value;
200
+ if (isMergedColumns) {
201
+ dataKey = cellValue.dataKey;
202
+ }
203
+ } else {
204
+ value = cellValue;
205
+ }
206
+ var defaultRender = function defaultRender() {
207
+ var _value;
208
+ return /*#__PURE__*/React.isValidElement(value) ? value : (_value = value) === null || _value === void 0 ? void 0 : _value.toString();
209
+ };
210
+ var extraProps = {
211
+ use: use,
212
+ virtualScroll: Boolean(virtualScroll),
213
+ tableRef: tableRef,
214
+ children: (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : defaultRender()
215
+ };
216
+ if (renderCell) {
217
+ var _value$toString, _value2;
218
+ var external = renderCell({
219
+ columnName: props.column.name,
220
+ row: props.row,
221
+ column: props.column,
222
+ rowIndex: props.rowIndex,
223
+ columnIndex: props.columnIndex,
224
+ dataKey: dataKey,
225
+ defaultRender: defaultRender,
226
+ value: /*#__PURE__*/React.isValidElement(value) ? value : (_value$toString = (_value2 = value) === null || _value2 === void 0 ? void 0 : _value2.toString()) !== null && _value$toString !== void 0 ? _value$toString : '',
227
+ isMergedRows: isMergedRows,
228
+ isMergedColumns: isMergedColumns
229
+ });
230
+ if (this.isReactNode(external) || Array.isArray(external)) {
231
+ extraProps.children = external;
232
+ } else {
233
+ for (var key in external) {
234
+ extraProps[key] = external[key];
235
+ }
236
+ }
237
+ }
238
+ if (props.columnIndex === 0 && props.row[ACCORDION] || (_value3 = value) !== null && _value3 !== void 0 && _value3[ACCORDION]) {
239
+ var _ref2;
240
+ var expanded = expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(props.row[UNIQ_ROW_KEY]);
241
+ extraProps.children = (_ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SAccordionToggle, _ref2.cn("SAccordionToggle", {
242
+ "aria-label": getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label'),
243
+ "expanded": expanded,
244
+ "onClick": function onClick(e) {
245
+ e.stopPropagation();
246
+ _this2.handleExpandRow(props.row, props.rowIndex);
247
+ },
248
+ "color": '--intergalactic-icon-primary-neutral',
249
+ "aria-expanded": expanded,
250
+ "aria-describedby": props.id,
251
+ "aria-controls": props.accordionId
252
+ }), /*#__PURE__*/React.createElement(SAccordionToggle.Addon, {
253
+ tag: ChevronRightM
254
+ })), extraProps.children));
255
+ }
256
+ if ((_value4 = value) !== null && _value4 !== void 0 && _value4[ACCORDION]) {
257
+ extraProps.onClick = this.handleClickCell(props.row, props.rowIndex);
258
+ }
259
+ return extraProps;
260
+ }
261
+ }, {
262
+ key: "render",
263
+ value: function render() {
264
+ var _ref = this.asProps,
265
+ _ref3,
266
+ _this$rowsHeightMap$g5,
267
+ _this3 = this;
268
+ var SBody = Box;
269
+ var SRowGroup = Box;
270
+ var SSpinContainer = Box;
271
+ var _this$asProps3 = this.asProps,
272
+ styles = _this$asProps3.styles,
273
+ loading = _this$asProps3.loading,
274
+ headerHeight = _this$asProps3.headerHeight,
275
+ spinnerRef = _this$asProps3.spinnerRef,
276
+ virtualScroll = _this$asProps3.virtualScroll,
277
+ scrollDirection = _this$asProps3.scrollDirection,
278
+ tableContainerRef = _this$asProps3.tableContainerRef,
279
+ scrollTop = _this$asProps3.scrollTop,
280
+ renderEmptyData = _this$asProps3.renderEmptyData,
281
+ columns = _this$asProps3.columns,
282
+ uid = _this$asProps3.uid,
283
+ rows = _this$asProps3.rows;
284
+ var rowsToRender = rows;
285
+ var startIndex = -1;
286
+ var lastIndex = -1;
287
+ if (virtualScroll) {
288
+ var _virtualScroll$rowsBu, _tableContainerRef$cu, _tableContainerRef$cu2;
289
+ var rowsBuffer = typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll ? (_virtualScroll$rowsBu = virtualScroll.rowsBuffer) !== null && _virtualScroll$rowsBu !== void 0 ? _virtualScroll$rowsBu : ROWS_BUFFER : ROWS_BUFFER;
290
+ var offsetHeight = (_tableContainerRef$cu = (_tableContainerRef$cu2 = tableContainerRef.current) === null || _tableContainerRef$cu2 === void 0 ? void 0 : _tableContainerRef$cu2.offsetHeight) !== null && _tableContainerRef$cu !== void 0 ? _tableContainerRef$cu : 0;
291
+ var prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;
292
+ var nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;
293
+ if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {
294
+ var _virtualScroll$aproxR;
295
+ var aproxRowsOnPage = typeof virtualScroll !== 'boolean' ? (_virtualScroll$aproxR = virtualScroll.aproxRowsOnPage) !== null && _virtualScroll$aproxR !== void 0 ? _virtualScroll$aproxR : APROX_ROWS_ON_PAGE : APROX_ROWS_ON_PAGE;
296
+ if (scrollDirection === 'down') {
297
+ var _this$rowsHeightMap$g, _this$rowsHeightMap$g2, _lastIndex;
298
+ for (var i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {
299
+ var value = this.rowsHeightMap.get(i);
300
+ if (!value) continue;
301
+ var key = i;
302
+ var valueFromToCompare = value[1];
303
+ var valueToToCompare = value[0];
304
+ if (startIndex === -1 && scrollTop < valueFromToCompare) {
305
+ startIndex = Math.max(key - prevPrepared, 0);
306
+ }
307
+ if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {
308
+ lastIndex = Math.min(key + nextPrepared, rows.length);
309
+ }
310
+ if (startIndex !== -1 && lastIndex !== -1) {
311
+ break;
312
+ }
313
+ }
314
+ if (scrollTop + offsetHeight < ((_this$rowsHeightMap$g = (_this$rowsHeightMap$g2 = this.rowsHeightMap.get((_lastIndex = lastIndex) !== null && _lastIndex !== void 0 ? _lastIndex : 0)) === null || _this$rowsHeightMap$g2 === void 0 ? void 0 : _this$rowsHeightMap$g2[1]) !== null && _this$rowsHeightMap$g !== void 0 ? _this$rowsHeightMap$g : 0)) {
315
+ lastIndex = lastIndex + aproxRowsOnPage;
316
+ }
317
+ } else if (scrollDirection === 'up') {
318
+ var _this$rowsHeightMap$g3, _this$rowsHeightMap$g4, _startIndex;
319
+ for (var _i = this.indexForUpIterate; _i >= 0; _i--) {
320
+ var _value5 = this.rowsHeightMap.get(_i);
321
+ if (!_value5) continue;
322
+ var _key2 = _i;
323
+ var _valueFromToCompare = _value5[1];
324
+ var _valueToToCompare = _value5[0];
325
+ if (lastIndex === -1 && scrollTop + offsetHeight > _valueToToCompare) {
326
+ lastIndex = Math.min(_key2 + nextPrepared, rows.length);
327
+ }
328
+ if (lastIndex !== -1 && scrollTop < _valueFromToCompare) {
329
+ startIndex = Math.max(_key2 - prevPrepared, 0);
330
+ }
331
+ if (startIndex !== -1 && lastIndex !== -1) {
332
+ break;
333
+ }
334
+ }
335
+ if (scrollTop < ((_this$rowsHeightMap$g3 = (_this$rowsHeightMap$g4 = this.rowsHeightMap.get((_startIndex = startIndex) !== null && _startIndex !== void 0 ? _startIndex : 0)) === null || _this$rowsHeightMap$g4 === void 0 ? void 0 : _this$rowsHeightMap$g4[0]) !== null && _this$rowsHeightMap$g3 !== void 0 ? _this$rowsHeightMap$g3 : 0)) {
336
+ startIndex = Math.max(startIndex - aproxRowsOnPage, 0);
337
+ }
338
+ }
339
+ if (startIndex === -1) {
340
+ startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);
341
+ }
342
+ if (lastIndex === -1) {
343
+ lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;
344
+ }
345
+ this.indexForDownIterate = startIndex;
346
+ this.indexForUpIterate = lastIndex;
347
+ rowsToRender = rows.slice(startIndex, lastIndex);
348
+ } else if ('rowHeight' in virtualScroll) {
349
+ var rowHeight = virtualScroll.rowHeight;
350
+ startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);
351
+ var _lastIndex2 = Math.min(Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared, rows.length);
352
+ rowsToRender = rows.slice(startIndex, _lastIndex2);
353
+ }
354
+ }
355
+ startIndex = startIndex === -1 ? 0 : startIndex;
356
+ var rowMarginTop = (_this$rowsHeightMap$g5 = this.rowsHeightMap.get(startIndex - 1)) === null || _this$rowsHeightMap$g5 === void 0 ? void 0 : _this$rowsHeightMap$g5[1];
357
+ var emptyRow = null;
358
+ if (rowsToRender.length === 0) {
359
+ var _emptyRow;
360
+ emptyRow = (_emptyRow = {}, _defineProperty(_emptyRow, UNIQ_ROW_KEY, "".concat(uid, "_empty_data")), _defineProperty(_emptyRow, ROW_INDEX, 0), _defineProperty(_emptyRow, columns[0].name, new MergedColumnsCell(renderEmptyData(), {
361
+ dataKey: columns[0].name,
362
+ size: columns.length
363
+ })), _emptyRow);
364
+ }
365
+ return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SBody, _ref3.cn("SBody", _objectSpread({}, _assignProps({
366
+ "__excludeProps": ['data']
367
+ }, _ref))), emptyRow && /*#__PURE__*/React.createElement(Body.Row, {
368
+ row: emptyRow,
369
+ offset: 0
370
+ }), typeof virtualScroll === 'boolean' && rowMarginTop && /*#__PURE__*/React.createElement(Box, _ref3.cn("Box", {
371
+ "h": rowMarginTop
372
+ })), rowsToRender.map(function (row, index) {
373
+ if (Array.isArray(row)) {
374
+ var _ref4;
375
+ return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SRowGroup, _ref4.cn("SRowGroup", {
376
+ "role": 'rowgroup',
377
+ "key": "gg_".concat(row[0][UNIQ_ROW_KEY]),
378
+ "ref": _this3.handleRef(startIndex + index, row[0])
379
+ }), row.map(function (item, i) {
380
+ return /*#__PURE__*/React.createElement(Body.Row, {
381
+ key: item[UNIQ_ROW_KEY],
382
+ row: item
383
+ });
384
+ }));
385
+ }
386
+ return /*#__PURE__*/React.createElement(Body.Row, {
387
+ key: row[UNIQ_ROW_KEY],
388
+ row: row,
389
+ ref: virtualScroll ? _this3.handleRef(startIndex + index, row) : undefined
390
+ });
391
+ }), loading && /*#__PURE__*/React.createElement(SSpinContainer, _ref3.cn("SSpinContainer", {
392
+ "innerOutline": true,
393
+ "headerHeight": "".concat(headerHeight, "px"),
394
+ "tabIndex": -1,
395
+ "ref": spinnerRef,
396
+ "role": 'row'
397
+ }), /*#__PURE__*/React.createElement(Spin, _ref3.cn("Spin", {
398
+ "size": 'xxl',
399
+ "role": 'gridcell'
400
+ }))));
401
+ }
402
+ }, {
403
+ key: "isReactNode",
404
+ value: function isReactNode(obj) {
405
+ return typeof obj === 'string' || typeof obj === 'number' || /*#__PURE__*/React.isValidElement(obj) || typeof obj === 'boolean' || obj === undefined || obj === null;
406
+ }
407
+ }, {
408
+ key: "setRowHeight",
409
+ value: function setRowHeight(index, row) {
410
+ var _this$rowsHeightMap$g6, _node$children$item;
411
+ var expandedRows = this.asProps.expandedRows;
412
+ var node = (_this$rowsHeightMap$g6 = this.rowsHeightMap.get(index)) === null || _this$rowsHeightMap$g6 === void 0 ? void 0 : _this$rowsHeightMap$g6[2];
413
+ var firstChild = (node === null || node === void 0 ? void 0 : node.role) === 'rowgroup' ? node === null || node === void 0 ? void 0 : (_node$children$item = node.children.item(0)) === null || _node$children$item === void 0 ? void 0 : _node$children$item.children.item(0) : node === null || node === void 0 ? void 0 : node.children.item(0);
414
+ if (node && firstChild instanceof HTMLElement) {
415
+ var offset = firstChild.offsetTop - this.asProps.headerHeight;
416
+ var height = firstChild.getBoundingClientRect().height;
417
+ if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {
418
+ height = height + node.nextSibling.getBoundingClientRect().height;
419
+ }
420
+ this.rowsHeightMap.set(index, [offset, offset + height, node]);
421
+ }
422
+ }
423
+ }]);
424
+ return BodyRoot;
425
+ }(Component);
426
+ _defineProperty(BodyRoot, "displayName", 'Body');
427
+ _defineProperty(BodyRoot, "style", style);
428
+ export var Body = createComponent(BodyRoot, {
429
+ Row: Row,
430
+ Cell: Cell
431
+ });
432
+ //# sourceMappingURL=Body.js.map