@semcore/data-table 4.51.0-prerelease.1 → 4.51.0-prerelease.5

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 (236) hide show
  1. package/lib/cjs/components/AccordionRows/AccordionRows.js +177 -0
  2. package/lib/cjs/components/AccordionRows/AccordionRows.js.map +1 -0
  3. package/lib/cjs/components/Body/Body.js +445 -0
  4. package/lib/cjs/components/Body/Body.js.map +1 -0
  5. package/lib/cjs/components/Body/Body.types.js +2 -0
  6. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  7. package/lib/cjs/components/Body/Cell.js +205 -0
  8. package/lib/cjs/components/Body/Cell.js.map +1 -0
  9. package/lib/cjs/components/Body/Cell.types.js +2 -0
  10. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  11. package/lib/cjs/components/Body/LimitOverlay.js +191 -0
  12. package/lib/cjs/components/Body/LimitOverlay.js.map +1 -0
  13. package/lib/cjs/components/Body/MergedCells.js +31 -0
  14. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  15. package/lib/cjs/components/Body/Row.js +630 -0
  16. package/lib/cjs/components/Body/Row.js.map +1 -0
  17. package/lib/cjs/components/Body/Row.types.js +2 -0
  18. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  19. package/lib/cjs/components/Body/RowGroup.js +118 -0
  20. package/lib/cjs/components/Body/RowGroup.js.map +1 -0
  21. package/lib/cjs/components/Body/style.shadow.css +367 -0
  22. package/lib/cjs/components/DataTable/DataTable.js +1303 -0
  23. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  24. package/lib/cjs/components/DataTable/DataTable.types.js +2 -0
  25. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  26. package/lib/cjs/components/DataTable/ScrollBars.js +63 -0
  27. package/lib/cjs/components/DataTable/ScrollBars.js.map +1 -0
  28. package/lib/cjs/components/DataTable/dataTable.shadow.css +43 -0
  29. package/lib/cjs/components/Head/Column.js +350 -0
  30. package/lib/cjs/components/Head/Column.js.map +1 -0
  31. package/lib/cjs/components/Head/Column.types.js +2 -0
  32. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  33. package/lib/cjs/components/Head/Group.js +116 -0
  34. package/lib/cjs/components/Head/Group.js.map +1 -0
  35. package/lib/cjs/components/Head/Group.type.js +2 -0
  36. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  37. package/lib/cjs/components/Head/Head.js +350 -0
  38. package/lib/cjs/components/Head/Head.js.map +1 -0
  39. package/lib/cjs/components/Head/Head.types.js +2 -0
  40. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  41. package/lib/cjs/components/Head/style.shadow.css +292 -0
  42. package/lib/cjs/components/RowSelector/RowsSelector.js +132 -0
  43. package/lib/cjs/components/RowSelector/RowsSelector.js.map +1 -0
  44. package/lib/cjs/components/RowSelector/SRAnnouncer.js +62 -0
  45. package/lib/cjs/components/RowSelector/SRAnnouncer.js.map +1 -0
  46. package/lib/cjs/components/RowSelector/SRReactiveAnnouncer.js +39 -0
  47. package/lib/cjs/components/RowSelector/SRReactiveAnnouncer.js.map +1 -0
  48. package/lib/cjs/enhancers/focusableCell.js +76 -0
  49. package/lib/cjs/enhancers/focusableCell.js.map +1 -0
  50. package/lib/cjs/index.js +38 -15
  51. package/lib/cjs/index.js.map +1 -1
  52. package/lib/cjs/store/SelectableRows.js +211 -0
  53. package/lib/cjs/store/SelectableRows.js.map +1 -0
  54. package/lib/cjs/style/scroll-shadows.shadow.css +50 -5
  55. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
  56. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  57. package/lib/cjs/translations/de.json +6 -1
  58. package/lib/cjs/translations/en.json +6 -1
  59. package/lib/cjs/translations/es.json +6 -1
  60. package/lib/cjs/translations/fr.json +6 -1
  61. package/lib/cjs/translations/it.json +6 -1
  62. package/lib/cjs/translations/ja.json +6 -1
  63. package/lib/cjs/translations/ko.json +6 -1
  64. package/lib/cjs/translations/nl.json +6 -1
  65. package/lib/cjs/translations/pl.json +6 -1
  66. package/lib/cjs/translations/pt.json +6 -1
  67. package/lib/cjs/translations/sv.json +6 -1
  68. package/lib/cjs/translations/tr.json +6 -1
  69. package/lib/cjs/translations/vi.json +6 -1
  70. package/lib/cjs/translations/zh.json +6 -1
  71. package/lib/es6/components/AccordionRows/AccordionRows.js +171 -0
  72. package/lib/es6/components/AccordionRows/AccordionRows.js.map +1 -0
  73. package/lib/es6/components/Body/Body.js +439 -0
  74. package/lib/es6/components/Body/Body.js.map +1 -0
  75. package/lib/es6/components/Body/Body.types.js +2 -0
  76. package/lib/es6/components/Body/Body.types.js.map +1 -0
  77. package/lib/es6/components/Body/Cell.js +199 -0
  78. package/lib/es6/components/Body/Cell.js.map +1 -0
  79. package/lib/es6/components/Body/Cell.types.js +2 -0
  80. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  81. package/lib/es6/components/Body/LimitOverlay.js +184 -0
  82. package/lib/es6/components/Body/LimitOverlay.js.map +1 -0
  83. package/lib/es6/components/Body/MergedCells.js +24 -0
  84. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  85. package/lib/es6/components/Body/Row.js +624 -0
  86. package/lib/es6/components/Body/Row.js.map +1 -0
  87. package/lib/es6/components/Body/Row.types.js +2 -0
  88. package/lib/es6/components/Body/Row.types.js.map +1 -0
  89. package/lib/es6/components/Body/RowGroup.js +111 -0
  90. package/lib/es6/components/Body/RowGroup.js.map +1 -0
  91. package/lib/es6/components/Body/style.shadow.css +367 -0
  92. package/lib/es6/components/DataTable/DataTable.js +1298 -0
  93. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  94. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  95. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  96. package/lib/es6/components/DataTable/ScrollBars.js +57 -0
  97. package/lib/es6/components/DataTable/ScrollBars.js.map +1 -0
  98. package/lib/es6/components/DataTable/dataTable.shadow.css +43 -0
  99. package/lib/es6/components/Head/Column.js +344 -0
  100. package/lib/es6/components/Head/Column.js.map +1 -0
  101. package/lib/es6/components/Head/Column.types.js +2 -0
  102. package/lib/es6/components/Head/Column.types.js.map +1 -0
  103. package/lib/es6/components/Head/Group.js +111 -0
  104. package/lib/es6/components/Head/Group.js.map +1 -0
  105. package/lib/es6/components/Head/Group.type.js +2 -0
  106. package/lib/es6/components/Head/Group.type.js.map +1 -0
  107. package/lib/es6/components/Head/Head.js +345 -0
  108. package/lib/es6/components/Head/Head.js.map +1 -0
  109. package/lib/es6/components/Head/Head.types.js +2 -0
  110. package/lib/es6/components/Head/Head.types.js.map +1 -0
  111. package/lib/es6/components/Head/style.shadow.css +292 -0
  112. package/lib/es6/components/RowSelector/RowsSelector.js +125 -0
  113. package/lib/es6/components/RowSelector/RowsSelector.js.map +1 -0
  114. package/lib/es6/components/RowSelector/SRAnnouncer.js +55 -0
  115. package/lib/es6/components/RowSelector/SRAnnouncer.js.map +1 -0
  116. package/lib/es6/components/RowSelector/SRReactiveAnnouncer.js +32 -0
  117. package/lib/es6/components/RowSelector/SRReactiveAnnouncer.js.map +1 -0
  118. package/lib/es6/enhancers/focusableCell.js +69 -0
  119. package/lib/es6/enhancers/focusableCell.js.map +1 -0
  120. package/lib/es6/index.js +7 -2
  121. package/lib/es6/index.js.map +1 -1
  122. package/lib/es6/store/SelectableRows.js +204 -0
  123. package/lib/es6/store/SelectableRows.js.map +1 -0
  124. package/lib/es6/style/scroll-shadows.shadow.css +50 -5
  125. package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
  126. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  127. package/lib/es6/translations/de.json +6 -1
  128. package/lib/es6/translations/en.json +6 -1
  129. package/lib/es6/translations/es.json +6 -1
  130. package/lib/es6/translations/fr.json +6 -1
  131. package/lib/es6/translations/it.json +6 -1
  132. package/lib/es6/translations/ja.json +6 -1
  133. package/lib/es6/translations/ko.json +6 -1
  134. package/lib/es6/translations/nl.json +6 -1
  135. package/lib/es6/translations/pl.json +6 -1
  136. package/lib/es6/translations/pt.json +6 -1
  137. package/lib/es6/translations/sv.json +6 -1
  138. package/lib/es6/translations/tr.json +6 -1
  139. package/lib/es6/translations/vi.json +6 -1
  140. package/lib/es6/translations/zh.json +6 -1
  141. package/lib/esm/components/AccordionRows/AccordionRows.mjs +155 -0
  142. package/lib/esm/components/Body/Body.mjs +395 -0
  143. package/lib/esm/components/Body/Cell.mjs +192 -0
  144. package/lib/esm/components/Body/LimitOverlay.mjs +179 -0
  145. package/lib/esm/components/Body/MergedCells.mjs +27 -0
  146. package/lib/esm/components/Body/Row.mjs +556 -0
  147. package/lib/esm/components/Body/RowGroup.mjs +113 -0
  148. package/lib/esm/components/Body/style.shadow.css +367 -0
  149. package/lib/esm/components/DataTable/DataTable.mjs +1216 -0
  150. package/lib/esm/components/DataTable/ScrollBars.mjs +61 -0
  151. package/lib/esm/components/DataTable/dataTable.shadow.css +43 -0
  152. package/lib/esm/components/Head/Column.mjs +321 -0
  153. package/lib/esm/components/Head/Group.mjs +111 -0
  154. package/lib/esm/components/Head/Head.mjs +307 -0
  155. package/lib/esm/components/Head/style.shadow.css +292 -0
  156. package/lib/esm/components/RowSelector/RowsSelector.mjs +105 -0
  157. package/lib/esm/components/RowSelector/SRAnnouncer.mjs +51 -0
  158. package/lib/esm/components/RowSelector/SRReactiveAnnouncer.mjs +31 -0
  159. package/lib/esm/enhancers/focusableCell.mjs +72 -0
  160. package/lib/esm/index.mjs +12 -5
  161. package/lib/esm/store/SelectableRows.mjs +201 -0
  162. package/lib/esm/style/scroll-shadows.shadow.css +50 -5
  163. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
  164. package/lib/esm/translations/de.json.mjs +6 -1
  165. package/lib/esm/translations/en.json.mjs +6 -1
  166. package/lib/esm/translations/es.json.mjs +6 -1
  167. package/lib/esm/translations/fr.json.mjs +6 -1
  168. package/lib/esm/translations/it.json.mjs +6 -1
  169. package/lib/esm/translations/ja.json.mjs +6 -1
  170. package/lib/esm/translations/ko.json.mjs +6 -1
  171. package/lib/esm/translations/nl.json.mjs +6 -1
  172. package/lib/esm/translations/pl.json.mjs +6 -1
  173. package/lib/esm/translations/pt.json.mjs +6 -1
  174. package/lib/esm/translations/sv.json.mjs +6 -1
  175. package/lib/esm/translations/tr.json.mjs +6 -1
  176. package/lib/esm/translations/vi.json.mjs +6 -1
  177. package/lib/esm/translations/zh.json.mjs +6 -1
  178. package/lib/types/components/AccordionRows/AccordionRows.d.ts +41 -0
  179. package/lib/types/components/Body/Body.d.ts +6 -0
  180. package/lib/types/components/Body/Body.types.d.ts +87 -0
  181. package/lib/types/components/Body/Cell.d.ts +1 -0
  182. package/lib/types/components/Body/Cell.types.d.ts +36 -0
  183. package/lib/types/components/Body/LimitOverlay.d.ts +17 -0
  184. package/lib/types/components/Body/MergedCells.d.ts +17 -0
  185. package/lib/types/components/Body/Row.d.ts +47 -0
  186. package/lib/types/components/Body/Row.types.d.ts +74 -0
  187. package/lib/types/components/Body/RowGroup.d.ts +19 -0
  188. package/lib/types/components/DataTable/DataTable.d.ts +14 -0
  189. package/lib/types/components/DataTable/DataTable.types.d.ts +202 -0
  190. package/lib/types/components/DataTable/ScrollBars.d.ts +11 -0
  191. package/lib/types/components/Head/Column.d.ts +39 -0
  192. package/lib/types/components/Head/Column.types.d.ts +85 -0
  193. package/lib/types/components/Head/Group.d.ts +15 -0
  194. package/lib/types/components/Head/Group.type.d.ts +18 -0
  195. package/lib/types/components/Head/Head.d.ts +9 -0
  196. package/lib/types/components/Head/Head.types.d.ts +58 -0
  197. package/lib/types/components/RowSelector/RowsSelector.d.ts +32 -0
  198. package/lib/types/components/RowSelector/SRAnnouncer.d.ts +10 -0
  199. package/lib/types/components/RowSelector/SRReactiveAnnouncer.d.ts +8 -0
  200. package/lib/types/enhancers/focusableCell.d.ts +9 -0
  201. package/lib/types/index.d.ts +10 -2
  202. package/lib/types/store/SelectableRows.d.ts +60 -0
  203. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +70 -0
  204. package/package.json +6 -6
  205. package/lib/cjs/Body.js +0 -477
  206. package/lib/cjs/Body.js.map +0 -1
  207. package/lib/cjs/DataTable.js +0 -629
  208. package/lib/cjs/DataTable.js.map +0 -1
  209. package/lib/cjs/Head.js +0 -398
  210. package/lib/cjs/Head.js.map +0 -1
  211. package/lib/cjs/style/data-table.shadow.css +0 -413
  212. package/lib/cjs/types.js +0 -4
  213. package/lib/cjs/types.js.map +0 -1
  214. package/lib/cjs/utils.js +0 -57
  215. package/lib/cjs/utils.js.map +0 -1
  216. package/lib/es6/Body.js +0 -469
  217. package/lib/es6/Body.js.map +0 -1
  218. package/lib/es6/DataTable.js +0 -619
  219. package/lib/es6/DataTable.js.map +0 -1
  220. package/lib/es6/Head.js +0 -390
  221. package/lib/es6/Head.js.map +0 -1
  222. package/lib/es6/style/data-table.shadow.css +0 -413
  223. package/lib/es6/types.js +0 -2
  224. package/lib/es6/types.js.map +0 -1
  225. package/lib/es6/utils.js +0 -48
  226. package/lib/es6/utils.js.map +0 -1
  227. package/lib/esm/Body.mjs +0 -430
  228. package/lib/esm/DataTable.mjs +0 -589
  229. package/lib/esm/Head.mjs +0 -368
  230. package/lib/esm/style/data-table.shadow.css +0 -413
  231. package/lib/esm/utils.mjs +0 -52
  232. package/lib/types/Body.d.ts +0 -61
  233. package/lib/types/DataTable.d.ts +0 -205
  234. package/lib/types/Head.d.ts +0 -45
  235. package/lib/types/types.d.ts +0 -73
  236. package/lib/types/utils.d.ts +0 -4
package/lib/esm/Head.mjs DELETED
@@ -1,368 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/esm/createClass";
5
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
6
- import _inherits from "@babel/runtime/helpers/esm/inherits";
7
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
8
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
- import { sstyled, assignProps, Component } from "@semcore/core";
10
- import React from "react";
11
- import { ScreenReaderOnly, Flex, Box } from "@semcore/flex-box";
12
- import ScrollArea, { hideScrollBarsFromScreenReadersContext } from "@semcore/scroll-area";
13
- import SortDesc from "@semcore/icon/SortDesc/m";
14
- import SortAsc from "@semcore/icon/SortAsc/m";
15
- import { callAllEventHandlers } from "@semcore/utils/lib/assignProps";
16
- import { flattenColumns, getFixedStyle, getScrollOffsetValue } from "./utils.mjs";
17
- import logger from "@semcore/utils/lib/logger";
18
- import { setRef } from "@semcore/utils/lib/ref";
19
- import { getFocusableIn } from "@semcore/utils/lib/focus-lock/getFocusableIn";
20
- var SORT_ICON_WIDTH = 20;
21
- var SORTING_ICON = {
22
- desc: SortDesc,
23
- asc: SortAsc
24
- };
25
- var ariaSort = {
26
- desc: "descending",
27
- asc: "ascending"
28
- };
29
- var displayContents = {
30
- display: "contents"
31
- };
32
- function cssToIntDefault(value) {
33
- var defaultValue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
34
- var result = parseFloat(value);
35
- if (Number.isNaN(result)) {
36
- result = defaultValue;
37
- }
38
- return Math.round(result);
39
- }
40
- var Head = /* @__PURE__ */ function(_Component) {
41
- _inherits(Head2, _Component);
42
- var _super = _createSuper(Head2);
43
- function Head2() {
44
- var _this;
45
- _classCallCheck(this, Head2);
46
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
- args[_key] = arguments[_key];
48
- }
49
- _this = _super.call.apply(_super, [this].concat(args));
50
- _defineProperty(_assertThisInitialized(_this), "columns", []);
51
- _defineProperty(_assertThisInitialized(_this), "headCellMap", /* @__PURE__ */ new Map());
52
- _defineProperty(_assertThisInitialized(_this), "lockedCell", [null, false]);
53
- _defineProperty(_assertThisInitialized(_this), "sortWrapperRefs", /* @__PURE__ */ new Map());
54
- _defineProperty(_assertThisInitialized(_this), "defaultWidths", /* @__PURE__ */ new Map());
55
- _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function(e) {
56
- if (e.currentTarget === _this.lockedCell[0]) {
57
- var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function(node) {
58
- return getFocusableIn(node);
59
- });
60
- if (_this.lockedCell[1]) {
61
- if (e.key === "Escape") {
62
- var _this$lockedCell$;
63
- (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
64
- _this.lockedCell[1] = false;
65
- }
66
- if (e.key.startsWith("Arrow")) {
67
- e.stopPropagation();
68
- }
69
- if (e.key === "Tab") {
70
- if (e.target === focusableChildren[0] && e.shiftKey) {
71
- var _focusableChildren;
72
- (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
73
- e.preventDefault();
74
- } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
75
- var _focusableChildren$;
76
- (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
77
- e.preventDefault();
78
- }
79
- }
80
- } else if (e.key === "Enter") {
81
- var _focusableChildren$2;
82
- _this.lockedCell[1] = true;
83
- (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
84
- } else if (e.key === "Tab") {
85
- var _this$lockedCell$2;
86
- (_this$lockedCell$2 = _this.lockedCell[0]) === null || _this$lockedCell$2 === void 0 ? void 0 : _this$lockedCell$2.setAttribute("inert", "");
87
- }
88
- }
89
- });
90
- _defineProperty(_assertThisInitialized(_this), "onFocusCell", function(e) {
91
- if (e.target === e.currentTarget) {
92
- var focusableChildren = Array.from(e.currentTarget.children).flatMap(function(node) {
93
- return getFocusableIn(node);
94
- });
95
- if (focusableChildren.length === 1) {
96
- focusableChildren[0].focus();
97
- } else if (focusableChildren.length > 1) {
98
- _this.lockedCell = [e.currentTarget, false];
99
- }
100
- }
101
- });
102
- _defineProperty(_assertThisInitialized(_this), "bindHandlerSortClick", function(name) {
103
- return function(event) {
104
- _this.asProps.$onSortClick(name, event);
105
- };
106
- });
107
- _defineProperty(_assertThisInitialized(_this), "bindHandlerKeyDown", function(name) {
108
- return function(event) {
109
- if (event.key === "Enter" || event.key === " ") {
110
- event.preventDefault();
111
- _this.asProps.$onSortClick(name, event);
112
- }
113
- };
114
- });
115
- _defineProperty(_assertThisInitialized(_this), "makeSortRefHandler", function(active) {
116
- return function(ref) {
117
- if (ref) {
118
- _this.sortWrapperRefs.set(ref, active);
119
- }
120
- };
121
- });
122
- _defineProperty(_assertThisInitialized(_this), "makeColumnRefHandler", function(column, index) {
123
- return function(ref) {
124
- setRef(column.props.ref, ref);
125
- _this.headCellMap.set(index, ref);
126
- if (column.props.forwardRef) {
127
- setRef(column.props.forwardRef, ref);
128
- }
129
- if (ref && ref.getAttribute("scope") === "col") {
130
- if (!_this.defaultWidths.has(ref)) {
131
- var computedStyle = window.getComputedStyle(ref);
132
- _this.defaultWidths.set(ref, {
133
- minWidth: cssToIntDefault(computedStyle.getPropertyValue("min-width")),
134
- computedWidth: cssToIntDefault(computedStyle.getPropertyValue("width")),
135
- maxWidth: cssToIntDefault(computedStyle.getPropertyValue("max-width")) || null,
136
- useForRecalculation: Boolean(column.props.sortSizeRecalculation)
137
- });
138
- }
139
- }
140
- };
141
- });
142
- _defineProperty(_assertThisInitialized(_this), "changeMaxNodeWidth", function(diff, exceptNode) {
143
- var lastMaxWidth = 0;
144
- var node = null;
145
- var recalculatedNodes = [];
146
- _this.defaultWidths.forEach(function(value, key) {
147
- if (value.computedWidth > lastMaxWidth && key !== exceptNode) {
148
- node = key;
149
- lastMaxWidth = value.computedWidth;
150
- }
151
- if (value.useForRecalculation) {
152
- recalculatedNodes.push(key);
153
- }
154
- });
155
- var setNodeMinWidth = function setNodeMinWidth2(node2, diff2) {
156
- var _this$defaultWidths$g, _this$defaultWidths$g2;
157
- var defaultNodeWidth = (_this$defaultWidths$g = _this.defaultWidths.get(node2)) === null || _this$defaultWidths$g === void 0 ? void 0 : _this$defaultWidths$g.computedWidth;
158
- var defaultNodeMinWidth = (_this$defaultWidths$g2 = _this.defaultWidths.get(node2)) === null || _this$defaultWidths$g2 === void 0 ? void 0 : _this$defaultWidths$g2.minWidth;
159
- if (defaultNodeWidth) {
160
- var maxWidth = defaultNodeWidth - diff2;
161
- node2.style.setProperty("max-width", "".concat(maxWidth, "px"));
162
- if (defaultNodeMinWidth) {
163
- node2.style.setProperty("min-width", "min(".concat(maxWidth, "px, ").concat(defaultNodeMinWidth, "px)"));
164
- }
165
- }
166
- };
167
- if (recalculatedNodes.length > 0) {
168
- var diffPart = diff / recalculatedNodes.length;
169
- recalculatedNodes.forEach(function(node2) {
170
- setNodeMinWidth(node2, diffPart);
171
- });
172
- } else if (node !== null) {
173
- setNodeMinWidth(node, diff);
174
- }
175
- });
176
- _defineProperty(_assertThisInitialized(_this), "backToColumnDefaults", function(node) {
177
- var _this$defaultWidths$g3, _this$defaultWidths$g4;
178
- var defaultNodeMinWidth = (_this$defaultWidths$g3 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g3 === void 0 ? void 0 : _this$defaultWidths$g3.minWidth;
179
- var defaultNodeMaxWidth = (_this$defaultWidths$g4 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g4 === void 0 ? void 0 : _this$defaultWidths$g4.maxWidth;
180
- node.style.setProperty("min-width", defaultNodeMinWidth + "px");
181
- if (defaultNodeMaxWidth) {
182
- node.style.setProperty("max-width", defaultNodeMaxWidth + "px");
183
- } else {
184
- node.style.removeProperty("max-width");
185
- }
186
- });
187
- _defineProperty(_assertThisInitialized(_this), "calculateActiveColumnMinWidth", function(node) {
188
- var _this$defaultWidths$g5, _this$defaultWidths$g6;
189
- var clonedColumn = document.createElement("div");
190
- var computedStyle = window.getComputedStyle(node);
191
- node.childNodes.forEach(function(node2) {
192
- if (!_this.sortWrapperRefs.get(node2)) {
193
- clonedColumn.append(node2.cloneNode(true));
194
- }
195
- });
196
- clonedColumn.style.setProperty("visibility", "hidden", "important");
197
- var styles = ["display", "flex", "margin", "padding", "background", "font-style", "font-width", "font-size", "font-weight"];
198
- styles.forEach(function(key) {
199
- clonedColumn.style.setProperty(key, computedStyle.getPropertyValue(key), computedStyle.getPropertyPriority(key));
200
- });
201
- clonedColumn.style.setProperty("width", "fit-content", "important");
202
- document.body.appendChild(clonedColumn);
203
- var computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);
204
- document.body.removeChild(clonedColumn);
205
- var defaultNodeWidth = (_this$defaultWidths$g5 = (_this$defaultWidths$g6 = _this.defaultWidths.get(node)) === null || _this$defaultWidths$g6 === void 0 ? void 0 : _this$defaultWidths$g6.computedWidth) !== null && _this$defaultWidths$g5 !== void 0 ? _this$defaultWidths$g5 : 0;
206
- if (computedWidth >= defaultNodeWidth) {
207
- node.style.setProperty("min-width", defaultNodeWidth + SORT_ICON_WIDTH + "px");
208
- _this.changeMaxNodeWidth(SORT_ICON_WIDTH, node);
209
- } else {
210
- var freeSpace = defaultNodeWidth - computedWidth;
211
- if (freeSpace < SORT_ICON_WIDTH) {
212
- node.style.setProperty("min-width", computedWidth + SORT_ICON_WIDTH + "px");
213
- _this.changeMaxNodeWidth(freeSpace, node);
214
- }
215
- }
216
- });
217
- return _this;
218
- }
219
- _createClass(Head2, [{
220
- key: "sortableColumnDescribeId",
221
- value: function sortableColumnDescribeId() {
222
- var uid = this.asProps.uid;
223
- return "".concat(uid, "-column-sortable-describer");
224
- }
225
- }, {
226
- key: "componentDidUpdate",
227
- value: function componentDidUpdate() {
228
- var _this2 = this;
229
- var activeColumn = null;
230
- this.columns.forEach(function(column) {
231
- var _column$props = column.props, changeSortSize = _column$props.changeSortSize, ref = _column$props.ref;
232
- if (column.active && changeSortSize && ref.current) {
233
- activeColumn = ref.current;
234
- }
235
- if (ref.current) {
236
- _this2.backToColumnDefaults(ref.current);
237
- }
238
- });
239
- if (activeColumn) {
240
- this.calculateActiveColumnMinWidth(activeColumn);
241
- }
242
- }
243
- }, {
244
- key: "renderColumns",
245
- value: function renderColumns(columns, width) {
246
- var _this3 = this;
247
- return columns.map(function(column) {
248
- return _this3.renderColumn(column, width);
249
- });
250
- }
251
- }, {
252
- key: "renderColumn",
253
- value: function renderColumn(column, width) {
254
- var _ref2, _column$columns;
255
- var _this$asProps = this.asProps, styles = _this$asProps.styles, use = _this$asProps.use, hidden = _this$asProps.hidden, uid = _this$asProps.uid;
256
- var SColumn = Flex;
257
- var SHead = Box;
258
- var SSortWrapper = "div";
259
- var SSortIcon = SORTING_ICON[column.sortDirection];
260
- var ariaSortValue = column.sortable && column.active ? ariaSort[column.sortDirection] : void 0;
261
- var isGroup = ((_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.length) > 0;
262
- var cSize = isGroup ? flattenColumns(column.columns).length : 1;
263
- var _getFixedStyle = getFixedStyle(column, this.columns), _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2), name = _getFixedStyle2[0], value = _getFixedStyle2[1];
264
- var style = _objectSpread({
265
- flexBasis: column.props.flex === void 0 && "".concat(width * cSize, "%")
266
- }, column.props.style);
267
- if (name !== void 0 && value !== void 0) {
268
- style[name] = value;
269
- }
270
- if (!column.setVar) {
271
- style["flexBasis"] = "var(".concat(column.varWidth, ")");
272
- }
273
- var ariaDescribedBy = [];
274
- if (column.sortable && !column.active) {
275
- ariaDescribedBy.push(this.sortableColumnDescribeId());
276
- }
277
- if (column.parentColumns.length > 0) {
278
- var parentName = column.parentColumns[0].name;
279
- ariaDescribedBy.push("igc-table-".concat(uid, "-").concat(parentName, "-group"));
280
- }
281
- var index = this.columns.findIndex(function(flattenCol) {
282
- return flattenCol.name === column.name;
283
- });
284
- return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SColumn, _ref2.cn("SColumn", _objectSpread(_objectSpread({
285
- "role": isGroup ? void 0 : "columnheader",
286
- "scope": isGroup ? "colgroup" : "col",
287
- "key": column.name,
288
- "id": "igc-table-".concat(uid, "-").concat(column.name),
289
- "use": use,
290
- "fixed": column.fixed,
291
- "resizable": column.resizable,
292
- "sortable": column.sortable,
293
- "borderLeft": isGroup ? false : column.borderLeft,
294
- "borderRight": isGroup ? false : column.borderRight,
295
- "active": isGroup ? false : column.active,
296
- "group": isGroup,
297
- "tabIndex": isGroup ? void 0 : -1,
298
- "__excludeProps": ["hidden"]
299
- }, column.props), {}, {
300
- "ref": this.makeColumnRefHandler(column, index),
301
- "onClick": callAllEventHandlers(column.props.onClick, column.sortable ? this.bindHandlerSortClick(column.name) : void 0),
302
- "onKeyDown": callAllEventHandlers(column.props.onKeyDown, column.sortable ? this.bindHandlerKeyDown(column.name) : void 0, this.handleKeyDown),
303
- "style": style,
304
- "hidden": hidden,
305
- "aria-sort": ariaSortValue,
306
- "aria-colindex": isGroup ? void 0 : index + 1,
307
- "onFocus": this.onFocusCell,
308
- "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(" ") : void 0
309
- })), isGroup ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SColumn, _ref2.cn("SColumn", {
310
- "id": "igc-table-".concat(uid, "-").concat(column.name, "-group"),
311
- "groupHead": true,
312
- "use": use,
313
- "active": column.active,
314
- "borderLeft": column.borderLeft,
315
- "borderRight": column.borderRight
316
- }), /* @__PURE__ */ React.createElement("div", _ref2.cn("div", {}), column.props.children)), /* @__PURE__ */ React.createElement(SHead, _ref2.cn("SHead", {}), this.renderColumns(column.columns, 100 / cSize))) : /* @__PURE__ */ React.createElement(React.Fragment, null, column.props.children, column.sortable ? /* @__PURE__ */ React.createElement(SSortWrapper, _ref2.cn("SSortWrapper", {
317
- "ref": this.makeSortRefHandler(column.active)
318
- }), /* @__PURE__ */ React.createElement(SSortIcon, _ref2.cn("SSortIcon", {}))) : null));
319
- }
320
- }, {
321
- key: "render",
322
- value: function render() {
323
- var _ref = this.asProps, _ref3;
324
- var SHead = Box;
325
- var SHeadWrapper = Box;
326
- var _this$asProps2 = this.asProps, Children = _this$asProps2.Children, styles = _this$asProps2.styles, columnsChildren = _this$asProps2.columnsChildren, onResize = _this$asProps2.onResize, $scrollRef = _this$asProps2.$scrollRef, sticky = _this$asProps2.sticky, withScrollBar = _this$asProps2.withScrollBar, animationsDisabled = _this$asProps2.animationsDisabled, getI18nText = _this$asProps2.getI18nText;
327
- this.columns = flattenColumns(columnsChildren);
328
- var _getScrollOffsetValue = getScrollOffsetValue(this.columns), _getScrollOffsetValue2 = _slicedToArray(_getScrollOffsetValue, 2), offsetLeftSum = _getScrollOffsetValue2[0], offsetRightSum = _getScrollOffsetValue2[1];
329
- logger.warn(sticky, "'sticky' property is deprecated, use '<Sticky/>' wrapper", this.asProps["data-ui-name"] || Head2.displayName);
330
- return _ref3 = sstyled(styles), /* @__PURE__ */ React.createElement(hideScrollBarsFromScreenReadersContext.Provider, {
331
- value: true
332
- }, /* @__PURE__ */ React.createElement(SHeadWrapper, _ref3.cn("SHeadWrapper", {
333
- "sticky": sticky,
334
- "animationsDisabled": animationsDisabled
335
- }), /* @__PURE__ */ React.createElement(ScrollArea, _ref3.cn("ScrollArea", {
336
- "leftOffset": offsetLeftSum,
337
- "rightOffset": offsetRightSum,
338
- "shadow": true,
339
- "onResize": onResize
340
- }), /* @__PURE__ */ React.createElement(ScrollArea.Container, {
341
- ref: $scrollRef,
342
- role: "rowgroup",
343
- tabIndex: -1,
344
- zIndex: 2
345
- }, /* @__PURE__ */ React.createElement(SHead, _ref3.cn("SHead", _objectSpread({}, assignProps({
346
- "role": "row",
347
- "__excludeProps": ["hidden"]
348
- }, _ref))), this.renderColumns(columnsChildren, 100 / this.columns.length))), Boolean(withScrollBar) && /* @__PURE__ */ React.createElement("div", _ref3.cn("div", {
349
- "style": displayContents
350
- }), /* @__PURE__ */ React.createElement("div", _ref3.cn("div", {
351
- "style": displayContents
352
- }), /* @__PURE__ */ React.createElement("div", _ref3.cn("div", {
353
- "style": displayContents
354
- }), /* @__PURE__ */ React.createElement(ScrollArea.Bar, {
355
- orientation: "horizontal"
356
- }))))), Children.origin, /* @__PURE__ */ React.createElement(ScreenReaderOnly, _ref3.cn("ScreenReaderOnly", {
357
- "aria-hidden": true,
358
- "id": this.sortableColumnDescribeId()
359
- }), getI18nText === null || getI18nText === void 0 ? void 0 : getI18nText("sortableColumn"))));
360
- }
361
- }]);
362
- return Head2;
363
- }(Component);
364
- _defineProperty(Head, "displayName", void 0);
365
- export {
366
- SORT_ICON_WIDTH,
367
- Head as default
368
- };