@semcore/data-table 16.0.0-prerelease.12 → 16.0.0-prerelease.13

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 (83) hide show
  1. package/lib/esm/Body.mjs +23 -22
  2. package/lib/esm/DataTable.mjs +11 -11
  3. package/lib/esm/Head.mjs +15 -15
  4. package/lib/esm/components/Body/Body.mjs +195 -0
  5. package/lib/esm/components/Body/Cell.mjs +129 -0
  6. package/lib/esm/components/Body/MergedCells.mjs +21 -0
  7. package/lib/esm/components/Body/Row.mjs +193 -0
  8. package/lib/esm/components/DataTable/DataTable.mjs +492 -0
  9. package/lib/esm/components/Head/Column.mjs +262 -0
  10. package/lib/esm/components/Head/Group.mjs +89 -0
  11. package/lib/esm/components/Head/Head.mjs +134 -0
  12. package/lib/esm/index.mjs +3 -0
  13. package/lib/esm/translations/en.json.mjs +3 -1
  14. package/lib/esm/utils.mjs +6 -6
  15. package/package.json +6 -6
  16. package/vite.config.ts +0 -3
  17. package/lib/cjs/Body.js +0 -475
  18. package/lib/cjs/Body.js.map +0 -1
  19. package/lib/cjs/DataTable.js +0 -622
  20. package/lib/cjs/DataTable.js.map +0 -1
  21. package/lib/cjs/Head.js +0 -399
  22. package/lib/cjs/Head.js.map +0 -1
  23. package/lib/cjs/index.js +0 -26
  24. package/lib/cjs/index.js.map +0 -1
  25. package/lib/cjs/style/data-table.shadow.css +0 -394
  26. package/lib/cjs/style/scroll-shadows.shadow.css +0 -7
  27. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +0 -39
  28. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +0 -1
  29. package/lib/cjs/translations/de.json +0 -3
  30. package/lib/cjs/translations/en.json +0 -3
  31. package/lib/cjs/translations/es.json +0 -3
  32. package/lib/cjs/translations/fr.json +0 -3
  33. package/lib/cjs/translations/it.json +0 -3
  34. package/lib/cjs/translations/ja.json +0 -3
  35. package/lib/cjs/translations/ko.json +0 -3
  36. package/lib/cjs/translations/nl.json +0 -3
  37. package/lib/cjs/translations/pl.json +0 -3
  38. package/lib/cjs/translations/pt.json +0 -3
  39. package/lib/cjs/translations/sv.json +0 -3
  40. package/lib/cjs/translations/tr.json +0 -3
  41. package/lib/cjs/translations/vi.json +0 -3
  42. package/lib/cjs/translations/zh.json +0 -3
  43. package/lib/cjs/types.js +0 -4
  44. package/lib/cjs/types.js.map +0 -1
  45. package/lib/cjs/utils.js +0 -57
  46. package/lib/cjs/utils.js.map +0 -1
  47. package/lib/es6/Body.js +0 -468
  48. package/lib/es6/Body.js.map +0 -1
  49. package/lib/es6/DataTable.js +0 -614
  50. package/lib/es6/DataTable.js.map +0 -1
  51. package/lib/es6/Head.js +0 -391
  52. package/lib/es6/Head.js.map +0 -1
  53. package/lib/es6/index.js +0 -3
  54. package/lib/es6/index.js.map +0 -1
  55. package/lib/es6/style/data-table.shadow.css +0 -394
  56. package/lib/es6/style/scroll-shadows.shadow.css +0 -7
  57. package/lib/es6/translations/__intergalactic-dynamic-locales.js +0 -31
  58. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +0 -1
  59. package/lib/es6/translations/de.json +0 -3
  60. package/lib/es6/translations/en.json +0 -3
  61. package/lib/es6/translations/es.json +0 -3
  62. package/lib/es6/translations/fr.json +0 -3
  63. package/lib/es6/translations/it.json +0 -3
  64. package/lib/es6/translations/ja.json +0 -3
  65. package/lib/es6/translations/ko.json +0 -3
  66. package/lib/es6/translations/nl.json +0 -3
  67. package/lib/es6/translations/pl.json +0 -3
  68. package/lib/es6/translations/pt.json +0 -3
  69. package/lib/es6/translations/sv.json +0 -3
  70. package/lib/es6/translations/tr.json +0 -3
  71. package/lib/es6/translations/vi.json +0 -3
  72. package/lib/es6/translations/zh.json +0 -3
  73. package/lib/es6/types.js +0 -2
  74. package/lib/es6/types.js.map +0 -1
  75. package/lib/es6/utils.js +0 -48
  76. package/lib/es6/utils.js.map +0 -1
  77. package/lib/types/Body.d.ts +0 -61
  78. package/lib/types/DataTable.d.ts +0 -205
  79. package/lib/types/Head.d.ts +0 -45
  80. package/lib/types/index.d.ts +0 -2
  81. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +0 -44
  82. package/lib/types/types.d.ts +0 -73
  83. package/lib/types/utils.d.ts +0 -4
@@ -0,0 +1,262 @@
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, assignProps, Component } from "@semcore/core";
9
+ import * as React from "react";
10
+ import { Flex } from "@semcore/base-components";
11
+ import SortDesc from "@semcore/icon/SortDesc/m";
12
+ import SortAsc from "@semcore/icon/SortAsc/m";
13
+ import { ButtonLink } from "@semcore/button";
14
+ import { getFocusableIn } from "@semcore/core/lib/utils/focus-lock/getFocusableIn";
15
+ import { SORT_ICON_WIDTH } from "../../Head.mjs";
16
+ import canUseDOM from "@semcore/core/lib/utils/canUseDOM";
17
+ var style = (
18
+ /*__reshadow_css_start__*/
19
+ (sstyled.insert(
20
+ /*__inner_css_start__*/
21
+ '.___SHead_182z1_gg_{display:contents}.___SHead_182z1_gg_.__sticky_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:0;z-index:1}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{top:0}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroupContainer_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:40px;z-index:1}.___SHead_182z1_gg_.__compact_182z1_gg_ .___SColumn_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_182z1_gg_,.___SGroup_182z1_gg_{display:flex;align-items:flex-start;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;height:100%;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SGroup_182z1_gg_._use_primary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-3x, 12px);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_182z1_gg_._use_secondary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-2x, 8px);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SGroup_182z1_gg_:has(.___SColumn_182z1_gg_.__visibleSort_182z1_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_left_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_left_182z1_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_right_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_right_182z1_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_,.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before,.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before{display:flex;opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_{display:flex;opacity:1}.___SColumn_182z1_gg_.__gridArea_182z1_gg_,.___SGroupTitle_182z1_gg_.__gridArea_182z1_gg_,.___SGroup_182z1_gg_.__gridArea_182z1_gg_{grid-area:var(--gridArea_182z1)}.___SHead_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_ .___SGroup_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{position:sticky;z-index:2}@media (hover:hover){.___SColumn_182z1_gg_.__sortable_182z1_gg_:hover{cursor:pointer}}.___SSortWrapper_182z1_gg_{align-items:center;display:flex;flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortButton_182z1_gg_,.___SSortWrapper_182z1_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_182z1_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_182z1_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
22
+ "182z1_gg_"
23
+ ), {
24
+ "__SHead": "___SHead_182z1_gg_",
25
+ "_sticky": "__sticky_182z1_gg_",
26
+ "__SColumn": "___SColumn_182z1_gg_",
27
+ "__SGroup": "___SGroup_182z1_gg_",
28
+ "__SGroupContainer": "___SGroupContainer_182z1_gg_",
29
+ "_compact": "__compact_182z1_gg_",
30
+ "_use_primary": "_use_primary_182z1_gg_",
31
+ "_use_secondary": "_use_secondary_182z1_gg_",
32
+ "_visibleSort": "__visibleSort_182z1_gg_",
33
+ "_borders_both": "_borders_both_182z1_gg_",
34
+ "_borders_left": "_borders_left_182z1_gg_",
35
+ "_borders_right": "_borders_right_182z1_gg_",
36
+ "_gridArea": "__gridArea_182z1_gg_",
37
+ "__SGroupTitle": "___SGroupTitle_182z1_gg_",
38
+ "--gridArea": "--gridArea_182z1",
39
+ "_fixed": "__fixed_182z1_gg_",
40
+ "_sortable": "__sortable_182z1_gg_",
41
+ "__SSortWrapper": "___SSortWrapper_182z1_gg_",
42
+ "__SSortButton": "___SSortButton_182z1_gg_"
43
+ })
44
+ );
45
+ var SORTING_ICON = {
46
+ desc: SortDesc,
47
+ asc: SortAsc
48
+ };
49
+ var ARIA_SORT = {
50
+ desc: "descending",
51
+ asc: "ascending"
52
+ };
53
+ var DEFAULT_DIRECTION = "desc";
54
+ var reversedSortDirection = {
55
+ desc: "asc",
56
+ asc: "desc"
57
+ };
58
+ var Column = /* @__PURE__ */ function(_Component) {
59
+ _inherits(Column2, _Component);
60
+ var _super = _createSuper(Column2);
61
+ function Column2() {
62
+ var _this;
63
+ _classCallCheck(this, Column2);
64
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
+ args[_key] = arguments[_key];
66
+ }
67
+ _this = _super.call.apply(_super, [this].concat(args));
68
+ _defineProperty(_assertThisInitialized(_this), "lockedCell", [null, false]);
69
+ _defineProperty(_assertThisInitialized(_this), "columnRef", /* @__PURE__ */ React.createRef());
70
+ _defineProperty(_assertThisInitialized(_this), "sortWrapperRef", /* @__PURE__ */ React.createRef());
71
+ _defineProperty(_assertThisInitialized(_this), "state", {
72
+ sortVisible: false
73
+ });
74
+ _defineProperty(_assertThisInitialized(_this), "calculateActiveColumnMinWidth", function() {
75
+ var node = _this.columnRef.current;
76
+ if (node) {
77
+ var _this$columnRef$curre, _this$columnRef$curre2;
78
+ var clonedColumn = document.createElement("div");
79
+ var computedStyle = window.getComputedStyle(node);
80
+ node.childNodes.forEach(function(node2) {
81
+ if (_this.sortWrapperRef.current !== node2) {
82
+ clonedColumn.append(node2.cloneNode(true));
83
+ }
84
+ });
85
+ clonedColumn.style.setProperty("visibility", "hidden", "important");
86
+ var styles = ["display", "flex", "margin", "padding", "background", "font-style", "font-width", "font-size", "font-weight"];
87
+ styles.forEach(function(key) {
88
+ clonedColumn.style.setProperty(key, computedStyle.getPropertyValue(key), computedStyle.getPropertyPriority(key));
89
+ });
90
+ clonedColumn.style.setProperty("width", "fit-content", "important");
91
+ document.body.appendChild(clonedColumn);
92
+ var computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);
93
+ document.body.removeChild(clonedColumn);
94
+ var defaultNodeWidth = (_this$columnRef$curre = (_this$columnRef$curre2 = _this.columnRef.current) === null || _this$columnRef$curre2 === void 0 ? void 0 : _this$columnRef$curre2.clientWidth) !== null && _this$columnRef$curre !== void 0 ? _this$columnRef$curre : 0;
95
+ if (computedWidth >= defaultNodeWidth) {
96
+ return defaultNodeWidth + SORT_ICON_WIDTH;
97
+ } else {
98
+ var freeSpace = defaultNodeWidth - computedWidth;
99
+ if (freeSpace < SORT_ICON_WIDTH) {
100
+ return computedWidth + SORT_ICON_WIDTH;
101
+ }
102
+ }
103
+ }
104
+ return null;
105
+ });
106
+ _defineProperty(_assertThisInitialized(_this), "handleMouseEnter", function() {
107
+ _this.setState({
108
+ sortVisible: true
109
+ });
110
+ });
111
+ _defineProperty(_assertThisInitialized(_this), "handleMouseLeave", function() {
112
+ _this.setState({
113
+ sortVisible: false
114
+ });
115
+ });
116
+ _defineProperty(_assertThisInitialized(_this), "handleBlur", function() {
117
+ _this.setState({
118
+ sortVisible: false
119
+ });
120
+ });
121
+ _defineProperty(_assertThisInitialized(_this), "handleSortClick", function(e) {
122
+ var _this$asProps = _this.asProps, sort = _this$asProps.sort, onSortChange = _this$asProps.onSortChange, name = _this$asProps.name;
123
+ if (sort && onSortChange) {
124
+ var sortDirection = sort[0] === name ? reversedSortDirection[sort[1]] : DEFAULT_DIRECTION;
125
+ onSortChange([name, sortDirection], e);
126
+ }
127
+ });
128
+ _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function(e) {
129
+ if (e.currentTarget === _this.lockedCell[0]) {
130
+ var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function(node) {
131
+ return getFocusableIn(node);
132
+ });
133
+ if (_this.lockedCell[1]) {
134
+ if (e.key === "Escape") {
135
+ var _this$lockedCell$;
136
+ (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
137
+ _this.lockedCell[1] = false;
138
+ }
139
+ if (e.key.startsWith("Arrow")) {
140
+ e.stopPropagation();
141
+ }
142
+ if (e.key === "Tab") {
143
+ if (e.target === focusableChildren[0] && e.shiftKey) {
144
+ var _focusableChildren;
145
+ (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
146
+ e.preventDefault();
147
+ } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
148
+ var _focusableChildren$;
149
+ (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
150
+ e.preventDefault();
151
+ }
152
+ }
153
+ } else if (e.key === "Enter") {
154
+ var _focusableChildren$2;
155
+ _this.lockedCell[1] = true;
156
+ (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
157
+ } else if (e.key === "Tab") {
158
+ var _this$lockedCell$2;
159
+ (_this$lockedCell$2 = _this.lockedCell[0]) === null || _this$lockedCell$2 === void 0 ? void 0 : _this$lockedCell$2.setAttribute("inert", "");
160
+ }
161
+ }
162
+ });
163
+ _defineProperty(_assertThisInitialized(_this), "handleFocusCell", function(e) {
164
+ var cellElement = e.currentTarget;
165
+ var target = e.target;
166
+ _this.setState({
167
+ sortVisible: true
168
+ }, function() {
169
+ if (target === cellElement) {
170
+ var focusableChildren = Array.from(cellElement.children).flatMap(function(node) {
171
+ return getFocusableIn(node);
172
+ });
173
+ if (focusableChildren.length === 1) {
174
+ focusableChildren[0].focus();
175
+ } else if (focusableChildren.length > 1) {
176
+ _this.lockedCell = [cellElement, false];
177
+ }
178
+ }
179
+ });
180
+ });
181
+ return _this;
182
+ }
183
+ _createClass(Column2, [{
184
+ key: "componentDidUpdate",
185
+ value: function componentDidUpdate(prevProps) {
186
+ var _prevProps$sort, _this$asProps$sort;
187
+ if (this.asProps.changeSortSize && canUseDOM() && ((_prevProps$sort = prevProps.sort) === null || _prevProps$sort === void 0 ? void 0 : _prevProps$sort[0]) !== ((_this$asProps$sort = this.asProps.sort) === null || _this$asProps$sort === void 0 ? void 0 : _this$asProps$sort[0])) {
188
+ var _this$asProps$sort2, _this$asProps$sort3;
189
+ var _this$asProps2 = this.asProps, tableRef = _this$asProps2.tableRef, gridTemplateColumns = _this$asProps2.gridTemplateColumns, columnIndex = _this$asProps2.columnIndex;
190
+ if (((_this$asProps$sort2 = this.asProps.sort) === null || _this$asProps$sort2 === void 0 ? void 0 : _this$asProps$sort2[0]) === this.asProps.name) {
191
+ var newWidth = this.calculateActiveColumnMinWidth();
192
+ setTimeout(function() {
193
+ if (tableRef.current && newWidth !== null) {
194
+ tableRef.current.style.setProperty("grid-template-columns", gridTemplateColumns.map(function(gtcWidth, index) {
195
+ if (index === columnIndex) {
196
+ return "".concat(newWidth, "px");
197
+ }
198
+ return gtcWidth;
199
+ }).join(" "));
200
+ }
201
+ });
202
+ } else if (((_this$asProps$sort3 = this.asProps.sort) === null || _this$asProps$sort3 === void 0 ? void 0 : _this$asProps$sort3[0]) !== this.asProps.name) {
203
+ setTimeout(function() {
204
+ if (tableRef.current) {
205
+ tableRef.current.style.setProperty("grid-template-columns", gridTemplateColumns.join(" "));
206
+ }
207
+ });
208
+ }
209
+ }
210
+ }
211
+ }, {
212
+ key: "render",
213
+ value: function render() {
214
+ var _ref = this.asProps, _ref2;
215
+ var SColumn = Flex;
216
+ var SSortWrapper = "div";
217
+ var SSortButton = ButtonLink;
218
+ var _this$asProps3 = this.asProps, styles = _this$asProps3.styles, sortable = _this$asProps3.sortable, sort = _this$asProps3.sort, uid = _this$asProps3.uid, name = _this$asProps3.name, parent = _this$asProps3.parent, sortableColumnDescribeId = _this$asProps3.sortableColumnDescribeId;
219
+ var SSortIcon = sort ? SORTING_ICON[sort[1]] : SORTING_ICON["asc"];
220
+ var isSorted = (sort === null || sort === void 0 ? void 0 : sort[0]) === name;
221
+ var visibleSort = sortable && (this.state.sortVisible || isSorted);
222
+ var ariaDescribedBy = [];
223
+ if (isSorted) {
224
+ ariaDescribedBy.push(sortableColumnDescribeId);
225
+ }
226
+ if (parent) {
227
+ ariaDescribedBy.push("igc-table-".concat(uid, "-").concat(parent.name, "-group"));
228
+ }
229
+ var ariaSortValue = sort !== null && sort !== void 0 && sort[1] ? ARIA_SORT[sort[1]] : void 0;
230
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SColumn, _ref2.cn("SColumn", _objectSpread({}, assignProps({
231
+ "ref": this.columnRef,
232
+ "role": "columnheader",
233
+ "tabIndex": -1,
234
+ "onMouseEnter": this.handleMouseEnter,
235
+ "onMouseLeave": this.handleMouseLeave,
236
+ "onFocus": this.handleFocusCell,
237
+ "onBlur": this.handleBlur,
238
+ "onKeyDown": this.handleKeyDown,
239
+ "visibleSort": visibleSort,
240
+ "isSorted": isSorted,
241
+ "innerOutline": true,
242
+ "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(" ") : void 0,
243
+ "aria-sort": ariaSortValue,
244
+ "onClick": this.handleSortClick
245
+ }, _ref))), this.asProps.children, sortable && /* @__PURE__ */ React.createElement(SSortWrapper, _ref2.cn("SSortWrapper", {
246
+ "ref": this.sortWrapperRef
247
+ }), /* @__PURE__ */ React.createElement(SSortButton, _ref2.cn("SSortButton", {
248
+ "onClick": this.handleSortClick,
249
+ "aria-label": ariaSortValue,
250
+ "color": "--intergalactic-icon-primary-neutral"
251
+ }), /* @__PURE__ */ React.createElement(SSortButton.Addon, {
252
+ tag: SSortIcon
253
+ }))));
254
+ }
255
+ }]);
256
+ return Column2;
257
+ }(Component);
258
+ _defineProperty(Column, "displayName", "Column");
259
+ _defineProperty(Column, "style", style);
260
+ export {
261
+ Column
262
+ };
@@ -0,0 +1,89 @@
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, assignProps, Component } from "@semcore/core";
9
+ import * as React from "react";
10
+ import { Box } from "@semcore/base-components";
11
+ import getOriginChildren from "@semcore/core/lib/utils/getOriginChildren";
12
+ var style = (
13
+ /*__reshadow_css_start__*/
14
+ (sstyled.insert(
15
+ /*__inner_css_start__*/
16
+ '.___SHead_182z1_gg_{display:contents}.___SHead_182z1_gg_.__sticky_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:0;z-index:1}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{top:0}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroupContainer_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:40px;z-index:1}.___SHead_182z1_gg_.__compact_182z1_gg_ .___SColumn_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_182z1_gg_,.___SGroup_182z1_gg_{display:flex;align-items:flex-start;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;height:100%;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SGroup_182z1_gg_._use_primary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-3x, 12px);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_182z1_gg_._use_secondary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-2x, 8px);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SGroup_182z1_gg_:has(.___SColumn_182z1_gg_.__visibleSort_182z1_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_left_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_left_182z1_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_right_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_right_182z1_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_,.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before,.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before{display:flex;opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_{display:flex;opacity:1}.___SColumn_182z1_gg_.__gridArea_182z1_gg_,.___SGroupTitle_182z1_gg_.__gridArea_182z1_gg_,.___SGroup_182z1_gg_.__gridArea_182z1_gg_{grid-area:var(--gridArea_182z1)}.___SHead_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_ .___SGroup_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{position:sticky;z-index:2}@media (hover:hover){.___SColumn_182z1_gg_.__sortable_182z1_gg_:hover{cursor:pointer}}.___SSortWrapper_182z1_gg_{align-items:center;display:flex;flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortButton_182z1_gg_,.___SSortWrapper_182z1_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_182z1_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_182z1_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
17
+ "182z1_gg_"
18
+ ), {
19
+ "__SHead": "___SHead_182z1_gg_",
20
+ "_sticky": "__sticky_182z1_gg_",
21
+ "__SColumn": "___SColumn_182z1_gg_",
22
+ "__SGroup": "___SGroup_182z1_gg_",
23
+ "__SGroupContainer": "___SGroupContainer_182z1_gg_",
24
+ "_compact": "__compact_182z1_gg_",
25
+ "_use_primary": "_use_primary_182z1_gg_",
26
+ "_use_secondary": "_use_secondary_182z1_gg_",
27
+ "_visibleSort": "__visibleSort_182z1_gg_",
28
+ "_borders_both": "_borders_both_182z1_gg_",
29
+ "_borders_left": "_borders_left_182z1_gg_",
30
+ "_borders_right": "_borders_right_182z1_gg_",
31
+ "_gridArea": "__gridArea_182z1_gg_",
32
+ "__SGroupTitle": "___SGroupTitle_182z1_gg_",
33
+ "--gridArea": "--gridArea_182z1",
34
+ "_fixed": "__fixed_182z1_gg_",
35
+ "_sortable": "__sortable_182z1_gg_",
36
+ "__SSortWrapper": "___SSortWrapper_182z1_gg_",
37
+ "__SSortButton": "___SSortButton_182z1_gg_"
38
+ })
39
+ );
40
+ var Group = /* @__PURE__ */ function(_Component) {
41
+ _inherits(Group2, _Component);
42
+ var _super = _createSuper(Group2);
43
+ function Group2() {
44
+ var _this;
45
+ _classCallCheck(this, Group2);
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), "mounted", false);
51
+ return _this;
52
+ }
53
+ _createClass(Group2, [{
54
+ key: "componentDidMount",
55
+ value: function componentDidMount() {
56
+ this.mounted = true;
57
+ this.forceUpdate();
58
+ }
59
+ }, {
60
+ key: "render",
61
+ value: function render() {
62
+ var _ref = this.asProps, _ref2, _children$, _children;
63
+ var SGroupContainer = Box;
64
+ var SGroup = Box;
65
+ var _this$asProps = this.asProps, styles = _this$asProps.styles, Children = _this$asProps.Children, title = _this$asProps.title, fixed = _this$asProps.fixed, fixedColumnsMap = _this$asProps.fixedColumnsMap;
66
+ var children = getOriginChildren(Children);
67
+ var firstName = (_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.props.name;
68
+ var lastName = (_children = children[children.length - 1]) === null || _children === void 0 ? void 0 : _children.props.name;
69
+ var style2 = {};
70
+ if (fixed === "left" && firstName) {
71
+ style2.left = fixedColumnsMap.get(firstName);
72
+ }
73
+ if (fixed === "right") {
74
+ style2.right = fixedColumnsMap.get(lastName);
75
+ }
76
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {
77
+ "display": "contents"
78
+ }), this.mounted && /* @__PURE__ */ React.createElement(SGroup, _ref2.cn("SGroup", _objectSpread({}, assignProps({
79
+ "style": style2
80
+ }, _ref))), title), /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {})));
81
+ }
82
+ }]);
83
+ return Group2;
84
+ }(Component);
85
+ _defineProperty(Group, "displayName", "Group");
86
+ _defineProperty(Group, "style", style);
87
+ export {
88
+ Group
89
+ };
@@ -0,0 +1,134 @@
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, createComponent, assignProps, Component } from "@semcore/core";
10
+ import * as React from "react";
11
+ import { ScreenReaderOnly, Box } from "@semcore/base-components";
12
+ import { Column } from "./Column.mjs";
13
+ import { Group } from "./Group.mjs";
14
+ import { getFixedStyle, getScrollOffsetValue } from "../../utils.mjs";
15
+ var style = (
16
+ /*__reshadow_css_start__*/
17
+ (sstyled.insert(
18
+ /*__inner_css_start__*/
19
+ '.___SHead_182z1_gg_{display:contents}.___SHead_182z1_gg_.__sticky_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:0;z-index:1}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{top:0}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroupContainer_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:40px;z-index:1}.___SHead_182z1_gg_.__compact_182z1_gg_ .___SColumn_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_182z1_gg_,.___SGroup_182z1_gg_{display:flex;align-items:flex-start;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;height:100%;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SGroup_182z1_gg_._use_primary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-3x, 12px);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_182z1_gg_._use_secondary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-2x, 8px);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SGroup_182z1_gg_:has(.___SColumn_182z1_gg_.__visibleSort_182z1_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_left_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_left_182z1_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_right_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_right_182z1_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_,.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before,.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before{display:flex;opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_{display:flex;opacity:1}.___SColumn_182z1_gg_.__gridArea_182z1_gg_,.___SGroupTitle_182z1_gg_.__gridArea_182z1_gg_,.___SGroup_182z1_gg_.__gridArea_182z1_gg_{grid-area:var(--gridArea_182z1)}.___SHead_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_ .___SGroup_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{position:sticky;z-index:2}@media (hover:hover){.___SColumn_182z1_gg_.__sortable_182z1_gg_:hover{cursor:pointer}}.___SSortWrapper_182z1_gg_{align-items:center;display:flex;flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortButton_182z1_gg_,.___SSortWrapper_182z1_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_182z1_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_182z1_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
20
+ "182z1_gg_"
21
+ ), {
22
+ "__SHead": "___SHead_182z1_gg_",
23
+ "_sticky": "__sticky_182z1_gg_",
24
+ "__SColumn": "___SColumn_182z1_gg_",
25
+ "__SGroup": "___SGroup_182z1_gg_",
26
+ "__SGroupContainer": "___SGroupContainer_182z1_gg_",
27
+ "_compact": "__compact_182z1_gg_",
28
+ "_use_primary": "_use_primary_182z1_gg_",
29
+ "_use_secondary": "_use_secondary_182z1_gg_",
30
+ "_visibleSort": "__visibleSort_182z1_gg_",
31
+ "_borders_both": "_borders_both_182z1_gg_",
32
+ "_borders_left": "_borders_left_182z1_gg_",
33
+ "_borders_right": "_borders_right_182z1_gg_",
34
+ "_gridArea": "__gridArea_182z1_gg_",
35
+ "__SGroupTitle": "___SGroupTitle_182z1_gg_",
36
+ "--gridArea": "--gridArea_182z1",
37
+ "_fixed": "__fixed_182z1_gg_",
38
+ "_sortable": "__sortable_182z1_gg_",
39
+ "__SSortWrapper": "___SSortWrapper_182z1_gg_",
40
+ "__SSortButton": "___SSortButton_182z1_gg_"
41
+ })
42
+ );
43
+ var HeadRoot = /* @__PURE__ */ function(_Component) {
44
+ _inherits(HeadRoot2, _Component);
45
+ var _super = _createSuper(HeadRoot2);
46
+ function HeadRoot2() {
47
+ var _this;
48
+ _classCallCheck(this, HeadRoot2);
49
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
50
+ args[_key] = arguments[_key];
51
+ }
52
+ _this = _super.call.apply(_super, [this].concat(args));
53
+ _defineProperty(_assertThisInitialized(_this), "fixedColumnsMap", /* @__PURE__ */ new Map());
54
+ return _this;
55
+ }
56
+ _createClass(HeadRoot2, [{
57
+ key: "sortableColumnDescribeId",
58
+ value: function sortableColumnDescribeId() {
59
+ var uid = this.asProps.uid;
60
+ return "".concat(uid, "-column-sortable-describer");
61
+ }
62
+ }, {
63
+ key: "getGroupProps",
64
+ value: function getGroupProps(_, index) {
65
+ var _this$asProps = this.asProps, use = _this$asProps.use, gridAreaGroupMap = _this$asProps.gridAreaGroupMap;
66
+ return {
67
+ use,
68
+ gridArea: gridAreaGroupMap.get(index),
69
+ fixedColumnsMap: this.fixedColumnsMap
70
+ };
71
+ }
72
+ }, {
73
+ key: "getColumnProps",
74
+ value: function getColumnProps(_, index) {
75
+ var _this$asProps2 = this.asProps, use = _this$asProps2.use, columns = _this$asProps2.columns, sort = _this$asProps2.sort, onSortChange = _this$asProps2.onSortChange, tableRef = _this$asProps2.tableRef, gridTemplateColumns = _this$asProps2.gridTemplateColumns, gridTemplateAreas = _this$asProps2.gridTemplateAreas;
76
+ var column = columns[index];
77
+ var _getFixedStyle = getFixedStyle(column, columns), _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2), name = _getFixedStyle2[0], value = _getFixedStyle2[1];
78
+ var style2 = {};
79
+ if (name !== void 0 && value !== void 0) {
80
+ style2[name] = value;
81
+ this.fixedColumnsMap.set(column.name, value);
82
+ }
83
+ return {
84
+ use,
85
+ "aria-colindex": index + 1,
86
+ ref: function ref(node) {
87
+ return column.ref(node);
88
+ },
89
+ style: style2,
90
+ gridArea: column.gridArea,
91
+ fixed: column.fixed,
92
+ borders: column.borders,
93
+ sort,
94
+ onSortChange,
95
+ parent: column.parent,
96
+ sortableColumnDescribeId: this.sortableColumnDescribeId(),
97
+ columnIndex: index,
98
+ tableRef,
99
+ gridTemplateColumns,
100
+ gridTemplateAreas
101
+ };
102
+ }
103
+ }, {
104
+ key: "render",
105
+ value: function render() {
106
+ var _ref = this.asProps, _ref2;
107
+ var SHead = Box;
108
+ var _this$asProps3 = this.asProps, Children = _this$asProps3.Children, styles = _this$asProps3.styles, columns = _this$asProps3.columns;
109
+ _this$asProps3.tableRef;
110
+ _this$asProps3.withScrollBar;
111
+ var getI18nText = _this$asProps3.getI18nText;
112
+ var _getScrollOffsetValue = getScrollOffsetValue(columns), _getScrollOffsetValue2 = _slicedToArray(_getScrollOffsetValue, 2);
113
+ _getScrollOffsetValue2[0];
114
+ _getScrollOffsetValue2[1];
115
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SHead, _ref2.cn("SHead", _objectSpread({}, assignProps({
116
+ "role": "row",
117
+ "aria-rowindex": 1
118
+ }, _ref))), /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {}))), /* @__PURE__ */ React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
119
+ "aria-hidden": true,
120
+ "id": this.sortableColumnDescribeId()
121
+ }), getI18nText("sortableColumn")));
122
+ }
123
+ }]);
124
+ return HeadRoot2;
125
+ }(Component);
126
+ _defineProperty(HeadRoot, "displayName", "Head");
127
+ _defineProperty(HeadRoot, "style", style);
128
+ var Head = createComponent(HeadRoot, {
129
+ Column,
130
+ Group
131
+ });
132
+ export {
133
+ Head
134
+ };
package/lib/esm/index.mjs CHANGED
@@ -1,5 +1,8 @@
1
+ import { ACCORDION, DataTable } from "./components/DataTable/DataTable.mjs";
1
2
  import { ROW_GROUP, default as default2, wrapDataTable, wrapDataTableCell, wrapDataTableRow } from "./DataTable.mjs";
2
3
  export {
4
+ ACCORDION,
5
+ DataTable,
3
6
  ROW_GROUP,
4
7
  default2 as default,
5
8
  wrapDataTable,
@@ -1,6 +1,8 @@
1
1
  const sortableColumn = "Sortable";
2
2
  const en = {
3
- sortableColumn
3
+ sortableColumn,
4
+ "DataTable.Cell.AccordionToggle.expand:aria-label": "Show details",
5
+ "DataTable.Cell.AccordionToggle.collapse:aria-label": "Hide details"
4
6
  };
5
7
  export {
6
8
  en as default,
package/lib/esm/utils.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  var getScrollOffsetValue = function getScrollOffsetValue2(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]);
@@ -40,10 +40,10 @@ var getFixedStyle = function getFixedStyle2(cell, columns) {
40
40
  };
41
41
  var columnsFixed = columns.slice(startIndexSideMap[side], endIndexSideMap[side]);
42
42
  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(" + "), ")")];
43
+ var sum = columnsFixed.reduce(function(acc, column) {
44
+ return acc + column.calculatedWidth;
45
+ }, 0);
46
+ return [side, "".concat(sum, "px")];
47
47
  };
48
48
  export {
49
49
  flattenColumns,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/data-table",
3
3
  "description": "Semrush DataTable Component",
4
- "version": "16.0.0-prerelease.12",
4
+ "version": "16.0.0-prerelease.13",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,9 +14,9 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/icon": "16.0.0-prerelease.12",
18
- "@semcore/flex-box": "16.0.0-prerelease.12",
19
- "@semcore/scroll-area": "16.0.0-prerelease.12"
17
+ "@semcore/icon": "16.0.0-prerelease.13",
18
+ "@semcore/flex-box": "16.0.0-prerelease.13",
19
+ "@semcore/scroll-area": "16.0.0-prerelease.13"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/react": "18.0.21",
@@ -36,7 +36,7 @@
36
36
  "csstype": "3.0.8"
37
37
  },
38
38
  "peerDependencies": {
39
- "@semcore/base-components": "^16.0.0-prerelease.12"
39
+ "@semcore/base-components": "^16.0.0-prerelease.13"
40
40
  },
41
41
  "repository": {
42
42
  "type": "git",
@@ -44,6 +44,6 @@
44
44
  "directory": "semcore/data-table"
45
45
  },
46
46
  "scripts": {
47
- "build": "pnpm semcore-builder --source=ts && pnpm vite build"
47
+ "build": "pnpm vite build"
48
48
  }
49
49
  }
package/vite.config.ts CHANGED
@@ -9,9 +9,6 @@ export default mergeConfig(
9
9
  lib: {
10
10
  entry: './src/index.ts',
11
11
  },
12
- rollupOptions: {
13
- external: ['react', 'react-dom', 'react/jsx-runtime', /@babel\/runtime\/*/, /@semcore\/*/],
14
- },
15
12
  },
16
13
  }),
17
14
  );