@semcore/data-table 4.50.2 → 4.51.0-prerelease.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 (237) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/components/AccordionRows/AccordionRows.js +177 -0
  3. package/lib/cjs/components/AccordionRows/AccordionRows.js.map +1 -0
  4. package/lib/cjs/components/Body/Body.js +445 -0
  5. package/lib/cjs/components/Body/Body.js.map +1 -0
  6. package/lib/cjs/components/Body/Body.types.js +2 -0
  7. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  8. package/lib/cjs/components/Body/Cell.js +205 -0
  9. package/lib/cjs/components/Body/Cell.js.map +1 -0
  10. package/lib/cjs/components/Body/Cell.types.js +2 -0
  11. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  12. package/lib/cjs/components/Body/LimitOverlay.js +191 -0
  13. package/lib/cjs/components/Body/LimitOverlay.js.map +1 -0
  14. package/lib/cjs/components/Body/MergedCells.js +31 -0
  15. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  16. package/lib/cjs/components/Body/Row.js +630 -0
  17. package/lib/cjs/components/Body/Row.js.map +1 -0
  18. package/lib/cjs/components/Body/Row.types.js +2 -0
  19. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  20. package/lib/cjs/components/Body/RowGroup.js +118 -0
  21. package/lib/cjs/components/Body/RowGroup.js.map +1 -0
  22. package/lib/cjs/components/Body/style.shadow.css +367 -0
  23. package/lib/cjs/components/DataTable/DataTable.js +1303 -0
  24. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  25. package/lib/cjs/components/DataTable/DataTable.types.js +2 -0
  26. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  27. package/lib/cjs/components/DataTable/ScrollBars.js +63 -0
  28. package/lib/cjs/components/DataTable/ScrollBars.js.map +1 -0
  29. package/lib/cjs/components/DataTable/dataTable.shadow.css +43 -0
  30. package/lib/cjs/components/Head/Column.js +350 -0
  31. package/lib/cjs/components/Head/Column.js.map +1 -0
  32. package/lib/cjs/components/Head/Column.types.js +2 -0
  33. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  34. package/lib/cjs/components/Head/Group.js +116 -0
  35. package/lib/cjs/components/Head/Group.js.map +1 -0
  36. package/lib/cjs/components/Head/Group.type.js +2 -0
  37. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  38. package/lib/cjs/components/Head/Head.js +350 -0
  39. package/lib/cjs/components/Head/Head.js.map +1 -0
  40. package/lib/cjs/components/Head/Head.types.js +2 -0
  41. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  42. package/lib/cjs/components/Head/style.shadow.css +292 -0
  43. package/lib/cjs/components/RowSelector/RowsSelector.js +132 -0
  44. package/lib/cjs/components/RowSelector/RowsSelector.js.map +1 -0
  45. package/lib/cjs/components/RowSelector/SRAnnouncer.js +62 -0
  46. package/lib/cjs/components/RowSelector/SRAnnouncer.js.map +1 -0
  47. package/lib/cjs/components/RowSelector/SRReactiveAnnouncer.js +39 -0
  48. package/lib/cjs/components/RowSelector/SRReactiveAnnouncer.js.map +1 -0
  49. package/lib/cjs/enhancers/focusableCell.js +76 -0
  50. package/lib/cjs/enhancers/focusableCell.js.map +1 -0
  51. package/lib/cjs/index.js +38 -15
  52. package/lib/cjs/index.js.map +1 -1
  53. package/lib/cjs/store/SelectableRows.js +211 -0
  54. package/lib/cjs/store/SelectableRows.js.map +1 -0
  55. package/lib/cjs/style/scroll-shadows.shadow.css +50 -5
  56. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
  57. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  58. package/lib/cjs/translations/de.json +6 -1
  59. package/lib/cjs/translations/en.json +6 -1
  60. package/lib/cjs/translations/es.json +6 -1
  61. package/lib/cjs/translations/fr.json +6 -1
  62. package/lib/cjs/translations/it.json +6 -1
  63. package/lib/cjs/translations/ja.json +6 -1
  64. package/lib/cjs/translations/ko.json +6 -1
  65. package/lib/cjs/translations/nl.json +6 -1
  66. package/lib/cjs/translations/pl.json +6 -1
  67. package/lib/cjs/translations/pt.json +6 -1
  68. package/lib/cjs/translations/sv.json +6 -1
  69. package/lib/cjs/translations/tr.json +6 -1
  70. package/lib/cjs/translations/vi.json +6 -1
  71. package/lib/cjs/translations/zh.json +6 -1
  72. package/lib/es6/components/AccordionRows/AccordionRows.js +171 -0
  73. package/lib/es6/components/AccordionRows/AccordionRows.js.map +1 -0
  74. package/lib/es6/components/Body/Body.js +439 -0
  75. package/lib/es6/components/Body/Body.js.map +1 -0
  76. package/lib/es6/components/Body/Body.types.js +2 -0
  77. package/lib/es6/components/Body/Body.types.js.map +1 -0
  78. package/lib/es6/components/Body/Cell.js +199 -0
  79. package/lib/es6/components/Body/Cell.js.map +1 -0
  80. package/lib/es6/components/Body/Cell.types.js +2 -0
  81. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  82. package/lib/es6/components/Body/LimitOverlay.js +184 -0
  83. package/lib/es6/components/Body/LimitOverlay.js.map +1 -0
  84. package/lib/es6/components/Body/MergedCells.js +24 -0
  85. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  86. package/lib/es6/components/Body/Row.js +624 -0
  87. package/lib/es6/components/Body/Row.js.map +1 -0
  88. package/lib/es6/components/Body/Row.types.js +2 -0
  89. package/lib/es6/components/Body/Row.types.js.map +1 -0
  90. package/lib/es6/components/Body/RowGroup.js +111 -0
  91. package/lib/es6/components/Body/RowGroup.js.map +1 -0
  92. package/lib/es6/components/Body/style.shadow.css +367 -0
  93. package/lib/es6/components/DataTable/DataTable.js +1298 -0
  94. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  95. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  96. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  97. package/lib/es6/components/DataTable/ScrollBars.js +57 -0
  98. package/lib/es6/components/DataTable/ScrollBars.js.map +1 -0
  99. package/lib/es6/components/DataTable/dataTable.shadow.css +43 -0
  100. package/lib/es6/components/Head/Column.js +344 -0
  101. package/lib/es6/components/Head/Column.js.map +1 -0
  102. package/lib/es6/components/Head/Column.types.js +2 -0
  103. package/lib/es6/components/Head/Column.types.js.map +1 -0
  104. package/lib/es6/components/Head/Group.js +111 -0
  105. package/lib/es6/components/Head/Group.js.map +1 -0
  106. package/lib/es6/components/Head/Group.type.js +2 -0
  107. package/lib/es6/components/Head/Group.type.js.map +1 -0
  108. package/lib/es6/components/Head/Head.js +345 -0
  109. package/lib/es6/components/Head/Head.js.map +1 -0
  110. package/lib/es6/components/Head/Head.types.js +2 -0
  111. package/lib/es6/components/Head/Head.types.js.map +1 -0
  112. package/lib/es6/components/Head/style.shadow.css +292 -0
  113. package/lib/es6/components/RowSelector/RowsSelector.js +125 -0
  114. package/lib/es6/components/RowSelector/RowsSelector.js.map +1 -0
  115. package/lib/es6/components/RowSelector/SRAnnouncer.js +55 -0
  116. package/lib/es6/components/RowSelector/SRAnnouncer.js.map +1 -0
  117. package/lib/es6/components/RowSelector/SRReactiveAnnouncer.js +32 -0
  118. package/lib/es6/components/RowSelector/SRReactiveAnnouncer.js.map +1 -0
  119. package/lib/es6/enhancers/focusableCell.js +69 -0
  120. package/lib/es6/enhancers/focusableCell.js.map +1 -0
  121. package/lib/es6/index.js +7 -2
  122. package/lib/es6/index.js.map +1 -1
  123. package/lib/es6/store/SelectableRows.js +204 -0
  124. package/lib/es6/store/SelectableRows.js.map +1 -0
  125. package/lib/es6/style/scroll-shadows.shadow.css +50 -5
  126. package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
  127. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  128. package/lib/es6/translations/de.json +6 -1
  129. package/lib/es6/translations/en.json +6 -1
  130. package/lib/es6/translations/es.json +6 -1
  131. package/lib/es6/translations/fr.json +6 -1
  132. package/lib/es6/translations/it.json +6 -1
  133. package/lib/es6/translations/ja.json +6 -1
  134. package/lib/es6/translations/ko.json +6 -1
  135. package/lib/es6/translations/nl.json +6 -1
  136. package/lib/es6/translations/pl.json +6 -1
  137. package/lib/es6/translations/pt.json +6 -1
  138. package/lib/es6/translations/sv.json +6 -1
  139. package/lib/es6/translations/tr.json +6 -1
  140. package/lib/es6/translations/vi.json +6 -1
  141. package/lib/es6/translations/zh.json +6 -1
  142. package/lib/esm/components/AccordionRows/AccordionRows.mjs +155 -0
  143. package/lib/esm/components/Body/Body.mjs +395 -0
  144. package/lib/esm/components/Body/Cell.mjs +192 -0
  145. package/lib/esm/components/Body/LimitOverlay.mjs +179 -0
  146. package/lib/esm/components/Body/MergedCells.mjs +27 -0
  147. package/lib/esm/components/Body/Row.mjs +556 -0
  148. package/lib/esm/components/Body/RowGroup.mjs +113 -0
  149. package/lib/esm/components/Body/style.shadow.css +367 -0
  150. package/lib/esm/components/DataTable/DataTable.mjs +1216 -0
  151. package/lib/esm/components/DataTable/ScrollBars.mjs +61 -0
  152. package/lib/esm/components/DataTable/dataTable.shadow.css +43 -0
  153. package/lib/esm/components/Head/Column.mjs +321 -0
  154. package/lib/esm/components/Head/Group.mjs +111 -0
  155. package/lib/esm/components/Head/Head.mjs +307 -0
  156. package/lib/esm/components/Head/style.shadow.css +292 -0
  157. package/lib/esm/components/RowSelector/RowsSelector.mjs +105 -0
  158. package/lib/esm/components/RowSelector/SRAnnouncer.mjs +51 -0
  159. package/lib/esm/components/RowSelector/SRReactiveAnnouncer.mjs +31 -0
  160. package/lib/esm/enhancers/focusableCell.mjs +72 -0
  161. package/lib/esm/index.mjs +12 -5
  162. package/lib/esm/store/SelectableRows.mjs +201 -0
  163. package/lib/esm/style/scroll-shadows.shadow.css +50 -5
  164. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
  165. package/lib/esm/translations/de.json.mjs +6 -1
  166. package/lib/esm/translations/en.json.mjs +6 -1
  167. package/lib/esm/translations/es.json.mjs +6 -1
  168. package/lib/esm/translations/fr.json.mjs +6 -1
  169. package/lib/esm/translations/it.json.mjs +6 -1
  170. package/lib/esm/translations/ja.json.mjs +6 -1
  171. package/lib/esm/translations/ko.json.mjs +6 -1
  172. package/lib/esm/translations/nl.json.mjs +6 -1
  173. package/lib/esm/translations/pl.json.mjs +6 -1
  174. package/lib/esm/translations/pt.json.mjs +6 -1
  175. package/lib/esm/translations/sv.json.mjs +6 -1
  176. package/lib/esm/translations/tr.json.mjs +6 -1
  177. package/lib/esm/translations/vi.json.mjs +6 -1
  178. package/lib/esm/translations/zh.json.mjs +6 -1
  179. package/lib/types/components/AccordionRows/AccordionRows.d.ts +41 -0
  180. package/lib/types/components/Body/Body.d.ts +6 -0
  181. package/lib/types/components/Body/Body.types.d.ts +87 -0
  182. package/lib/types/components/Body/Cell.d.ts +1 -0
  183. package/lib/types/components/Body/Cell.types.d.ts +36 -0
  184. package/lib/types/components/Body/LimitOverlay.d.ts +17 -0
  185. package/lib/types/components/Body/MergedCells.d.ts +17 -0
  186. package/lib/types/components/Body/Row.d.ts +47 -0
  187. package/lib/types/components/Body/Row.types.d.ts +74 -0
  188. package/lib/types/components/Body/RowGroup.d.ts +19 -0
  189. package/lib/types/components/DataTable/DataTable.d.ts +14 -0
  190. package/lib/types/components/DataTable/DataTable.types.d.ts +202 -0
  191. package/lib/types/components/DataTable/ScrollBars.d.ts +11 -0
  192. package/lib/types/components/Head/Column.d.ts +39 -0
  193. package/lib/types/components/Head/Column.types.d.ts +85 -0
  194. package/lib/types/components/Head/Group.d.ts +15 -0
  195. package/lib/types/components/Head/Group.type.d.ts +18 -0
  196. package/lib/types/components/Head/Head.d.ts +9 -0
  197. package/lib/types/components/Head/Head.types.d.ts +58 -0
  198. package/lib/types/components/RowSelector/RowsSelector.d.ts +32 -0
  199. package/lib/types/components/RowSelector/SRAnnouncer.d.ts +10 -0
  200. package/lib/types/components/RowSelector/SRReactiveAnnouncer.d.ts +8 -0
  201. package/lib/types/enhancers/focusableCell.d.ts +9 -0
  202. package/lib/types/index.d.ts +10 -2
  203. package/lib/types/store/SelectableRows.d.ts +60 -0
  204. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +70 -0
  205. package/package.json +6 -6
  206. package/lib/cjs/Body.js +0 -477
  207. package/lib/cjs/Body.js.map +0 -1
  208. package/lib/cjs/DataTable.js +0 -629
  209. package/lib/cjs/DataTable.js.map +0 -1
  210. package/lib/cjs/Head.js +0 -398
  211. package/lib/cjs/Head.js.map +0 -1
  212. package/lib/cjs/style/data-table.shadow.css +0 -413
  213. package/lib/cjs/types.js +0 -4
  214. package/lib/cjs/types.js.map +0 -1
  215. package/lib/cjs/utils.js +0 -57
  216. package/lib/cjs/utils.js.map +0 -1
  217. package/lib/es6/Body.js +0 -469
  218. package/lib/es6/Body.js.map +0 -1
  219. package/lib/es6/DataTable.js +0 -619
  220. package/lib/es6/DataTable.js.map +0 -1
  221. package/lib/es6/Head.js +0 -390
  222. package/lib/es6/Head.js.map +0 -1
  223. package/lib/es6/style/data-table.shadow.css +0 -413
  224. package/lib/es6/types.js +0 -2
  225. package/lib/es6/types.js.map +0 -1
  226. package/lib/es6/utils.js +0 -48
  227. package/lib/es6/utils.js.map +0 -1
  228. package/lib/esm/Body.mjs +0 -430
  229. package/lib/esm/DataTable.mjs +0 -589
  230. package/lib/esm/Head.mjs +0 -368
  231. package/lib/esm/style/data-table.shadow.css +0 -413
  232. package/lib/esm/utils.mjs +0 -52
  233. package/lib/types/Body.d.ts +0 -61
  234. package/lib/types/DataTable.d.ts +0 -205
  235. package/lib/types/Head.d.ts +0 -45
  236. package/lib/types/types.d.ts +0 -73
  237. package/lib/types/utils.d.ts +0 -4
package/lib/esm/Body.mjs DELETED
@@ -1,430 +0,0 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
5
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
- import _typeof from "@babel/runtime/helpers/esm/typeof";
7
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
8
- import _createClass from "@babel/runtime/helpers/esm/createClass";
9
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
10
- import _inherits from "@babel/runtime/helpers/esm/inherits";
11
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
12
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
13
- import { sstyled } from "@semcore/utils/lib/core/index";
14
- import { sstyled as sstyled$1, assignProps as assignProps$1, Component } from "@semcore/core";
15
- import React from "react";
16
- import { Flex, Box } from "@semcore/flex-box";
17
- import ScrollArea, { hideScrollBarsFromScreenReadersContext } from "@semcore/scroll-area";
18
- import { getFixedStyle, getScrollOffsetValue } from "./utils.mjs";
19
- import assignProps, { callAllEventHandlers } from "@semcore/utils/lib/assignProps";
20
- import trottle from "@semcore/utils/lib/rafTrottle";
21
- import { forkRef } from "@semcore/utils/lib/ref";
22
- import canUseDOM from "@semcore/utils/lib/canUseDOM";
23
- import { SORT_ICON_WIDTH } from "./Head.mjs";
24
- import { getFocusableIn } from "@semcore/utils/lib/focus-lock/getFocusableIn";
25
- var _excluded = ["childrenPropsGetter"], _excluded2 = ["childrenPropsGetter"];
26
- /*!__reshadow-styles__:"./style/scroll-shadows.shadow.css"*/
27
- var scrollStyles = (
28
- /*__reshadow_css_start__*/
29
- (sstyled.insert(
30
- /*__inner_css_start__*/
31
- ".___SShadowHorizontal_1jz1j_gg_:after,.___SShadowHorizontal_1jz1j_gg_:before,.___SShadowVertical_1jz1j_gg_:after,.___SShadowVertical_1jz1j_gg_:before{z-index:1}",
32
- /*__inner_css_end__*/
33
- "1jz1j_gg_"
34
- ), /*__reshadow_css_end__*/
35
- {
36
- "__SShadowHorizontal": "___SShadowHorizontal_1jz1j_gg_",
37
- "__SShadowVertical": "___SShadowVertical_1jz1j_gg_"
38
- })
39
- );
40
- var testEnv = process.env.NODE_ENV === "test";
41
- var getCellsByColumn = function getCellsByColumn2(cells) {
42
- var flattenCells = cells.flat(20);
43
- return Object.fromEntries(flattenCells.map(function(cell) {
44
- return [cell.name, cell.data];
45
- }));
46
- };
47
- var displayContents = {
48
- display: "contents"
49
- };
50
- var Body = /* @__PURE__ */ function(_Component) {
51
- _inherits(Body2, _Component);
52
- var _super = _createSuper(Body2);
53
- function Body2() {
54
- var _this;
55
- _classCallCheck(this, Body2);
56
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
- args[_key] = arguments[_key];
58
- }
59
- _this = _super.call.apply(_super, [this].concat(args));
60
- _defineProperty(_assertThisInitialized(_this), "state", {
61
- rowHeight: void 0,
62
- scrollAreaHeight: void 0,
63
- scrollOffset: 0
64
- });
65
- _defineProperty(_assertThisInitialized(_this), "scrollContainerRef", /* @__PURE__ */ React.createRef());
66
- _defineProperty(_assertThisInitialized(_this), "firstRowRef", /* @__PURE__ */ React.createRef());
67
- _defineProperty(_assertThisInitialized(_this), "firstRowResizeObserver", null);
68
- _defineProperty(_assertThisInitialized(_this), "lockedCell", [null, false]);
69
- _defineProperty(_assertThisInitialized(_this), "getRowHeight", function() {
70
- var virtualScroll = _this.asProps.virtualScroll;
71
- var rowHeightFromProps = _typeof(virtualScroll) === "object" && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
72
- return rowHeightFromProps || _this.state.rowHeight;
73
- });
74
- _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function(e) {
75
- if (e.currentTarget === _this.lockedCell[0]) {
76
- var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function(node) {
77
- return getFocusableIn(node);
78
- });
79
- if (_this.lockedCell[1]) {
80
- if (e.key === "Escape") {
81
- var _this$lockedCell$;
82
- (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
83
- _this.lockedCell[1] = false;
84
- }
85
- if (e.key.startsWith("Arrow")) {
86
- e.stopPropagation();
87
- e.preventDefault();
88
- }
89
- if (e.key === "Tab") {
90
- if (e.target === focusableChildren[0] && e.shiftKey) {
91
- var _focusableChildren;
92
- (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
93
- e.preventDefault();
94
- } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
95
- var _focusableChildren$;
96
- (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
97
- e.preventDefault();
98
- }
99
- e.stopPropagation();
100
- }
101
- } else if (e.key === "Enter") {
102
- var _focusableChildren$2;
103
- e.preventDefault();
104
- e.stopPropagation();
105
- _this.lockedCell[1] = true;
106
- (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
107
- }
108
- }
109
- });
110
- _defineProperty(_assertThisInitialized(_this), "onFocusCell", function(e) {
111
- if (e.target === e.currentTarget && e.target.matches(":focus-visible")) {
112
- var focusableChildren = Array.from(e.currentTarget.children).flatMap(function(node) {
113
- return getFocusableIn(node);
114
- });
115
- if (focusableChildren.length === 1) {
116
- focusableChildren[0].focus();
117
- } else if (focusableChildren.length > 1) {
118
- _this.lockedCell = [e.currentTarget, false];
119
- }
120
- }
121
- });
122
- _defineProperty(_assertThisInitialized(_this), "handleFirstRowResize", trottle(function(entries) {
123
- var contentRect = entries[0].contentRect;
124
- var height = contentRect.height;
125
- _this.setState(function(oldState) {
126
- if (oldState.rowHeight === height) return oldState;
127
- return {
128
- rowHeight: height
129
- };
130
- });
131
- }));
132
- _defineProperty(_assertThisInitialized(_this), "handleScrollAreaResize", trottle(function(entries) {
133
- var virtualScroll = _this.asProps.virtualScroll;
134
- if (!virtualScroll) return;
135
- var contentRect = entries[0].contentRect;
136
- var height = contentRect.height;
137
- _this.setState(function(oldState) {
138
- if (oldState.scrollAreaHeight === height) return oldState;
139
- return {
140
- scrollAreaHeight: height
141
- };
142
- });
143
- }));
144
- _defineProperty(_assertThisInitialized(_this), "handleScrollAreaScroll", function(event) {
145
- var _ref6 = event.target, scrollTop = _ref6.scrollTop;
146
- var virtualScroll = _this.asProps.virtualScroll;
147
- if (virtualScroll) {
148
- _this.setState(function(oldState) {
149
- if (oldState.scrollOffset === scrollTop) return oldState;
150
- return {
151
- scrollOffset: scrollTop
152
- };
153
- });
154
- }
155
- });
156
- _defineProperty(_assertThisInitialized(_this), "setupRowSizeObserver", function() {
157
- if (!_this.firstRowRef.current) return;
158
- if (!_this.asProps.virtualScroll) return;
159
- if (canUseDOM()) {
160
- _this.firstRowResizeObserver = new ResizeObserver(_this.handleFirstRowResize);
161
- _this.firstRowResizeObserver.observe(_this.firstRowRef.current);
162
- }
163
- });
164
- _defineProperty(_assertThisInitialized(_this), "handleBodyTransitionEnd", trottle(function() {
165
- _this.forceUpdate();
166
- }));
167
- return _this;
168
- }
169
- _createClass(Body2, [{
170
- key: "renderCells",
171
- value: function renderCells(cells, rowData, dataIndex) {
172
- var _this2 = this;
173
- var SCell = Flex;
174
- var _this$asProps = this.asProps, styles = _this$asProps.styles, columns = _this$asProps.columns, use = _this$asProps.use, uid = _this$asProps.uid;
175
- return cells.map(function(cell, cellIndex) {
176
- if (Array.isArray(cell)) {
177
- var _ref2;
178
- var SGroupCell = "div";
179
- return _ref2 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SGroupCell, _ref2.cn("SGroupCell", {
180
- "key": "".concat(cellIndex),
181
- "data-ui-name": "group-cell"
182
- }), _this2.renderRows(cell, true));
183
- } else {
184
- var _ref3, _column$parentColumns, _column$props, _column$props$ref$cur, _column$props2, _column$props2$ref$cu, _column$props3, _column$props4;
185
- var nameParts = cell.name.split("/");
186
- var firstName = nameParts[0];
187
- var lastName = nameParts[nameParts.length - 1];
188
- var firstColumn = columns.find(function(c) {
189
- return c.name === firstName;
190
- });
191
- var lastColumn = columns.find(function(c) {
192
- return c.name === lastName;
193
- });
194
- var column = columns.find(function(c) {
195
- return c.name === cell.name;
196
- });
197
- var _getFixedStyle = getFixedStyle(cell, columns), _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2), name = _getFixedStyle2[0], value = _getFixedStyle2[1];
198
- var parentColumnNames = (_column$parentColumns = column === null || column === void 0 ? void 0 : column.parentColumns.map(function(column2) {
199
- return column2.name;
200
- })) !== null && _column$parentColumns !== void 0 ? _column$parentColumns : [];
201
- var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function(name2) {
202
- return "var(".concat(name2, ")");
203
- });
204
- var columnWMin = column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : (_column$props$ref$cur = _column$props.ref.current) === null || _column$props$ref$cur === void 0 ? void 0 : _column$props$ref$cur.style.getPropertyValue("min-width");
205
- var columnWMax = column === null || column === void 0 ? void 0 : (_column$props2 = column.props) === null || _column$props2 === void 0 ? void 0 : (_column$props2$ref$cu = _column$props2.ref.current) === null || _column$props2$ref$cu === void 0 ? void 0 : _column$props2$ref$cu.style.getPropertyValue("max-width");
206
- var _props = {
207
- name: cell.name,
208
- children: /* @__PURE__ */ React.createElement(React.Fragment, null, cell.data),
209
- justifyContent: column === null || column === void 0 ? void 0 : (_column$props3 = column.props) === null || _column$props3 === void 0 ? void 0 : _column$props3.justifyContent,
210
- alignItems: column === null || column === void 0 ? void 0 : (_column$props4 = column.props) === null || _column$props4 === void 0 ? void 0 : _column$props4.alignItems,
211
- borderLeft: firstColumn === null || firstColumn === void 0 ? void 0 : firstColumn.borderLeft,
212
- borderRight: lastColumn === null || lastColumn === void 0 ? void 0 : lastColumn.borderRight,
213
- style: {
214
- width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(" + "), ")"),
215
- minWidth: columnWMin,
216
- maxWidth: columnWMax && column !== null && column !== void 0 && column.sortable ? "calc(".concat(SORT_ICON_WIDTH, "px + ").concat(columnWMax, ")") : columnWMax
217
- }
218
- };
219
- if (name !== void 0 && value !== void 0) {
220
- _props.style[name] = value;
221
- }
222
- var _iterator = _createForOfIteratorHelper(cell.cellPropsLayers || []), _step;
223
- try {
224
- for (_iterator.s(); !(_step = _iterator.n()).done; ) {
225
- var cellPropLayer = _step.value;
226
- var _cellPropLayer$childr = cellPropLayer.childrenPropsGetter, childrenPropsGetter = _cellPropLayer$childr === void 0 ? function(p) {
227
- return p;
228
- } : _cellPropLayer$childr, other = _objectWithoutProperties(cellPropLayer, _excluded);
229
- var propsCell = assignProps(other, _props);
230
- _props = assignProps(childrenPropsGetter(propsCell, rowData, dataIndex), propsCell);
231
- }
232
- } catch (err) {
233
- _iterator.e(err);
234
- } finally {
235
- _iterator.f();
236
- }
237
- var headerIds = [cell.name].concat(_toConsumableArray(parentColumnNames)).filter(Boolean).map(function(name2) {
238
- return "igc-table-".concat(uid, "-").concat(name2);
239
- });
240
- var ariaColspan = nameParts.length;
241
- return _ref3 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
242
- "key": cell.name,
243
- "role": "gridcell",
244
- "headers": headerIds.join(" "),
245
- "__excludeProps": ["data"]
246
- }, _props), {}, {
247
- "fixed": cell.fixed,
248
- "theme": _props.theme,
249
- "use": use,
250
- "borderLeft": _props.borderLeft,
251
- "borderRight": _props.borderRight,
252
- "tabIndex": -1,
253
- "onKeyDown": _this2.handleKeyDown,
254
- "onFocus": _this2.onFocusCell,
255
- "aria-colindex": cellIndex + 1,
256
- "aria-colspan": ariaColspan === 1 ? void 0 : ariaColspan
257
- })));
258
- }
259
- }, []);
260
- }
261
- }, {
262
- key: "renderRow",
263
- value: function renderRow(cells, _ref7) {
264
- var _ref4;
265
- var dataIndex = _ref7.dataIndex, topOffset = _ref7.topOffset, _ref7$nested = _ref7.nested, nested = _ref7$nested === void 0 ? false : _ref7$nested;
266
- var SRow = Box;
267
- var _this$asProps2 = this.asProps, styles = _this$asProps2.styles, rowPropsLayers = _this$asProps2.rowPropsLayers, uniqueKey = _this$asProps2.uniqueKey, virtualScroll = _this$asProps2.virtualScroll;
268
- var rowHeightFromProps = _typeof(virtualScroll) === "object" && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
269
- var rowData = cells.flatRowData || getCellsByColumn(cells);
270
- var key = rowData[uniqueKey] ? String(rowData[uniqueKey]) : "row_".concat(dataIndex);
271
- var needToMeasureHeight = dataIndex === 0 && !rowHeightFromProps;
272
- var props = {
273
- children: this.renderCells(cells, rowData, dataIndex),
274
- theme: void 0,
275
- active: void 0,
276
- positioned: topOffset !== void 0,
277
- top: topOffset,
278
- ref: needToMeasureHeight ? this.firstRowRef : void 0,
279
- key,
280
- "aria-rowindex": !nested ? dataIndex + 2 : void 0
281
- };
282
- var _iterator2 = _createForOfIteratorHelper(rowPropsLayers), _step2;
283
- try {
284
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
285
- var rowPropsLayer = _step2.value;
286
- var _rowPropsLayer$childr = rowPropsLayer.childrenPropsGetter, childrenPropsGetter = _rowPropsLayer$childr === void 0 ? function(p) {
287
- return p;
288
- } : _rowPropsLayer$childr, other = _objectWithoutProperties(rowPropsLayer, _excluded2);
289
- var propsRow = assignProps(other, props);
290
- props = assignProps(childrenPropsGetter(propsRow, rowData, dataIndex), propsRow);
291
- }
292
- } catch (err) {
293
- _iterator2.e(err);
294
- } finally {
295
- _iterator2.f();
296
- }
297
- return _ref4 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SRow, _ref4.cn("SRow", _objectSpread({
298
- "data-nested": nested.toString(),
299
- "role": !nested ? "row" : void 0,
300
- "__excludeProps": ["data"]
301
- }, props)));
302
- }
303
- }, {
304
- key: "renderRows",
305
- value: function renderRows(rows) {
306
- var _this3 = this;
307
- var nested = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
308
- return rows.map(function(cells, dataIndex) {
309
- return _this3.renderRow(cells, {
310
- dataIndex,
311
- nested
312
- });
313
- });
314
- }
315
- }, {
316
- key: "renderVirtualizedRows",
317
- value: function renderVirtualizedRows(rows) {
318
- var _ref8, _this4 = this;
319
- if (rows.length === 0) return [];
320
- var virtualScroll = this.asProps.virtualScroll;
321
- var _this$state = this.state, scrollOffset = _this$state.scrollOffset, scrollAreaHeight = _this$state.scrollAreaHeight;
322
- var rowHeight = this.getRowHeight();
323
- var tollerance = (_ref8 = _typeof(virtualScroll) === "object" ? virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.tollerance : 2) !== null && _ref8 !== void 0 ? _ref8 : 2;
324
- var startIndex = Math.max(Math.floor(scrollOffset / rowHeight) - tollerance, 0);
325
- var lastIndex = Math.min(Math.ceil((scrollOffset + scrollAreaHeight) / rowHeight) + tollerance, rows.length);
326
- var rowHeightFromProps = _typeof(virtualScroll) === "object" && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
327
- var needToMeasureFirstRowHeight = !rowHeightFromProps;
328
- var firstRow = {
329
- cells: rows[0],
330
- dataIndex: 0,
331
- topOffset: 0
332
- };
333
- var visibleRows = rowHeight !== void 0 ? rows.slice(startIndex, lastIndex) : [];
334
- var processedVisibleRows = visibleRows.map(function(cells, index) {
335
- return {
336
- cells,
337
- dataIndex: startIndex + index,
338
- topOffset: rowHeight * (startIndex + index)
339
- };
340
- });
341
- if (needToMeasureFirstRowHeight && startIndex !== 0) {
342
- processedVisibleRows.unshift(firstRow);
343
- }
344
- return processedVisibleRows.map(function(_ref9) {
345
- var cells = _ref9.cells, dataIndex = _ref9.dataIndex, topOffset = _ref9.topOffset;
346
- return _this4.renderRow(cells, {
347
- dataIndex,
348
- topOffset,
349
- nested: false
350
- });
351
- });
352
- }
353
- }, {
354
- key: "componentWillUnmount",
355
- value: function componentWillUnmount() {
356
- var _this$firstRowResizeO;
357
- (_this$firstRowResizeO = this.firstRowResizeObserver) === null || _this$firstRowResizeO === void 0 ? void 0 : _this$firstRowResizeO.disconnect();
358
- }
359
- }, {
360
- key: "render",
361
- value: function render() {
362
- var _ref = this.asProps, _ref5;
363
- var SBody = Box;
364
- var SBodyWrapper = Box;
365
- var SHeightHold = Box;
366
- var _this$asProps3 = this.asProps, Children = _this$asProps3.Children, styles = _this$asProps3.styles, rows = _this$asProps3.rows, columns = _this$asProps3.columns, $scrollRef = _this$asProps3.$scrollRef, virtualScroll = _this$asProps3.virtualScroll, onResize = _this$asProps3.onResize, onScroll = _this$asProps3.onScroll, disabledScroll = _this$asProps3.disabledScroll, renderRows = _this$asProps3.renderRows, animationsDisabled = _this$asProps3.animationsDisabled, scrollContainerRef = _this$asProps3.scrollContainerRef;
367
- var columnsInitialized = columns.reduce(function(sum, _ref10) {
368
- var width = _ref10.width;
369
- return sum + width;
370
- }, 0) > 0 || testEnv;
371
- var _getScrollOffsetValue = getScrollOffsetValue(columns), _getScrollOffsetValue2 = _slicedToArray(_getScrollOffsetValue, 2), offsetLeftSum = _getScrollOffsetValue2[0], offsetRightSum = _getScrollOffsetValue2[1];
372
- var rowHeight = this.getRowHeight();
373
- var holdHeight = rowHeight !== void 0 && virtualScroll ? rowHeight * rows.length : void 0;
374
- if (virtualScroll && columnsInitialized && !rowHeight) {
375
- requestAnimationFrame(this.setupRowSizeObserver);
376
- }
377
- var body = (_ref5 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SBody, _ref5.cn("SBody", _objectSpread({}, assignProps$1({
378
- "animationsDisabled": animationsDisabled,
379
- "onTransitionEnd": this.handleBodyTransitionEnd
380
- }, _ref))), renderRows ? renderRows({
381
- rows,
382
- columns,
383
- renderRow: this.renderRow.bind(this)
384
- }) || null : /* @__PURE__ */ React.createElement(React.Fragment, null, holdHeight ? /* @__PURE__ */ React.createElement(SHeightHold, _ref5.cn("SHeightHold", {
385
- "hMin": holdHeight,
386
- "aria-hidden": true
387
- })) : null, virtualScroll ? this.renderVirtualizedRows(rows) : this.renderRows(rows))));
388
- if (disabledScroll) {
389
- return /* @__PURE__ */ React.createElement(SBodyWrapper, null, body);
390
- }
391
- var scrollContainerRefs = [$scrollRef, this.scrollContainerRef];
392
- if (scrollContainerRef) {
393
- scrollContainerRefs.push(scrollContainerRef);
394
- }
395
- return /* @__PURE__ */ React.createElement(hideScrollBarsFromScreenReadersContext.Provider, {
396
- value: true
397
- }, /* @__PURE__ */ React.createElement(SBodyWrapper, _ref5.cn("SBodyWrapper", {}), /* @__PURE__ */ React.createElement(ScrollArea, _ref5.cn("ScrollArea", {
398
- "shadow": true,
399
- "leftOffset": offsetLeftSum,
400
- "rightOffset": offsetRightSum,
401
- "onResize": callAllEventHandlers(onResize, this.handleScrollAreaResize),
402
- "onScroll": callAllEventHandlers(onScroll, this.handleScrollAreaScroll),
403
- "styles": scrollStyles
404
- }), /* @__PURE__ */ React.createElement(ScrollArea.Container, {
405
- ref: forkRef.apply(void 0, scrollContainerRefs),
406
- role: "rowgroup",
407
- focusRingTopOffset: "3px",
408
- tabIndex: -1
409
- }, body), /* @__PURE__ */ React.createElement("div", _ref5.cn("div", {
410
- "style": displayContents
411
- }), /* @__PURE__ */ React.createElement("div", _ref5.cn("div", {
412
- "style": displayContents
413
- }), /* @__PURE__ */ React.createElement("div", _ref5.cn("div", {
414
- "style": displayContents
415
- }), /* @__PURE__ */ React.createElement(ScrollArea.Bar, {
416
- orientation: "horizontal",
417
- bottom: 0,
418
- container: this.scrollContainerRef
419
- }), /* @__PURE__ */ React.createElement(ScrollArea.Bar, {
420
- orientation: "vertical",
421
- w: "12px",
422
- zIndex: 2
423
- }))))), Children.origin));
424
- }
425
- }]);
426
- return Body2;
427
- }(Component);
428
- export {
429
- Body as default
430
- };