@semcore/data-table 16.0.0-prerelease.9 → 16.0.0

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 (138) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components/Body/Body.js +436 -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 +194 -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 +244 -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 +257 -0
  17. package/lib/cjs/components/DataTable/DataTable.js +981 -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 +316 -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 +115 -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 +205 -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 +176 -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 +39 -5
  38. package/lib/cjs/translations/en.json +6 -1
  39. package/lib/cjs/utils.js +16 -7
  40. package/lib/cjs/utils.js.map +1 -1
  41. package/lib/es6/components/Body/Body.js +429 -0
  42. package/lib/es6/components/Body/Body.js.map +1 -0
  43. package/lib/es6/components/Body/Body.types.js +2 -0
  44. package/lib/es6/components/Body/Body.types.js.map +1 -0
  45. package/lib/es6/components/Body/Cell.js +187 -0
  46. package/lib/es6/components/Body/Cell.js.map +1 -0
  47. package/lib/es6/components/Body/Cell.types.js +2 -0
  48. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  49. package/lib/es6/components/Body/MergedCells.js +20 -0
  50. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  51. package/lib/es6/components/Body/Row.js +237 -0
  52. package/lib/es6/components/Body/Row.js.map +1 -0
  53. package/lib/es6/components/Body/Row.types.js +2 -0
  54. package/lib/es6/components/Body/Row.types.js.map +1 -0
  55. package/lib/es6/components/Body/style.shadow.css +257 -0
  56. package/lib/es6/components/DataTable/DataTable.js +970 -0
  57. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  58. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  59. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  60. package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
  61. package/lib/es6/components/Head/Column.js +309 -0
  62. package/lib/es6/components/Head/Column.js.map +1 -0
  63. package/lib/es6/components/Head/Column.types.js +2 -0
  64. package/lib/es6/components/Head/Column.types.js.map +1 -0
  65. package/lib/es6/components/Head/Group.js +108 -0
  66. package/lib/es6/components/Head/Group.js.map +1 -0
  67. package/lib/es6/components/Head/Group.type.js +2 -0
  68. package/lib/es6/components/Head/Group.type.js.map +1 -0
  69. package/lib/es6/components/Head/Head.js +199 -0
  70. package/lib/es6/components/Head/Head.js.map +1 -0
  71. package/lib/es6/components/Head/Head.types.js +2 -0
  72. package/lib/es6/components/Head/Head.types.js.map +1 -0
  73. package/lib/es6/components/Head/style.shadow.css +176 -0
  74. package/lib/es6/index.js +5 -2
  75. package/lib/es6/index.js.map +1 -1
  76. package/lib/es6/style/scroll-shadows.shadow.css +39 -5
  77. package/lib/es6/translations/en.json +6 -1
  78. package/lib/es6/utils.js +14 -6
  79. package/lib/es6/utils.js.map +1 -1
  80. package/lib/esm/components/Body/Body.mjs +392 -0
  81. package/lib/esm/components/Body/Cell.mjs +185 -0
  82. package/lib/esm/components/Body/MergedCells.mjs +23 -0
  83. package/lib/esm/components/Body/Row.mjs +218 -0
  84. package/lib/esm/components/Body/style.shadow.css +257 -0
  85. package/lib/esm/components/DataTable/DataTable.mjs +904 -0
  86. package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
  87. package/lib/esm/components/Head/Column.mjs +299 -0
  88. package/lib/esm/components/Head/Group.mjs +102 -0
  89. package/lib/esm/components/Head/Head.mjs +180 -0
  90. package/lib/esm/components/Head/style.shadow.css +176 -0
  91. package/lib/esm/index.mjs +8 -5
  92. package/lib/esm/style/scroll-shadows.shadow.css +41 -0
  93. package/lib/esm/translations/en.json.mjs +6 -1
  94. package/lib/esm/utils.mjs +6 -15
  95. package/lib/types/components/Body/Body.d.ts +8 -0
  96. package/lib/types/components/Body/Body.types.d.ts +56 -0
  97. package/lib/types/components/Body/Cell.d.ts +3 -0
  98. package/lib/types/components/Body/Cell.types.d.ts +20 -0
  99. package/lib/types/components/Body/MergedCells.d.ts +14 -0
  100. package/lib/types/components/Body/Row.d.ts +3 -0
  101. package/lib/types/components/Body/Row.types.d.ts +42 -0
  102. package/lib/types/components/DataTable/DataTable.d.ts +12 -0
  103. package/lib/types/components/DataTable/DataTable.types.d.ts +118 -0
  104. package/lib/types/components/Head/Column.d.ts +30 -0
  105. package/lib/types/components/Head/Column.types.d.ts +82 -0
  106. package/lib/types/components/Head/Group.d.ts +15 -0
  107. package/lib/types/components/Head/Group.type.d.ts +16 -0
  108. package/lib/types/components/Head/Head.d.ts +98 -0
  109. package/lib/types/components/Head/Head.types.d.ts +35 -0
  110. package/lib/types/index.d.ts +10 -2
  111. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
  112. package/lib/types/utils.d.ts +8 -4
  113. package/package.json +11 -6
  114. package/vite.config.ts +0 -3
  115. package/lib/cjs/Body.js +0 -475
  116. package/lib/cjs/Body.js.map +0 -1
  117. package/lib/cjs/DataTable.js +0 -622
  118. package/lib/cjs/DataTable.js.map +0 -1
  119. package/lib/cjs/Head.js +0 -399
  120. package/lib/cjs/Head.js.map +0 -1
  121. package/lib/cjs/style/data-table.shadow.css +0 -394
  122. package/lib/cjs/types.js.map +0 -1
  123. package/lib/es6/Body.js +0 -468
  124. package/lib/es6/Body.js.map +0 -1
  125. package/lib/es6/DataTable.js +0 -614
  126. package/lib/es6/DataTable.js.map +0 -1
  127. package/lib/es6/Head.js +0 -391
  128. package/lib/es6/Head.js.map +0 -1
  129. package/lib/es6/style/data-table.shadow.css +0 -394
  130. package/lib/es6/types.js +0 -2
  131. package/lib/es6/types.js.map +0 -1
  132. package/lib/esm/Body.mjs +0 -427
  133. package/lib/esm/DataTable.mjs +0 -582
  134. package/lib/esm/Head.mjs +0 -369
  135. package/lib/types/Body.d.ts +0 -61
  136. package/lib/types/DataTable.d.ts +0 -205
  137. package/lib/types/Head.d.ts +0 -45
  138. package/lib/types/types.d.ts +0 -73
package/lib/es6/utils.js CHANGED
@@ -1,14 +1,22 @@
1
1
  export var getScrollOffsetValue = function getScrollOffsetValue(columns) {
2
2
  return columns.reduce(function (acc, column) {
3
3
  if (column.fixed === 'left') {
4
- acc[0] += column.width;
4
+ acc[0] += column.calculatedWidth;
5
5
  }
6
6
  if (column.fixed === 'right') {
7
- acc[1] += column.width;
7
+ acc[1] += column.calculatedWidth;
8
8
  }
9
9
  return acc;
10
10
  }, [0, 0]);
11
11
  };
12
+ var cssVarReg = /[:;\W]/g;
13
+ export var createCssVarForWidth = function createCssVarForWidth(name) {
14
+ return "--".concat(name.replace(cssVarReg, '_'), "_width");
15
+ };
16
+
17
+ /**
18
+ * todo: Remove after v16
19
+ */
12
20
  export var flattenColumns = function flattenColumns(columns) {
13
21
  return columns.reduce(function (acc, column) {
14
22
  var hasNestedColumns = 'columns' in column && column.columns.length > 0;
@@ -40,9 +48,9 @@ export var getFixedStyle = function getFixedStyle(cell, columns) {
40
48
  };
41
49
  var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
42
50
  if (columnsFixed.length < 1) return [side, 0];
43
- var vars = columnsFixed.map(function (column) {
44
- return "var(--".concat(column.name, "_width)");
45
- });
46
- return [side, vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")];
51
+ var sum = columnsFixed.reduce(function (acc, column) {
52
+ return acc + column.calculatedWidth;
53
+ }, 0);
54
+ return [side, "".concat(sum, "px")];
47
55
  };
48
56
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","width","flattenColumns","hasNestedColumns","length","concat","getFixedStyle","cell","side","undefined","names","name","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","vars","map","join"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { Column } from './types';\n\nexport const getScrollOffsetValue = (columns: Column[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.width;\n }\n if (column.fixed === 'right') {\n acc[1] += column.width;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nexport const flattenColumns = (columns: Column[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: Column[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as Column[]);\n\nexport const getFixedStyle = (\n cell: Pick<Column, 'name' | 'fixed'>,\n columns: Column[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index + 1,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const vars = columnsFixed.map((column) => `var(--${column.name}_width)`);\n return [side, vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`];\n};\n"],"mappings":"AAEA,OAAO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,OAAiB;EAAA,OACpDA,OAAO,CAACC,MAAM,CACZ,UAACC,GAAG,EAAEC,MAAM,EAAK;IACf,IAAIA,MAAM,CAACC,KAAK,KAAK,MAAM,EAAE;MAC3BF,GAAG,CAAC,CAAC,CAAC,IAAIC,MAAM,CAACE,KAAK;IACxB;IACA,IAAIF,MAAM,CAACC,KAAK,KAAK,OAAO,EAAE;MAC5BF,GAAG,CAAC,CAAC,CAAC,IAAIC,MAAM,CAACE,KAAK;IACxB;IACA,OAAOH,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,EAAE,CAAC,CAAC,CACP;AAAA;AAEH,OAAO,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,CAAIN,OAAiB;EAAA,OAC9CA,OAAO,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,MAAM,EAAK;IAC9B,IAAMI,gBAAgB,GAAG,SAAS,IAAIJ,MAAM,IAAIA,MAAM,CAACH,OAAO,CAACQ,MAAM,GAAG,CAAC;IACzE,IAAMR,OAAiB,GAAGO,gBAAgB,GAAGD,cAAc,CAACH,MAAM,CAACH,OAAO,CAAC,GAAG,CAACG,MAAM,CAAC;IACtFD,GAAG,GAAGA,GAAG,CAACO,MAAM,CAACT,OAAO,CAAC;IACzB,OAAOE,GAAG;EACZ,CAAC,EAAE,EAAE,CAAa;AAAA;AAEpB,OAAO,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,IAAoC,EACpCX,OAAiB,EAC0E;EAC3F,IAAMY,IAAI,GAAGD,IAAI,CAACP,KAAK;EACvB,IAAI,CAACQ,IAAI,EAAE,OAAO,CAACC,SAAS,EAAEA,SAAS,CAAC;EACxC,IAAMC,KAAK,GAAGH,IAAI,CAACI,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC;EAClC,IAAMC,WAAW,GAAG;IAClBC,IAAI,EAAEJ,KAAK,CAAC,CAAC,CAAC;IACdK,KAAK,EAAEL,KAAK,CAACA,KAAK,CAACN,MAAM,GAAG,CAAC;EAC/B,CAAC;EACD,IAAMO,IAAI,GAAGE,WAAW,CAACL,IAAI,CAAC;EAC9B,IAAMQ,KAAK,GAAGpB,OAAO,CAACqB,SAAS,CAAC,UAAClB,MAAM;IAAA,OAAKA,MAAM,CAACY,IAAI,KAAKA,IAAI;EAAA,EAAC;EAEjE,IAAIK,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO,CAACP,SAAS,EAAEA,SAAS,CAAC;EAE/C,IAAMS,iBAAiB,GAAG;IACxBJ,IAAI,EAAE,CAAC;IACPC,KAAK,EAAEC,KAAK,GAAG;EACjB,CAAC;EACD,IAAMG,eAAe,GAAG;IACtBL,IAAI,EAAEE,KAAK;IACXD,KAAK,EAAEnB,OAAO,CAACQ;EACjB,CAAC;EACD,IAAMgB,YAAY,GAAGxB,OAAO,CAACyB,KAAK,CAACH,iBAAiB,CAACV,IAAI,CAAC,EAAEW,eAAe,CAACX,IAAI,CAAC,CAAC;EAElF,IAAIY,YAAY,CAAChB,MAAM,GAAG,CAAC,EAAE,OAAO,CAACI,IAAI,EAAE,CAAC,CAAC;EAE7C,IAAMc,IAAI,GAAGF,YAAY,CAACG,GAAG,CAAC,UAACxB,MAAM;IAAA,gBAAAM,MAAA,CAAcN,MAAM,CAACY,IAAI;EAAA,CAAS,CAAC;EACxE,OAAO,CAACH,IAAI,EAAEc,IAAI,CAAClB,MAAM,KAAK,CAAC,GAAGkB,IAAI,CAAC,CAAC,CAAC,WAAAjB,MAAA,CAAWiB,IAAI,CAACE,IAAI,CAAC,KAAK,CAAC,MAAG,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"utils.js","names":["getScrollOffsetValue","columns","reduce","acc","column","fixed","calculatedWidth","cssVarReg","createCssVarForWidth","name","concat","replace","flattenColumns","hasNestedColumns","length","getFixedStyle","cell","side","undefined","names","split","nameSideMap","left","right","index","findIndex","startIndexSideMap","endIndexSideMap","columnsFixed","slice","sum"],"sources":["../../src/utils.ts"],"sourcesContent":["import type { DTColumn } from './components/Head/Column.types';\n\nexport const getScrollOffsetValue = (columns: DTColumn[]) =>\n columns.reduce(\n (acc, column) => {\n if (column.fixed === 'left') {\n acc[0] += column.calculatedWidth;\n }\n if (column.fixed === 'right') {\n acc[1] += column.calculatedWidth;\n }\n return acc;\n },\n [0, 0] as [leftOffset: number, rightOffset: number],\n );\n\nconst cssVarReg = /[:;\\W]/g;\n\nexport const createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\n/**\n * todo: Remove after v16\n */\nexport const flattenColumns = (columns: any[]) =>\n columns.reduce((acc, column) => {\n const hasNestedColumns = 'columns' in column && column.columns.length > 0;\n const columns: any[] = hasNestedColumns ? flattenColumns(column.columns) : [column];\n acc = acc.concat(columns);\n return acc;\n }, [] as any[]);\n\nexport const getFixedStyle = (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n columns: DTColumn[],\n): [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined] => {\n const side = cell.fixed;\n if (!side) return [undefined, undefined];\n const names = cell.name.split('/');\n const nameSideMap = {\n left: names[0],\n right: names[names.length - 1],\n };\n const name = nameSideMap[side];\n const index = columns.findIndex((column) => column.name === name);\n\n if (index === -1) return [undefined, undefined];\n\n const startIndexSideMap = {\n left: 0,\n right: index + 1,\n };\n const endIndexSideMap = {\n left: index,\n right: columns.length,\n };\n const columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);\n\n if (columnsFixed.length < 1) return [side, 0];\n\n const sum = columnsFixed.reduce((acc, column) => acc + column.calculatedWidth, 0);\n return [side, `${sum}px`];\n};\n"],"mappings":"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"}
@@ -0,0 +1,392 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import { sstyled, createComponent, assignProps, Component } from "@semcore/core";
9
+ import * as React from "react";
10
+ import { Box } from "@semcore/base-components";
11
+ import { Row } from "./Row.mjs";
12
+ import { Cell } from "./Cell.mjs";
13
+ import { MergedColumnsCell, MergedRowsCell } from "./MergedCells.mjs";
14
+ import { ROW_INDEX, UNIQ_ROW_KEY, ACCORDION } from "../DataTable/DataTable.mjs";
15
+ import ChevronRightM from "@semcore/icon/ChevronRight/m";
16
+ import { ButtonLink } from "@semcore/button";
17
+ import Spin from "@semcore/spin";
18
+ import { isInteractiveElement } from "@semcore/core/lib/utils/isInteractiveElement";
19
+ /*!__reshadow-styles__:"./style.shadow.css"*/
20
+ var style = (
21
+ /*__reshadow_css_start__*/
22
+ (sstyled.insert(
23
+ /*__inner_css_start__*/
24
+ '.___SBody_49gvg_gg_,.___SRowGroup_49gvg_gg_,.___SRow_49gvg_gg_{display:contents}.___SBody_49gvg_gg_.__compact_49gvg_gg_ .___SCell_49gvg_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SBody_49gvg_gg_.__compact_49gvg_gg_ .___SCell_49gvg_gg_[data-aria-level]{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + (var(--intergalactic-spacing-5x, 20px)*(var(--data-aria-level_49gvg) - 1)))}.___SCell_49gvg_gg_.__gridArea_49gvg_gg_,.___SCollapseRow_49gvg_gg_.__gridArea_49gvg_gg_,.___SRow_49gvg_gg_.__gridArea_49gvg_gg_{grid-area:var(--gridArea_49gvg)}.___SCollapseRow_49gvg_gg_ .___SCell_49gvg_gg_{display:block}.___SRow_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_.__expanded_49gvg_gg_._accordionType_cell_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_).__withAccordion_49gvg_gg_,.___SRow_49gvg_gg_.__expanded_49gvg_gg_._accordionType_row_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SCollapseRow_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_.__expanded_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-accordion, #f4f5f9)}@media (hover:hover){.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_muted_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_muted_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_muted_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_muted_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_._theme_muted_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_muted_49gvg_gg_,.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_info_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_info_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_info_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_info_49gvg_gg_,.___SRow_49gvg_gg_._theme_info_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_info_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_success_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_success_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_success_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_success_49gvg_gg_,.___SRow_49gvg_gg_._theme_success_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_success_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_warning_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_warning_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_warning_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_warning_49gvg_gg_,.___SRow_49gvg_gg_._theme_warning_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_warning_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_._theme_danger_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_[data-grouped-by=rowgroup]._theme_danger_49gvg_gg_,.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_._theme_danger_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRowGroup_49gvg_gg_:has(.___SCell_49gvg_gg_[data-grouped-by=rowgroup]:hover)>.___SRow_49gvg_gg_>.___SCell_49gvg_gg_._theme_danger_49gvg_gg_,.___SRow_49gvg_gg_._theme_danger_49gvg_gg_:hover>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_),.___SRow_49gvg_gg_:hover>.___SCell_49gvg_gg_._theme_danger_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_49gvg_gg_._theme_muted_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SRow_49gvg_gg_._theme_muted_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-active, #e6e7ed)}.___SRow_49gvg_gg_._theme_info_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_49gvg_gg_._theme_info_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-selected-active, #c4e5fe)}.___SRow_49gvg_gg_._theme_success_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_49gvg_gg_._theme_success_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-new-active, #9ef2c9)}.___SRow_49gvg_gg_._theme_warning_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_49gvg_gg_._theme_warning_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-warning-active, #ffdca2)}.___SRow_49gvg_gg_._theme_danger_49gvg_gg_ .___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_49gvg_gg_._theme_danger_49gvg_gg_.__active_49gvg_gg_>.___SCell_49gvg_gg_:not(.__theme_49gvg_gg_){background-color:var(--intergalactic-table-td-cell-critical-active, #ffd7df)}.___SCell_49gvg_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_49gvg_gg_ .___SAccordionToggle_49gvg_gg_{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SCell_49gvg_gg_ .___SAccordionToggle_49gvg_gg_ svg{transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out}.___SCell_49gvg_gg_ .___SAccordionToggle_49gvg_gg_.__expanded_49gvg_gg_ svg{transform:rotate(90deg)}.___SCell_49gvg_gg_._use_primary_49gvg_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_49gvg_gg_._use_primary_49gvg_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_49gvg) - 1)))}.___SCell_49gvg_gg_._use_secondary_49gvg_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_49gvg_gg_._use_secondary_49gvg_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_49gvg) - 1)))}.___SCell_49gvg_gg_._borders_both_49gvg_gg_,.___SCell_49gvg_gg_._borders_left_49gvg_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_49gvg_gg_._borders_both_49gvg_gg_,.___SCell_49gvg_gg_._borders_right_49gvg_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_49gvg_gg_.__fixed_49gvg_gg_{position:sticky;z-index:2}.___SCell_49gvg_gg_._theme_muted_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_49gvg_gg_._theme_info_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_49gvg_gg_._theme_success_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_49gvg_gg_._theme_warning_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_49gvg_gg_._theme_danger_49gvg_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SSpinContainer_49gvg_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_49gvg_gg_.__headerHeight_49gvg_gg_{top:var(--headerHeight_49gvg)}.___SEmptyData_49gvg_gg_{grid-column:1/-1}.___SRow_49gvg_gg_._sideIndents_l_49gvg_gg_ .___SCell_49gvg_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SRow_49gvg_gg_._sideIndents_l_49gvg_gg_ .___SCell_49gvg_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}',
25
+ /*__inner_css_end__*/
26
+ "49gvg_gg_"
27
+ ), /*__reshadow_css_end__*/
28
+ {
29
+ "__SBody": "___SBody_49gvg_gg_",
30
+ "__SRow": "___SRow_49gvg_gg_",
31
+ "__SRowGroup": "___SRowGroup_49gvg_gg_",
32
+ "_gridArea": "__gridArea_49gvg_gg_",
33
+ "__SCell": "___SCell_49gvg_gg_",
34
+ "__SCollapseRow": "___SCollapseRow_49gvg_gg_",
35
+ "--gridArea": "--gridArea_49gvg",
36
+ "_active": "__active_49gvg_gg_",
37
+ "_theme": "__theme_49gvg_gg_",
38
+ "_expanded": "__expanded_49gvg_gg_",
39
+ "_accordionType_row": "_accordionType_row_49gvg_gg_",
40
+ "_accordionType_cell": "_accordionType_cell_49gvg_gg_",
41
+ "_withAccordion": "__withAccordion_49gvg_gg_",
42
+ "_theme_muted": "_theme_muted_49gvg_gg_",
43
+ "_theme_info": "_theme_info_49gvg_gg_",
44
+ "_theme_success": "_theme_success_49gvg_gg_",
45
+ "_theme_warning": "_theme_warning_49gvg_gg_",
46
+ "_theme_danger": "_theme_danger_49gvg_gg_",
47
+ "_borders_both": "_borders_both_49gvg_gg_",
48
+ "_borders_left": "_borders_left_49gvg_gg_",
49
+ "_borders_right": "_borders_right_49gvg_gg_",
50
+ "_fixed": "__fixed_49gvg_gg_",
51
+ "__SSpinContainer": "___SSpinContainer_49gvg_gg_",
52
+ "_headerHeight": "__headerHeight_49gvg_gg_",
53
+ "--headerHeight": "--headerHeight_49gvg",
54
+ "__SEmptyData": "___SEmptyData_49gvg_gg_",
55
+ "_compact": "__compact_49gvg_gg_",
56
+ "--data-aria-level": "--data-aria-level_49gvg",
57
+ "__SAccordionToggle": "___SAccordionToggle_49gvg_gg_",
58
+ "_use_primary": "_use_primary_49gvg_gg_",
59
+ "_use_secondary": "_use_secondary_49gvg_gg_",
60
+ "_sideIndents_l": "_sideIndents_l_49gvg_gg_"
61
+ })
62
+ );
63
+ var ROWS_BUFFER = 20;
64
+ var APROX_ROWS_ON_PAGE = 20;
65
+ var BodyRoot = /* @__PURE__ */ function(_Component) {
66
+ _inherits(BodyRoot2, _Component);
67
+ var _super = _createSuper(BodyRoot2);
68
+ function BodyRoot2() {
69
+ var _this;
70
+ _classCallCheck(this, BodyRoot2);
71
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
72
+ args[_key] = arguments[_key];
73
+ }
74
+ _this = _super.call.apply(_super, [this].concat(args));
75
+ _defineProperty(_assertThisInitialized(_this), "rowsHeightMap", /* @__PURE__ */ new Map());
76
+ _defineProperty(_assertThisInitialized(_this), "indexForDownIterate", 0);
77
+ _defineProperty(_assertThisInitialized(_this), "indexForUpIterate", 0);
78
+ _defineProperty(_assertThisInitialized(_this), "handleRef", function(index, row) {
79
+ return function(node) {
80
+ if (!_this.rowsHeightMap.has(index) && node) {
81
+ _this.rowsHeightMap.set(index, [0, 0, node]);
82
+ _this.setRowHeight(index, row);
83
+ }
84
+ };
85
+ });
86
+ _defineProperty(_assertThisInitialized(_this), "handleExpandRow", function(row, index) {
87
+ setTimeout(function() {
88
+ _this.setRowHeight(index, row);
89
+ for (var i = index; i < _this.rowsHeightMap.size; i++) {
90
+ _this.setRowHeight(i, row);
91
+ }
92
+ }, 300);
93
+ _this.asProps.onExpandRow(row);
94
+ });
95
+ _defineProperty(_assertThisInitialized(_this), "handleClickRow", function(row, index) {
96
+ return function(e) {
97
+ if (!isInteractiveElement(e.target)) {
98
+ _this.handleExpandRow(row, index);
99
+ }
100
+ };
101
+ });
102
+ _defineProperty(_assertThisInitialized(_this), "handleClickCell", function(row, index) {
103
+ return function(e) {
104
+ if (!isInteractiveElement(e.target)) {
105
+ _this.handleExpandRow(row, index);
106
+ }
107
+ };
108
+ });
109
+ return _this;
110
+ }
111
+ _createClass(BodyRoot2, [{
112
+ key: "getRowProps",
113
+ value: function getRowProps(props) {
114
+ var _this$asProps = this.asProps, use = _this$asProps.use, gridTemplateAreas = _this$asProps.gridTemplateAreas, gridTemplateColumns = _this$asProps.gridTemplateColumns, expandedRows = _this$asProps.expandedRows, columns = _this$asProps.columns, onExpandRow = _this$asProps.onExpandRow, loading = _this$asProps.loading, hasGroups = _this$asProps.hasGroups, scrollAreaRef = _this$asProps.scrollAreaRef, uid = _this$asProps.uid, onBackFromAccordion = _this$asProps.onBackFromAccordion, rowProps = _this$asProps.rowProps, rows = _this$asProps.rows, flatRows = _this$asProps.flatRows, sideIndents = _this$asProps.sideIndents, selectedRows = _this$asProps.selectedRows, onSelectRow = _this$asProps.onSelectRow;
115
+ var row = props.row;
116
+ var index = row[ROW_INDEX];
117
+ var rowIndex = Array.from(expandedRows !== null && expandedRows !== void 0 ? expandedRows : []).reduce(function(acc, item) {
118
+ var rowIndex2 = flatRows.findIndex(function(row2) {
119
+ return row2[UNIQ_ROW_KEY] === item;
120
+ });
121
+ if (rowIndex2 < index) {
122
+ var _flatRows$rowIndex;
123
+ var expandedRow = (_flatRows$rowIndex = flatRows[rowIndex2]) === null || _flatRows$rowIndex === void 0 ? void 0 : _flatRows$rowIndex[ACCORDION];
124
+ if (Array.isArray(expandedRow)) {
125
+ acc = acc + expandedRow.length;
126
+ } else {
127
+ acc = acc + 1;
128
+ }
129
+ }
130
+ return acc;
131
+ }, index);
132
+ var gridRowIndex = rowIndex + (hasGroups ? 3 : 2);
133
+ var ariaRowIndex = rowIndex + 2;
134
+ 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);
135
+ return _objectSpread(_objectSpread({
136
+ onClick: row[ACCORDION] ? this.handleClickRow(row, index) : void 0
137
+ }, rowProps === null || rowProps === void 0 ? void 0 : rowProps(row, index)), {}, {
138
+ use,
139
+ uid,
140
+ gridTemplateAreas,
141
+ gridTemplateColumns,
142
+ expanded: expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(row[UNIQ_ROW_KEY]),
143
+ accordionDataGridArea,
144
+ columns,
145
+ rowIndex: index,
146
+ ariaRowIndex,
147
+ gridRowIndex,
148
+ rows,
149
+ onBackFromAccordion,
150
+ row,
151
+ expandedRows,
152
+ onExpandRow,
153
+ selectedRows,
154
+ onSelectRow,
155
+ inert: loading ? "" : void 0,
156
+ scrollAreaRef,
157
+ sideIndents
158
+ });
159
+ }
160
+ }, {
161
+ key: "getCellProps",
162
+ value: function getCellProps(props) {
163
+ var _props$children, _value3, _this2 = this, _value4;
164
+ var _this$asProps2 = this.asProps, use = _this$asProps2.use, renderCell = _this$asProps2.renderCell, expandedRows = _this$asProps2.expandedRows, styles = _this$asProps2.styles, getI18nText = _this$asProps2.getI18nText, virtualScroll = _this$asProps2.virtualScroll, tableRef = _this$asProps2.tableRef;
165
+ var SAccordionToggle = ButtonLink;
166
+ var dataKey = props.column.name;
167
+ var cellValue = props.row[dataKey];
168
+ var value = void 0;
169
+ var isMergedRows = cellValue instanceof MergedRowsCell;
170
+ var isMergedColumns = cellValue instanceof MergedColumnsCell;
171
+ if (isMergedColumns || isMergedRows) {
172
+ value = cellValue.value;
173
+ if (isMergedColumns) {
174
+ dataKey = cellValue.dataKey;
175
+ }
176
+ } else {
177
+ value = cellValue;
178
+ }
179
+ var defaultRender = function defaultRender2() {
180
+ var _value;
181
+ return /* @__PURE__ */ React.isValidElement(value) ? value : (_value = value) === null || _value === void 0 ? void 0 : _value.toString();
182
+ };
183
+ var extraProps = {
184
+ use,
185
+ virtualScroll: Boolean(virtualScroll),
186
+ tableRef,
187
+ children: (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : defaultRender()
188
+ };
189
+ if (renderCell) {
190
+ var _value$toString, _value2;
191
+ var external = renderCell({
192
+ columnName: props.column.name,
193
+ row: props.row,
194
+ column: props.column,
195
+ rowIndex: props.rowIndex,
196
+ columnIndex: props.columnIndex,
197
+ dataKey,
198
+ defaultRender,
199
+ 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 : "",
200
+ isMergedRows,
201
+ isMergedColumns
202
+ });
203
+ if (this.isReactNode(external) || Array.isArray(external)) {
204
+ extraProps.children = external;
205
+ } else {
206
+ for (var key in external) {
207
+ extraProps[key] = external[key];
208
+ }
209
+ }
210
+ }
211
+ if (props.columnIndex === 0 && props.row[ACCORDION] || (_value3 = value) !== null && _value3 !== void 0 && _value3[ACCORDION]) {
212
+ var _ref2;
213
+ var expanded = expandedRows === null || expandedRows === void 0 ? void 0 : expandedRows.has(props.row[UNIQ_ROW_KEY]);
214
+ extraProps.children = (_ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SAccordionToggle, _ref2.cn("SAccordionToggle", {
215
+ "aria-label": getI18nText("DataTable.Cell.AccordionToggle.expand:aria-label"),
216
+ "expanded": expanded,
217
+ "onClick": function onClick(e) {
218
+ e.stopPropagation();
219
+ _this2.handleExpandRow(props.row, props.rowIndex);
220
+ },
221
+ "color": "--intergalactic-icon-primary-neutral",
222
+ "aria-expanded": expanded,
223
+ "aria-describedby": props.id,
224
+ "aria-controls": props.accordionId
225
+ }), /* @__PURE__ */ React.createElement(SAccordionToggle.Addon, {
226
+ tag: ChevronRightM
227
+ })), extraProps.children));
228
+ }
229
+ if ((_value4 = value) !== null && _value4 !== void 0 && _value4[ACCORDION]) {
230
+ extraProps.onClick = this.handleClickCell(props.row, props.rowIndex);
231
+ }
232
+ return extraProps;
233
+ }
234
+ }, {
235
+ key: "render",
236
+ value: function render() {
237
+ var _ref = this.asProps, _ref3, _this$rowsHeightMap$g5, _this3 = this;
238
+ var SBody = Box;
239
+ var SRowGroup = Box;
240
+ var SSpinContainer = Box;
241
+ var _this$asProps3 = this.asProps, styles = _this$asProps3.styles, loading = _this$asProps3.loading, headerHeight = _this$asProps3.headerHeight, spinnerRef = _this$asProps3.spinnerRef, virtualScroll = _this$asProps3.virtualScroll, scrollDirection = _this$asProps3.scrollDirection, tableContainerRef = _this$asProps3.tableContainerRef, scrollTop = _this$asProps3.scrollTop, renderEmptyData = _this$asProps3.renderEmptyData, columns = _this$asProps3.columns, uid = _this$asProps3.uid, rows = _this$asProps3.rows;
242
+ var rowsToRender = rows;
243
+ var startIndex = -1;
244
+ var lastIndex = -1;
245
+ if (virtualScroll) {
246
+ var _virtualScroll$rowsBu, _tableContainerRef$cu, _tableContainerRef$cu2;
247
+ var rowsBuffer = typeof virtualScroll !== "boolean" && "rowsBuffer" in virtualScroll ? (_virtualScroll$rowsBu = virtualScroll.rowsBuffer) !== null && _virtualScroll$rowsBu !== void 0 ? _virtualScroll$rowsBu : ROWS_BUFFER : ROWS_BUFFER;
248
+ 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;
249
+ var prevPrepared = scrollDirection === "up" ? rowsBuffer : 4;
250
+ var nextPrepared = scrollDirection === "up" ? 4 : rowsBuffer;
251
+ if (typeof virtualScroll === "boolean" || "aproxRowsOnPage" in virtualScroll) {
252
+ var _virtualScroll$aproxR;
253
+ var aproxRowsOnPage = typeof virtualScroll !== "boolean" ? (_virtualScroll$aproxR = virtualScroll.aproxRowsOnPage) !== null && _virtualScroll$aproxR !== void 0 ? _virtualScroll$aproxR : APROX_ROWS_ON_PAGE : APROX_ROWS_ON_PAGE;
254
+ if (scrollDirection === "down") {
255
+ var _this$rowsHeightMap$g, _this$rowsHeightMap$g2, _lastIndex;
256
+ for (var i = this.indexForDownIterate; i < this.rowsHeightMap.size - 1; i++) {
257
+ var value = this.rowsHeightMap.get(i);
258
+ if (!value) continue;
259
+ var key = i;
260
+ var valueFromToCompare = value[1];
261
+ var valueToToCompare = value[0];
262
+ if (startIndex === -1 && scrollTop < valueFromToCompare) {
263
+ startIndex = Math.max(key - prevPrepared, 0);
264
+ }
265
+ if (startIndex !== -1 && scrollTop + offsetHeight < valueToToCompare) {
266
+ lastIndex = Math.min(key + nextPrepared, rows.length);
267
+ }
268
+ if (startIndex !== -1 && lastIndex !== -1) {
269
+ break;
270
+ }
271
+ }
272
+ 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)) {
273
+ lastIndex = lastIndex + aproxRowsOnPage;
274
+ }
275
+ } else if (scrollDirection === "up") {
276
+ var _this$rowsHeightMap$g3, _this$rowsHeightMap$g4, _startIndex;
277
+ for (var _i = this.indexForUpIterate; _i > 0; _i--) {
278
+ var _value5 = this.rowsHeightMap.get(_i);
279
+ if (!_value5) continue;
280
+ var _key2 = _i;
281
+ var _valueFromToCompare = _value5[1];
282
+ var _valueToToCompare = _value5[0];
283
+ if (lastIndex === -1 && scrollTop + offsetHeight > _valueToToCompare) {
284
+ lastIndex = Math.min(_key2 + nextPrepared, rows.length);
285
+ }
286
+ if (lastIndex !== -1 && scrollTop < _valueFromToCompare) {
287
+ startIndex = Math.max(_key2 - prevPrepared, 0);
288
+ }
289
+ if (startIndex !== -1 && lastIndex !== -1) {
290
+ break;
291
+ }
292
+ }
293
+ 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)) {
294
+ startIndex = Math.max(startIndex - aproxRowsOnPage, 0);
295
+ }
296
+ }
297
+ if (startIndex === -1) {
298
+ startIndex = scrollTop === 0 ? 0 : Math.max(rows.length - aproxRowsOnPage, 0);
299
+ }
300
+ if (lastIndex === -1) {
301
+ lastIndex = scrollTop === 0 ? aproxRowsOnPage : rows.length;
302
+ }
303
+ this.indexForDownIterate = startIndex;
304
+ this.indexForUpIterate = lastIndex;
305
+ rowsToRender = rows.slice(startIndex, lastIndex);
306
+ } else if ("rowHeight" in virtualScroll) {
307
+ var rowHeight = virtualScroll.rowHeight;
308
+ startIndex = Math.max(Math.floor(scrollTop / rowHeight) - prevPrepared, 0);
309
+ var _lastIndex2 = Math.min(Math.ceil((scrollTop + offsetHeight) / rowHeight) + nextPrepared, rows.length);
310
+ rowsToRender = rows.slice(startIndex, _lastIndex2);
311
+ }
312
+ }
313
+ startIndex = startIndex === -1 ? 0 : startIndex;
314
+ var rowMarginTop = (_this$rowsHeightMap$g5 = this.rowsHeightMap.get(startIndex - 1)) === null || _this$rowsHeightMap$g5 === void 0 ? void 0 : _this$rowsHeightMap$g5[1];
315
+ var emptyRow = null;
316
+ if (rowsToRender.length === 0) {
317
+ var _emptyRow;
318
+ emptyRow = (_emptyRow = {}, _defineProperty(_emptyRow, UNIQ_ROW_KEY, "".concat(uid, "_empty_data")), _defineProperty(_emptyRow, ROW_INDEX, 0), _defineProperty(_emptyRow, columns[0].name, new MergedColumnsCell(renderEmptyData(), {
319
+ dataKey: columns[0].name,
320
+ size: columns.length
321
+ })), _emptyRow);
322
+ }
323
+ return _ref3 = sstyled(styles), /* @__PURE__ */ React.createElement(SBody, _ref3.cn("SBody", _objectSpread({}, assignProps({
324
+ "__excludeProps": ["data"]
325
+ }, _ref))), emptyRow && /* @__PURE__ */ React.createElement(Body.Row, {
326
+ row: emptyRow,
327
+ offset: 0
328
+ }), typeof virtualScroll === "boolean" && rowMarginTop && /* @__PURE__ */ React.createElement(Box, _ref3.cn("Box", {
329
+ "h": rowMarginTop
330
+ })), rowsToRender.map(function(row, index) {
331
+ if (Array.isArray(row)) {
332
+ var _ref4;
333
+ return _ref4 = sstyled(styles), /* @__PURE__ */ React.createElement(SRowGroup, _ref4.cn("SRowGroup", {
334
+ "role": "rowgroup",
335
+ "key": "gg_".concat(row[0][UNIQ_ROW_KEY]),
336
+ "ref": _this3.handleRef(startIndex + index, row[0])
337
+ }), row.map(function(item, i2) {
338
+ return /* @__PURE__ */ React.createElement(Body.Row, {
339
+ key: item[UNIQ_ROW_KEY],
340
+ row: item
341
+ });
342
+ }));
343
+ }
344
+ return /* @__PURE__ */ React.createElement(Body.Row, {
345
+ key: row[UNIQ_ROW_KEY],
346
+ row,
347
+ ref: _this3.handleRef(startIndex + index, row)
348
+ });
349
+ }), loading && /* @__PURE__ */ React.createElement(SSpinContainer, _ref3.cn("SSpinContainer", {
350
+ "innerOutline": true,
351
+ "headerHeight": "".concat(headerHeight, "px"),
352
+ "tabIndex": -1,
353
+ "ref": spinnerRef,
354
+ "role": "row"
355
+ }), /* @__PURE__ */ React.createElement(Spin, _ref3.cn("Spin", {
356
+ "size": "xxl",
357
+ "role": "gridcell"
358
+ }))));
359
+ }
360
+ }, {
361
+ key: "isReactNode",
362
+ value: function isReactNode(obj) {
363
+ return typeof obj === "string" || typeof obj === "number" || /* @__PURE__ */ React.isValidElement(obj) || typeof obj === "boolean" || obj === void 0 || obj === null;
364
+ }
365
+ }, {
366
+ key: "setRowHeight",
367
+ value: function setRowHeight(index, row) {
368
+ var _this$rowsHeightMap$g6, _node$children$item;
369
+ var expandedRows = this.asProps.expandedRows;
370
+ var node = (_this$rowsHeightMap$g6 = this.rowsHeightMap.get(index)) === null || _this$rowsHeightMap$g6 === void 0 ? void 0 : _this$rowsHeightMap$g6[2];
371
+ 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);
372
+ if (node && firstChild instanceof HTMLElement) {
373
+ var offset = firstChild.offsetTop - this.asProps.headerHeight;
374
+ var height = firstChild.getBoundingClientRect().height;
375
+ if (expandedRows.has(row[UNIQ_ROW_KEY]) && node.nextSibling instanceof HTMLElement) {
376
+ height = height + node.nextSibling.getBoundingClientRect().height;
377
+ }
378
+ this.rowsHeightMap.set(index, [offset, offset + height, node]);
379
+ }
380
+ }
381
+ }]);
382
+ return BodyRoot2;
383
+ }(Component);
384
+ _defineProperty(BodyRoot, "displayName", "Body");
385
+ _defineProperty(BodyRoot, "style", style);
386
+ var Body = createComponent(BodyRoot, {
387
+ Row,
388
+ Cell
389
+ });
390
+ export {
391
+ Body
392
+ };