@semcore/data-table 16.0.0-prerelease.16 → 16.0.0-prerelease.18

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 (107) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/components/Body/Body.js +336 -97
  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 +89 -32
  6. package/lib/cjs/components/Body/Cell.js.map +1 -1
  7. package/lib/cjs/components/Body/Cell.types.js.map +1 -1
  8. package/lib/cjs/components/Body/MergedCells.js +9 -5
  9. package/lib/cjs/components/Body/MergedCells.js.map +1 -1
  10. package/lib/cjs/components/Body/Row.js +86 -112
  11. package/lib/cjs/components/Body/Row.js.map +1 -1
  12. package/lib/cjs/components/Body/Row.types.js +2 -0
  13. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  14. package/lib/cjs/components/Body/style.shadow.css +87 -36
  15. package/lib/cjs/components/DataTable/DataTable.js +317 -158
  16. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  17. package/lib/cjs/components/DataTable/DataTable.types.js +2 -0
  18. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  19. package/lib/cjs/components/DataTable/dataTable.shadow.css +4 -0
  20. package/lib/cjs/components/Head/Column.js +54 -33
  21. package/lib/cjs/components/Head/Column.js.map +1 -1
  22. package/lib/cjs/components/Head/Column.types.js.map +1 -1
  23. package/lib/cjs/components/Head/Group.js +51 -38
  24. package/lib/cjs/components/Head/Group.js.map +1 -1
  25. package/lib/cjs/components/Head/Group.type.js.map +1 -1
  26. package/lib/cjs/components/Head/Head.js +46 -31
  27. package/lib/cjs/components/Head/Head.js.map +1 -1
  28. package/lib/cjs/components/Head/Head.types.js.map +1 -1
  29. package/lib/cjs/components/Head/style.shadow.css +16 -14
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/style/scroll-shadows.shadow.css +30 -6
  32. package/lib/es6/components/Body/Body.js +337 -98
  33. package/lib/es6/components/Body/Body.js.map +1 -1
  34. package/lib/es6/components/Body/Body.types.js.map +1 -1
  35. package/lib/es6/components/Body/Cell.js +89 -32
  36. package/lib/es6/components/Body/Cell.js.map +1 -1
  37. package/lib/es6/components/Body/Cell.types.js.map +1 -1
  38. package/lib/es6/components/Body/MergedCells.js +9 -5
  39. package/lib/es6/components/Body/MergedCells.js.map +1 -1
  40. package/lib/es6/components/Body/Row.js +86 -112
  41. package/lib/es6/components/Body/Row.js.map +1 -1
  42. package/lib/es6/components/Body/Row.types.js +1 -1
  43. package/lib/es6/components/Body/Row.types.js.map +1 -1
  44. package/lib/es6/components/Body/style.shadow.css +87 -36
  45. package/lib/es6/components/DataTable/DataTable.js +315 -157
  46. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  47. package/lib/es6/components/DataTable/DataTable.types.js +1 -1
  48. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  49. package/lib/es6/components/DataTable/dataTable.shadow.css +4 -0
  50. package/lib/es6/components/Head/Column.js +52 -31
  51. package/lib/es6/components/Head/Column.js.map +1 -1
  52. package/lib/es6/components/Head/Column.types.js.map +1 -1
  53. package/lib/es6/components/Head/Group.js +51 -38
  54. package/lib/es6/components/Head/Group.js.map +1 -1
  55. package/lib/es6/components/Head/Group.type.js.map +1 -1
  56. package/lib/es6/components/Head/Head.js +47 -32
  57. package/lib/es6/components/Head/Head.js.map +1 -1
  58. package/lib/es6/components/Head/Head.types.js.map +1 -1
  59. package/lib/es6/components/Head/style.shadow.css +16 -14
  60. package/lib/es6/index.js.map +1 -1
  61. package/lib/es6/style/scroll-shadows.shadow.css +30 -6
  62. package/lib/esm/components/Body/Body.mjs +317 -94
  63. package/lib/esm/components/Body/Cell.mjs +82 -31
  64. package/lib/esm/components/Body/MergedCells.mjs +9 -5
  65. package/lib/esm/components/Body/Row.mjs +78 -107
  66. package/lib/esm/components/DataTable/DataTable.mjs +281 -105
  67. package/lib/esm/components/Head/Column.mjs +52 -32
  68. package/lib/esm/components/Head/Group.mjs +48 -39
  69. package/lib/esm/components/Head/Head.mjs +45 -32
  70. package/lib/esm/utils.mjs +0 -9
  71. package/lib/types/components/Body/Body.types.d.ts +21 -12
  72. package/lib/types/components/Body/Cell.types.d.ts +9 -6
  73. package/lib/types/components/Body/MergedCells.d.ts +8 -3
  74. package/lib/types/components/Body/Row.types.d.ts +22 -10
  75. package/lib/types/components/DataTable/DataTable.d.ts +2 -1
  76. package/lib/types/components/DataTable/DataTable.types.d.ts +55 -6
  77. package/lib/types/components/Head/Column.d.ts +2 -1
  78. package/lib/types/components/Head/Column.types.d.ts +5 -3
  79. package/lib/types/components/Head/Group.d.ts +5 -2
  80. package/lib/types/components/Head/Group.type.d.ts +6 -1
  81. package/lib/types/components/Head/Head.d.ts +93 -3
  82. package/lib/types/components/Head/Head.types.d.ts +1 -0
  83. package/lib/types/index.d.ts +2 -2
  84. package/package.json +8 -7
  85. package/lib/cjs/Body.js +0 -476
  86. package/lib/cjs/Body.js.map +0 -1
  87. package/lib/cjs/DataTable.js +0 -622
  88. package/lib/cjs/DataTable.js.map +0 -1
  89. package/lib/cjs/Head.js +0 -399
  90. package/lib/cjs/Head.js.map +0 -1
  91. package/lib/cjs/style/data-table.shadow.css +0 -394
  92. package/lib/cjs/types.js +0 -4
  93. package/lib/cjs/types.js.map +0 -1
  94. package/lib/es6/Body.js +0 -469
  95. package/lib/es6/Body.js.map +0 -1
  96. package/lib/es6/DataTable.js +0 -614
  97. package/lib/es6/DataTable.js.map +0 -1
  98. package/lib/es6/Head.js +0 -391
  99. package/lib/es6/Head.js.map +0 -1
  100. package/lib/es6/style/data-table.shadow.css +0 -394
  101. package/lib/es6/types.js +0 -2
  102. package/lib/es6/types.js.map +0 -1
  103. package/lib/esm/Head.mjs +0 -369
  104. package/lib/types/Body.d.ts +0 -61
  105. package/lib/types/DataTable.d.ts +0 -205
  106. package/lib/types/Head.d.ts +0 -45
  107. package/lib/types/types.d.ts +0 -73
package/CHANGELOG.md CHANGED
@@ -8,6 +8,12 @@ CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangel
8
8
 
9
9
  - Major version.
10
10
 
11
+ ## [4.50.0] - 2025-04-11
12
+
13
+ ### Changed
14
+
15
+ - Version minor update due to children dependencies update (`@semcore/icon` [4.60.2 ~> 4.61.0]).
16
+
11
17
  ## [4.49.2] - 2025-04-04
12
18
 
13
19
  ### Changed
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.Body = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
13
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -25,34 +25,40 @@ var _m = _interopRequireDefault(require("@semcore/icon/ChevronRight/m"));
25
25
  var _button = require("@semcore/button");
26
26
  var _spin = _interopRequireDefault(require("@semcore/spin"));
27
27
  /*__reshadow-styles__:"./style.shadow.css"*/
28
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBody_1q19z_gg_,.___SRow_1q19z_gg_{display:contents}.___SBody_1q19z_gg_.__compact_1q19z_gg_ .___SCell_1q19z_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SCell_1q19z_gg_.__gridArea_1q19z_gg_,.___SCollapseRow_1q19z_gg_.__gridArea_1q19z_gg_,.___SRow_1q19z_gg_.__gridArea_1q19z_gg_{grid-area:var(--gridArea_1q19z)}.___SRow_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_._theme_muted_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}@media (hover:hover){.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1q19z_gg_._theme_muted_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1q19z_gg_._theme_muted_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_muted_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1q19z_gg_._theme_info_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1q19z_gg_._theme_info_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}@media (hover:hover){.___SRow_1q19z_gg_._theme_info_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_info_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1q19z_gg_._theme_success_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1q19z_gg_._theme_success_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}@media (hover:hover){.___SRow_1q19z_gg_._theme_success_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_success_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1q19z_gg_._theme_warning_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1q19z_gg_._theme_warning_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}@media (hover:hover){.___SRow_1q19z_gg_._theme_warning_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_warning_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1q19z_gg_._theme_danger_1q19z_gg_ .___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1q19z_gg_._theme_danger_1q19z_gg_.__active_1q19z_gg_>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}@media (hover:hover){.___SRow_1q19z_gg_._theme_danger_1q19z_gg_:hover>.___SCell_1q19z_gg_:not(.__theme_1q19z_gg_),.___SRow_1q19z_gg_:hover>.___SCell_1q19z_gg_._theme_danger_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SCell_1q19z_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_1q19z_gg_ .___SAccordionToggle_1q19z_gg_{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_1q19z_gg_ .___SAccordionToggle_1q19z_gg_.__expanded_1q19z_gg_{transform:rotate(90deg)}.___SCell_1q19z_gg_._use_primary_1q19z_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1q19z_gg_._use_primary_1q19z_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1q19z) - 1)))}.___SCell_1q19z_gg_._use_secondary_1q19z_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1q19z_gg_._use_secondary_1q19z_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1q19z) - 1)))}.___SCell_1q19z_gg_._borders_both_1q19z_gg_,.___SCell_1q19z_gg_._borders_left_1q19z_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1q19z_gg_._borders_both_1q19z_gg_,.___SCell_1q19z_gg_._borders_right_1q19z_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1q19z_gg_.__fixed_1q19z_gg_{position:sticky;z-index:2}.___SCell_1q19z_gg_._theme_muted_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1q19z_gg_._theme_info_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1q19z_gg_._theme_success_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1q19z_gg_._theme_warning_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1q19z_gg_._theme_danger_1q19z_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_1q19z_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_1q19z_gg_.__headerHeight_1q19z_gg_{top:var(--headerHeight_1q19z)}" /*__inner_css_end__*/, "1q19z_gg_") /*__reshadow_css_end__*/, {
29
- "__SBody": "___SBody_1q19z_gg_",
30
- "__SRow": "___SRow_1q19z_gg_",
31
- "_compact": "__compact_1q19z_gg_",
32
- "__SCell": "___SCell_1q19z_gg_",
33
- "_gridArea": "__gridArea_1q19z_gg_",
34
- "__SCollapseRow": "___SCollapseRow_1q19z_gg_",
35
- "--gridArea": "--gridArea_1q19z",
36
- "_active": "__active_1q19z_gg_",
37
- "_theme": "__theme_1q19z_gg_",
38
- "_theme_muted": "_theme_muted_1q19z_gg_",
39
- "_theme_info": "_theme_info_1q19z_gg_",
40
- "_theme_success": "_theme_success_1q19z_gg_",
41
- "_theme_warning": "_theme_warning_1q19z_gg_",
42
- "_theme_danger": "_theme_danger_1q19z_gg_",
43
- "_borders_both": "_borders_both_1q19z_gg_",
44
- "_borders_left": "_borders_left_1q19z_gg_",
45
- "_borders_right": "_borders_right_1q19z_gg_",
46
- "_fixed": "__fixed_1q19z_gg_",
47
- "__SSpinContainer": "___SSpinContainer_1q19z_gg_",
48
- "_headerHeight": "__headerHeight_1q19z_gg_",
49
- "--headerHeight": "--headerHeight_1q19z",
50
- "__SAccordionToggle": "___SAccordionToggle_1q19z_gg_",
51
- "_expanded": "__expanded_1q19z_gg_",
52
- "_use_primary": "_use_primary_1q19z_gg_",
53
- "--data-aria-level": "--data-aria-level_1q19z",
54
- "_use_secondary": "_use_secondary_1q19z_gg_"
28
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBody_1dql7_gg_,.___SRowGroup_1dql7_gg_,.___SRow_1dql7_gg_{display:contents}.___SBody_1dql7_gg_.__compact_1dql7_gg_ .___SCell_1dql7_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_1dql7_gg_.__compact_1dql7_gg_ .___SCell_1dql7_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_1dql7) - 1)))}.___SCell_1dql7_gg_.__gridArea_1dql7_gg_,.___SCollapseRow_1dql7_gg_.__gridArea_1dql7_gg_,.___SRow_1dql7_gg_.__gridArea_1dql7_gg_{grid-area:var(--gridArea_1dql7)}.___SCollapseRow_1dql7_gg_ .___SCell_1dql7_gg_{display:block}.___SRow_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_.__expanded_1dql7_gg_._accordionType_cell_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_).__withAccordion_1dql7_gg_,.___SRow_1dql7_gg_.__expanded_1dql7_gg_._accordionType_row_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-actions-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_muted_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_muted_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_muted_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_muted_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_._theme_muted_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_muted_1dql7_gg_,.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_info_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_info_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_info_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_info_1dql7_gg_,.___SRow_1dql7_gg_._theme_info_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_info_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_success_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_success_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_success_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_success_1dql7_gg_,.___SRow_1dql7_gg_._theme_success_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_success_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_warning_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_warning_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_warning_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_warning_1dql7_gg_,.___SRow_1dql7_gg_._theme_warning_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_warning_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_._theme_danger_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_[data-grouped-by=rowgroup]._theme_danger_1dql7_gg_,.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_._theme_danger_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRowGroup_1dql7_gg_:has(.___SCell_1dql7_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_1dql7_gg_>.___SCell_1dql7_gg_._theme_danger_1dql7_gg_,.___SRow_1dql7_gg_._theme_danger_1dql7_gg_:hover>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_),.___SRow_1dql7_gg_:hover>.___SCell_1dql7_gg_._theme_danger_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1dql7_gg_._theme_muted_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_1dql7_gg_._theme_muted_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_1dql7_gg_._theme_info_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1dql7_gg_._theme_info_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_1dql7_gg_._theme_success_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1dql7_gg_._theme_success_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_1dql7_gg_._theme_warning_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1dql7_gg_._theme_warning_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_1dql7_gg_._theme_danger_1dql7_gg_ .___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1dql7_gg_._theme_danger_1dql7_gg_.__active_1dql7_gg_>.___SCell_1dql7_gg_:not(.__theme_1dql7_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_1dql7_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_1dql7_gg_ .___SAccordionToggle_1dql7_gg_{margin-right:var(--intergalactic-spacing-3x, 12px);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_1dql7_gg_ .___SAccordionToggle_1dql7_gg_.__expanded_1dql7_gg_{transform:rotate(90deg)}.___SCell_1dql7_gg_._use_primary_1dql7_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1dql7_gg_._use_primary_1dql7_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_1dql7) - 1)))}.___SCell_1dql7_gg_._use_secondary_1dql7_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1dql7_gg_._use_secondary_1dql7_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_1dql7) - 1)))}.___SCell_1dql7_gg_._borders_both_1dql7_gg_,.___SCell_1dql7_gg_._borders_left_1dql7_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1dql7_gg_._borders_both_1dql7_gg_,.___SCell_1dql7_gg_._borders_right_1dql7_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1dql7_gg_.__fixed_1dql7_gg_{position:sticky;z-index:2}.___SCell_1dql7_gg_._theme_muted_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1dql7_gg_._theme_info_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1dql7_gg_._theme_success_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1dql7_gg_._theme_warning_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1dql7_gg_._theme_danger_1dql7_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_1dql7_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_1dql7_gg_.__headerHeight_1dql7_gg_{top:var(--headerHeight_1dql7)}" /*__inner_css_end__*/, "1dql7_gg_") /*__reshadow_css_end__*/, {
29
+ "__SBody": "___SBody_1dql7_gg_",
30
+ "__SRow": "___SRow_1dql7_gg_",
31
+ "__SRowGroup": "___SRowGroup_1dql7_gg_",
32
+ "_gridArea": "__gridArea_1dql7_gg_",
33
+ "__SCell": "___SCell_1dql7_gg_",
34
+ "__SCollapseRow": "___SCollapseRow_1dql7_gg_",
35
+ "--gridArea": "--gridArea_1dql7",
36
+ "_active": "__active_1dql7_gg_",
37
+ "_theme": "__theme_1dql7_gg_",
38
+ "_expanded": "__expanded_1dql7_gg_",
39
+ "_accordionType_row": "_accordionType_row_1dql7_gg_",
40
+ "_accordionType_cell": "_accordionType_cell_1dql7_gg_",
41
+ "_withAccordion": "__withAccordion_1dql7_gg_",
42
+ "_theme_muted": "_theme_muted_1dql7_gg_",
43
+ "_theme_info": "_theme_info_1dql7_gg_",
44
+ "_theme_success": "_theme_success_1dql7_gg_",
45
+ "_theme_warning": "_theme_warning_1dql7_gg_",
46
+ "_theme_danger": "_theme_danger_1dql7_gg_",
47
+ "_borders_both": "_borders_both_1dql7_gg_",
48
+ "_borders_left": "_borders_left_1dql7_gg_",
49
+ "_borders_right": "_borders_right_1dql7_gg_",
50
+ "_fixed": "__fixed_1dql7_gg_",
51
+ "__SSpinContainer": "___SSpinContainer_1dql7_gg_",
52
+ "_headerHeight": "__headerHeight_1dql7_gg_",
53
+ "--headerHeight": "--headerHeight_1dql7",
54
+ "_compact": "__compact_1dql7_gg_",
55
+ "--data-aria-level": "--data-aria-level_1dql7",
56
+ "__SAccordionToggle": "___SAccordionToggle_1dql7_gg_",
57
+ "_use_primary": "_use_primary_1dql7_gg_",
58
+ "_use_secondary": "_use_secondary_1dql7_gg_"
55
59
  });
60
+ var ROWS_BUFFER = 20;
61
+ var APROX_ROWS_ON_PAGE = 20;
56
62
  var BodyRoot = /*#__PURE__*/function (_Component) {
57
63
  (0, _inherits2["default"])(BodyRoot, _Component);
58
64
  var _super = (0, _createSuper2["default"])(BodyRoot);
@@ -63,44 +69,69 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
63
69
  args[_key] = arguments[_key];
64
70
  }
65
71
  _this = _super.call.apply(_super, [this].concat(args));
66
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onExpandRow", function (expandedRowIndex) {
67
- var expandedRows = _this.asProps.expandedRows;
68
- if (expandedRows !== null && expandedRows !== void 0 && expandedRows.includes(expandedRowIndex)) {
69
- _this.handlers.expandedRows(expandedRows.filter(function (row) {
70
- return row !== expandedRowIndex;
71
- }));
72
- } else {
73
- _this.handlers.expandedRows([].concat((0, _toConsumableArray2["default"])(expandedRows), [expandedRowIndex]));
74
- }
72
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "columnsSplitter", '/');
73
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rows", []);
74
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rowsHeightMap", new Map());
75
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "indexForDownIterate", 0);
76
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "indexForUpIterate", 0);
77
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRef", function (index) {
78
+ return function (node) {
79
+ if (!_this.rowsHeightMap.has(index)) {
80
+ var firstChild = node === null || node === void 0 ? void 0 : node.children.item(0);
81
+ if (firstChild instanceof HTMLElement) {
82
+ var offset = firstChild.offsetTop - _this.asProps.headerHeight;
83
+ var height = firstChild.getBoundingClientRect().height;
84
+ _this.rowsHeightMap.set(index, [offset, offset + height]);
85
+ }
86
+ }
87
+ };
75
88
  });
76
89
  return _this;
77
90
  }
78
91
  (0, _createClass2["default"])(BodyRoot, [{
79
- key: "uncontrolledProps",
80
- value: function uncontrolledProps() {
81
- return {
82
- expandedRows: []
83
- };
92
+ key: "componentDidMount",
93
+ value: function componentDidMount() {
94
+ this.rows = this.calculateRows();
95
+ this.forceUpdate();
96
+ }
97
+ }, {
98
+ key: "componentDidUpdate",
99
+ value: function componentDidUpdate(prevProps) {
100
+ if (prevProps.data !== this.asProps.data) {
101
+ this.rows = this.calculateRows();
102
+ this.forceUpdate();
103
+ }
84
104
  }
85
105
  }, {
86
106
  key: "getRowProps",
87
- value: function getRowProps(_, index) {
107
+ value: function getRowProps(props, i) {
108
+ var _this2 = this;
88
109
  var _this$asProps = this.asProps,
89
- rows = _this$asProps.rows,
90
110
  use = _this$asProps.use,
91
111
  gridTemplateAreas = _this$asProps.gridTemplateAreas,
92
112
  gridTemplateColumns = _this$asProps.gridTemplateColumns,
93
113
  expandedRows = _this$asProps.expandedRows,
94
114
  columns = _this$asProps.columns,
95
- headerRows = _this$asProps.headerRows;
96
- var row = rows[index];
115
+ onExpandRow = _this$asProps.onExpandRow,
116
+ loading = _this$asProps.loading,
117
+ hasGroups = _this$asProps.hasGroups;
118
+ var row = props.row;
119
+ var index = props.offset + i;
97
120
  var rowIndex = (expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function (acc, item) {
98
121
  if (item < index) {
99
- acc = acc + 1;
122
+ var expandedRow = _this2.rows.flat()[item][_DataTable.ACCORDION];
123
+ if (Array.isArray(expandedRow)) {
124
+ acc = acc + expandedRow.length;
125
+ } else {
126
+ acc = acc + 1;
127
+ }
100
128
  }
101
129
  return acc;
102
130
  }, index);
103
- var accordionDataGridArea = Array.isArray(row[_DataTable.ACCORDION]) ? "".concat(rowIndex + headerRows + 2, " / 1 / ").concat(rowIndex + headerRows + 2 + row[_DataTable.ACCORDION].length, " / ").concat(columns.length + 1) : "".concat(rowIndex + headerRows + 2, " / 1 / ").concat(rowIndex + headerRows + 2, " / ").concat(columns.length + 1);
131
+ var gridRowIndex = rowIndex + (hasGroups ? 3 : 2); // 1 - for header, 1 - because start not from 0, but from 1
132
+ var ariaRowIndex = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1
133
+
134
+ var accordionDataGridArea = Array.isArray(row[_DataTable.ACCORDION]) ? "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1 + row[_DataTable.ACCORDION].length, " / ").concat(columns.length + 1) : "".concat(gridRowIndex + 1, " / 1 / ").concat(gridRowIndex + 1, " / ").concat(columns.length + 1);
104
135
  return {
105
136
  use: use,
106
137
  gridTemplateAreas: gridTemplateAreas,
@@ -108,106 +139,314 @@ var BodyRoot = /*#__PURE__*/function (_Component) {
108
139
  expanded: expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.includes(index),
109
140
  accordionDataGridArea: accordionDataGridArea,
110
141
  columns: columns,
111
- headerRows: headerRows,
112
142
  rowIndex: index,
113
- rows: rows
143
+ ariaRowIndex: ariaRowIndex,
144
+ gridRowIndex: gridRowIndex,
145
+ rows: this.rows,
146
+ row: row,
147
+ expandedRows: expandedRows,
148
+ onExpandRow: onExpandRow,
149
+ inert: loading ? '' : undefined
114
150
  };
115
151
  }
116
152
  }, {
117
153
  key: "getCellProps",
118
154
  value: function getCellProps(props) {
119
- var _this2 = this;
155
+ var _props$children;
120
156
  var _this$asProps2 = this.asProps,
121
157
  use = _this$asProps2.use,
122
158
  renderCell = _this$asProps2.renderCell,
123
159
  expandedRows = _this$asProps2.expandedRows,
124
160
  styles = _this$asProps2.styles,
125
- getI18nText = _this$asProps2.getI18nText;
161
+ getI18nText = _this$asProps2.getI18nText,
162
+ onExpandRow = _this$asProps2.onExpandRow,
163
+ virtualScroll = _this$asProps2.virtualScroll,
164
+ tableRef = _this$asProps2.tableRef;
126
165
  var SAccordionToggle = _button.ButtonLink;
127
- var cellValue = props.row[props.name];
128
- var value = '';
129
- if (cellValue instanceof _MergedCells.MergedRowsCell || cellValue instanceof _MergedCells.MergedColumnsCell) {
166
+ var dataKey = props.column.name;
167
+ var cellValue = props.row[dataKey];
168
+ var value = undefined;
169
+ var isMergedRows = cellValue instanceof _MergedCells.MergedRowsCell;
170
+ var isMergedColumns = cellValue instanceof _MergedCells.MergedColumnsCell;
171
+ if (isMergedColumns || isMergedRows) {
130
172
  value = cellValue.value;
173
+ if (isMergedColumns) {
174
+ dataKey = cellValue.dataKey;
175
+ }
131
176
  } else {
132
177
  value = cellValue;
133
178
  }
134
179
  var defaultRender = function defaultRender() {
135
- if (props.columnIndex === 0 && props.row[_DataTable.ACCORDION]) {
136
- var _ref2;
180
+ var _value, _value3;
181
+ if (props.columnIndex === 0 && props.row[_DataTable.ACCORDION] || (_value = value) !== null && _value !== void 0 && _value[_DataTable.ACCORDION]) {
182
+ var _ref2, _value2;
137
183
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SAccordionToggle, _ref2.cn("SAccordionToggle", {
138
184
  "aria-label": getI18nText('DataTable.Cell.AccordionToggle.expand:aria-label'),
139
185
  "expanded": expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.includes(props.rowIndex),
140
186
  "onClick": function onClick() {
141
- return _this2.onExpandRow(props.rowIndex);
187
+ return onExpandRow(props.rowIndex);
142
188
  },
143
189
  "color": '--intergalactic-icon-primary-neutral'
144
190
  }), /*#__PURE__*/React.createElement(SAccordionToggle.Addon, {
145
191
  tag: _m["default"]
146
- })), value);
192
+ })), (_value2 = value) === null || _value2 === void 0 ? void 0 : _value2.toString());
147
193
  }
148
- return value;
194
+ return (_value3 = value) === null || _value3 === void 0 ? void 0 : _value3.toString();
149
195
  };
150
- return {
196
+ var extraProps = {
151
197
  use: use,
152
- children: renderCell ? renderCell({
153
- name: props.name,
198
+ virtualScroll: Boolean(virtualScroll),
199
+ tableRef: tableRef,
200
+ children: (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : defaultRender()
201
+ };
202
+ if (renderCell) {
203
+ var _value$toString, _value4;
204
+ var external = renderCell({
205
+ columnName: props.column.name,
154
206
  row: props.row,
155
207
  column: props.column,
156
208
  rowIndex: props.rowIndex,
157
209
  columnIndex: props.columnIndex,
210
+ dataKey: dataKey,
158
211
  defaultRender: defaultRender,
159
- value: value
160
- }) : defaultRender()
161
- };
212
+ value: (_value$toString = (_value4 = value) === null || _value4 === void 0 ? void 0 : _value4.toString()) !== null && _value$toString !== void 0 ? _value$toString : '',
213
+ isMergedRows: isMergedRows,
214
+ isMergedColumns: isMergedColumns
215
+ });
216
+ if (this.isReactNode(external) || Array.isArray(external)) {
217
+ extraProps.children = external;
218
+ } else {
219
+ for (var key in external) {
220
+ extraProps[key] = external[key];
221
+ }
222
+ }
223
+ }
224
+ return extraProps;
162
225
  }
163
226
  }, {
164
227
  key: "render",
165
228
  value: function render() {
166
229
  var _ref = this.asProps,
167
- _ref3;
230
+ _ref3,
231
+ _this3 = this;
168
232
  var SBody = _baseComponents.Box;
233
+ var SRowGroup = _baseComponents.Box;
169
234
  var SSpinContainer = _baseComponents.Box;
170
235
  var _this$asProps3 = this.asProps,
171
- rows = _this$asProps3.rows,
172
- columns = _this$asProps3.columns,
173
236
  styles = _this$asProps3.styles,
174
- headerRows = _this$asProps3.headerRows,
175
237
  loading = _this$asProps3.loading,
176
- headerHeight = _this$asProps3.headerHeight;
177
- return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(SBody, _ref3.cn("SBody", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref))), rows.map(function (row, index) {
178
- return (
179
- /*#__PURE__*/
180
- // @ts-ignore
181
- React.createElement(Body.Row, {
182
- key: index,
183
- role: 'row',
184
- "aria-rowindex": index + 2
185
- // columns={columns}
186
- ,
187
- row: row
188
- // rows={rows}
189
- // rowIndex={index}
190
- // headerRows={headerRows}
191
- })
192
- );
193
- }), loading &&
194
- /*#__PURE__*/
195
- // @ts-ignore
196
- React.createElement(SSpinContainer, _ref3.cn("SSpinContainer", {
197
- "aria-hidden": true,
198
- "headerHeight": "".concat(headerHeight, "px")
238
+ headerHeight = _this$asProps3.headerHeight,
239
+ spinnerRef = _this$asProps3.spinnerRef,
240
+ virtualScroll = _this$asProps3.virtualScroll,
241
+ scrollDirection = _this$asProps3.scrollDirection,
242
+ tableContainerRef = _this$asProps3.tableContainerRef,
243
+ scrollTop = _this$asProps3.scrollTop;
244
+ var rowsToRender = this.rows;
245
+ var startIndex = -1;
246
+ var lastIndex = -1;
247
+ if (virtualScroll) {
248
+ var _virtualScroll$rowsBu, _tableContainerRef$cu, _tableContainerRef$cu2;
249
+ var rowsBuffer = typeof virtualScroll !== 'boolean' && 'rowsBuffer' in virtualScroll ? (_virtualScroll$rowsBu = virtualScroll.rowsBuffer) !== null && _virtualScroll$rowsBu !== void 0 ? _virtualScroll$rowsBu : ROWS_BUFFER : ROWS_BUFFER;
250
+ 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;
251
+ var prevPrepared = scrollDirection === 'up' ? rowsBuffer : 4;
252
+ var nextPrepared = scrollDirection === 'up' ? 4 : rowsBuffer;
253
+ if (typeof virtualScroll === 'boolean' || 'aproxRowsOnPage' in virtualScroll) {
254
+ var _virtualScroll$aproxR;
255
+ var aproxRowsOnPage = typeof virtualScroll !== 'boolean' ? (_virtualScroll$aproxR = virtualScroll.aproxRowsOnPage) !== null && _virtualScroll$aproxR !== void 0 ? _virtualScroll$aproxR : APROX_ROWS_ON_PAGE : APROX_ROWS_ON_PAGE;
256
+ if (scrollDirection === 'down') {
257
+ var _this$rowsHeightMap$g, _this$rowsHeightMap$g2, _lastIndex;
258
+ for (var i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {
259
+ var value = this.rowsHeightMap.get(i);
260
+ if (!value) continue;
261
+ var key = i;
262
+ var valueFromToCompare = value[1];
263
+ var valueToToCompare = value[0];
264
+ if (startIndex === -1 && scrollTop < valueFromToCompare) {
265
+ startIndex = Math.max(key - prevPrepared, 0);
266
+ }
267
+ if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {
268
+ lastIndex = Math.min(key + nextPrepared, this.rows.length);
269
+ }
270
+ if (startIndex !== -1 && lastIndex !== -1) {
271
+ break;
272
+ }
273
+ }
274
+ 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)) {
275
+ lastIndex = lastIndex + aproxRowsOnPage;
276
+ }
277
+ } else if (scrollDirection === 'up') {
278
+ var _this$rowsHeightMap$g3, _this$rowsHeightMap$g4, _startIndex;
279
+ for (var _i = this.indexForUpIterate; _i > 0; _i--) {
280
+ var _value5 = this.rowsHeightMap.get(_i);
281
+ if (!_value5) continue;
282
+ var _key2 = _i;
283
+ var _valueFromToCompare = _value5[1];
284
+ var _valueToToCompare = _value5[0];
285
+ if (lastIndex === -1 && scrollTop + offsetHeight > _valueToToCompare) {
286
+ lastIndex = Math.min(_key2 + nextPrepared, this.rows.length);
287
+ }
288
+ if (lastIndex !== -1 && scrollTop < _valueFromToCompare) {
289
+ startIndex = Math.max(_key2 - prevPrepared, 0);
290
+ }
291
+ if (startIndex !== -1 && lastIndex !== -1) {
292
+ break;
293
+ }
294
+ }
295
+ 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)) {
296
+ startIndex = startIndex - aproxRowsOnPage;
297
+ }
298
+ }
299
+ if (startIndex === -1) {
300
+ startIndex = scrollTop === 0 ? 0 : Math.max(this.rows.length - aproxRowsOnPage, 0);
301
+ }
302
+ if (lastIndex === -1) {
303
+ lastIndex = scrollTop === 0 ? aproxRowsOnPage : this.rows.length;
304
+ }
305
+ this.indexForDownIterate = startIndex;
306
+ this.indexForUpIterate = lastIndex;
307
+ rowsToRender = this.rows.slice(startIndex, lastIndex);
308
+ } else if ('rowHeight' in virtualScroll) {
309
+ var rowHeight = virtualScroll.rowHeight;
310
+ startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);
311
+ var _lastIndex2 = Math.min(Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared, this.rows.length);
312
+ rowsToRender = this.rows.slice(startIndex, _lastIndex2);
313
+ }
314
+ }
315
+ startIndex = startIndex === -1 ? 0 : startIndex;
316
+ return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(SBody, _ref3.cn("SBody", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
317
+ "__excludeProps": ['data']
318
+ }, _ref))), rowsToRender.map(function (row, index) {
319
+ var rowMarginTop = undefined;
320
+ if (index === 0 && typeof virtualScroll === 'boolean') {
321
+ var _this3$rowsHeightMap$;
322
+ rowMarginTop = (_this3$rowsHeightMap$ = _this3.rowsHeightMap.get(startIndex - 1)) === null || _this3$rowsHeightMap$ === void 0 ? void 0 : _this3$rowsHeightMap$[1];
323
+ }
324
+ if (Array.isArray(row)) {
325
+ var _ref4;
326
+ return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(SRowGroup, _ref4.cn("SRowGroup", {
327
+ "role": 'rowgroup',
328
+ "key": index
329
+ }), row.map(function (item, i) {
330
+ return /*#__PURE__*/React.createElement(Body.Row, {
331
+ key: item[_DataTable.UNIQ_ROW_KEY],
332
+ row: item,
333
+ offset: startIndex
334
+ });
335
+ }));
336
+ }
337
+ return /*#__PURE__*/React.createElement(Body.Row, {
338
+ key: row[_DataTable.UNIQ_ROW_KEY],
339
+ row: row,
340
+ offset: startIndex,
341
+ ref: _this3.handleRef(startIndex + index),
342
+ rowMarginTop: rowMarginTop
343
+ });
344
+ }), loading && /*#__PURE__*/React.createElement(SSpinContainer, _ref3.cn("SSpinContainer", {
345
+ "innerOutline": true,
346
+ "headerHeight": "".concat(headerHeight, "px"),
347
+ "tabIndex": -1,
348
+ "ref": spinnerRef,
349
+ "role": 'row'
199
350
  }), /*#__PURE__*/React.createElement(_spin["default"], _ref3.cn("Spin", {
200
- "size": 'xxl'
351
+ "size": 'xxl',
352
+ "role": 'gridcell'
201
353
  }))));
202
354
  }
355
+ }, {
356
+ key: "isReactNode",
357
+ value: function isReactNode(obj) {
358
+ return typeof obj === 'string' || typeof obj === 'number' || /*#__PURE__*/React.isValidElement(obj) || typeof obj === 'boolean' || obj === undefined || obj === null;
359
+ }
360
+ }, {
361
+ key: "calculateRows",
362
+ value: function calculateRows() {
363
+ var _this4 = this;
364
+ var _this$asProps4 = this.asProps,
365
+ data = _this$asProps4.data,
366
+ uid = _this$asProps4.uid,
367
+ columns = _this$asProps4.columns;
368
+ var rows = [];
369
+ var columnNames = columns.map(function (column) {
370
+ return column.name;
371
+ });
372
+ var rowIndex = 0;
373
+ var id = 100000000; // need this for gen keys by toString(36)
374
+
375
+ var makeDtRow = function makeDtRow(row, excludeColumns) {
376
+ var columns = new Set(columnNames);
377
+ var dtRow = Object.entries(row).reduce(function (acc, _ref5) {
378
+ var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
379
+ key = _ref6[0],
380
+ value = _ref6[1];
381
+ var columnsToRow = key.split(_this4.columnsSplitter);
382
+ if (columnsToRow.length === 1) {
383
+ acc[key] = value !== null && value !== void 0 ? value : '';
384
+ columns["delete"](key);
385
+ } else {
386
+ acc[columnsToRow[0]] = new _MergedCells.MergedColumnsCell(value, {
387
+ dataKey: key,
388
+ size: columnsToRow.length
389
+ });
390
+ columnsToRow.forEach(function (value) {
391
+ columns["delete"](value);
392
+ });
393
+ }
394
+ if (row[_DataTable.ACCORDION]) {
395
+ acc[_DataTable.ACCORDION] = row[_DataTable.ACCORDION];
396
+ }
397
+ return acc;
398
+ }, (0, _defineProperty2["default"])({}, _DataTable.UNIQ_ROW_KEY, "".concat(uid, "_").concat((rowIndex + id).toString(36))));
399
+ excludeColumns === null || excludeColumns === void 0 ? void 0 : excludeColumns.forEach(function (value) {
400
+ columns["delete"](value);
401
+ });
402
+ if (columns.size > 0) {
403
+ columns.forEach(function (value) {
404
+ dtRow[value] = '';
405
+ });
406
+ }
407
+ return dtRow;
408
+ };
409
+ data.forEach(function (row) {
410
+ var groupedRows = row[_DataTable.ROW_GROUP];
411
+ var fromRow = rowIndex + 2; // 1 - for header, 1 - because start not from 0, but from 1
412
+
413
+ if (groupedRows) {
414
+ var toRow = fromRow + groupedRows.length;
415
+ var innerRows = [];
416
+ var groupedKeys = [];
417
+ var groupedRowData = Object.entries(row).reduce(function (acc, _ref7) {
418
+ var _ref8 = (0, _slicedToArray2["default"])(_ref7, 2),
419
+ key = _ref8[0],
420
+ value = _ref8[1];
421
+ acc[key] = new _MergedCells.MergedRowsCell(value, [fromRow, toRow]);
422
+ groupedKeys.push(key);
423
+ return acc;
424
+ }, (0, _defineProperty2["default"])({}, _DataTable.UNIQ_ROW_KEY, ''));
425
+ groupedRows.forEach(function (childRow, index) {
426
+ var dtRow;
427
+ if (index === 0) {
428
+ var rowData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, childRow), groupedRowData);
429
+ dtRow = makeDtRow(rowData);
430
+ } else {
431
+ dtRow = makeDtRow(childRow, groupedKeys);
432
+ }
433
+ innerRows.push(dtRow);
434
+ rowIndex++;
435
+ });
436
+ rows.push(innerRows);
437
+ } else {
438
+ var dtRow = makeDtRow(row);
439
+ rows.push(dtRow);
440
+ rowIndex++;
441
+ }
442
+ });
443
+ return rows;
444
+ }
203
445
  }]);
204
446
  return BodyRoot;
205
447
  }(_core.Component);
206
448
  (0, _defineProperty2["default"])(BodyRoot, "displayName", 'Body');
207
449
  (0, _defineProperty2["default"])(BodyRoot, "style", style);
208
- (0, _defineProperty2["default"])(BodyRoot, "defaultProps", {
209
- defaultExpandedRows: []
210
- });
211
450
  var Body = (0, _core.createComponent)(BodyRoot, {
212
451
  Row: _Row.Row,
213
452
  Cell: _Cell.Cell