@semcore/data-table 16.0.0 → 16.0.1-prerelease.2
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.
- package/CHANGELOG.md +12 -1
- package/lib/cjs/components/Body/Body.js +73 -53
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/Body/Body.types.js.map +1 -1
- package/lib/cjs/components/Body/Cell.js +35 -34
- package/lib/cjs/components/Body/Cell.js.map +1 -1
- package/lib/cjs/components/Body/Cell.types.js.map +1 -1
- package/lib/cjs/components/Body/MergedCells.js +6 -2
- package/lib/cjs/components/Body/MergedCells.js.map +1 -1
- package/lib/cjs/components/Body/Row.js +87 -80
- package/lib/cjs/components/Body/Row.js.map +1 -1
- package/lib/cjs/components/Body/Row.types.js.map +1 -1
- package/lib/cjs/components/Body/style.shadow.css +13 -10
- package/lib/cjs/components/DataTable/DataTable.js +215 -162
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/cjs/components/Head/Column.js +71 -61
- package/lib/cjs/components/Head/Column.js.map +1 -1
- package/lib/cjs/components/Head/Column.types.js.map +1 -1
- package/lib/cjs/components/Head/Group.js +23 -22
- package/lib/cjs/components/Head/Group.js.map +1 -1
- package/lib/cjs/components/Head/Head.js +67 -65
- package/lib/cjs/components/Head/Head.js.map +1 -1
- package/lib/cjs/components/Head/Head.types.js.map +1 -1
- package/lib/cjs/components/Head/style.shadow.css +5 -1
- package/lib/cjs/style/scroll-shadows.shadow.css +6 -0
- package/lib/es6/components/Body/Body.js +74 -54
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/Body/Body.types.js.map +1 -1
- package/lib/es6/components/Body/Cell.js +35 -34
- package/lib/es6/components/Body/Cell.js.map +1 -1
- package/lib/es6/components/Body/Cell.types.js.map +1 -1
- package/lib/es6/components/Body/MergedCells.js +6 -2
- package/lib/es6/components/Body/MergedCells.js.map +1 -1
- package/lib/es6/components/Body/Row.js +87 -80
- package/lib/es6/components/Body/Row.js.map +1 -1
- package/lib/es6/components/Body/Row.types.js +1 -1
- package/lib/es6/components/Body/Row.types.js.map +1 -1
- package/lib/es6/components/Body/style.shadow.css +13 -10
- package/lib/es6/components/DataTable/DataTable.js +213 -161
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/es6/components/Head/Column.js +71 -61
- package/lib/es6/components/Head/Column.js.map +1 -1
- package/lib/es6/components/Head/Column.types.js.map +1 -1
- package/lib/es6/components/Head/Group.js +24 -23
- package/lib/es6/components/Head/Group.js.map +1 -1
- package/lib/es6/components/Head/Head.js +68 -66
- package/lib/es6/components/Head/Head.js.map +1 -1
- package/lib/es6/components/Head/Head.types.js.map +1 -1
- package/lib/es6/components/Head/style.shadow.css +5 -1
- package/lib/es6/style/scroll-shadows.shadow.css +6 -0
- package/lib/esm/components/Body/Body.mjs +74 -55
- package/lib/esm/components/Body/Cell.mjs +36 -35
- package/lib/esm/components/Body/MergedCells.mjs +6 -2
- package/lib/esm/components/Body/Row.mjs +67 -61
- package/lib/esm/components/Body/style.shadow.css +13 -10
- package/lib/esm/components/DataTable/DataTable.mjs +168 -119
- package/lib/esm/components/Head/Column.mjs +54 -49
- package/lib/esm/components/Head/Group.mjs +25 -24
- package/lib/esm/components/Head/Head.mjs +47 -46
- package/lib/esm/components/Head/style.shadow.css +5 -1
- package/lib/esm/style/scroll-shadows.shadow.css +6 -0
- package/lib/types/components/Body/Body.types.d.ts +2 -1
- package/lib/types/components/Body/Cell.types.d.ts +2 -0
- package/lib/types/components/Body/MergedCells.d.ts +6 -2
- package/lib/types/components/Body/Row.types.d.ts +11 -4
- package/lib/types/components/DataTable/DataTable.d.ts +3 -2
- package/lib/types/components/DataTable/DataTable.types.d.ts +10 -3
- package/lib/types/components/Head/Column.d.ts +1 -0
- package/lib/types/components/Head/Column.types.d.ts +4 -15
- package/lib/types/components/Head/Head.d.ts +3 -3
- package/lib/types/components/Head/Head.types.d.ts +6 -1
- package/package.json +10 -10
- package/lib/cjs/utils.js +0 -66
- package/lib/cjs/utils.js.map +0 -1
- package/lib/es6/utils.js +0 -56
- package/lib/es6/utils.js.map +0 -1
- package/lib/esm/utils.mjs +0 -43
- package/lib/types/utils.d.ts +0 -8
|
@@ -13,29 +13,30 @@ import { Flex } from '@semcore/base-components';
|
|
|
13
13
|
import SortDesc from '@semcore/icon/SortDesc/m';
|
|
14
14
|
import SortAsc from '@semcore/icon/SortAsc/m';
|
|
15
15
|
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
16
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
16
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SGroupContainer_1311w_gg_,.___SHead_1311w_gg_{display:contents}.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SColumn_1311w_gg_{position:sticky;top:0;z-index:2}.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SGroup_1311w_gg_{top:0}.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SGroupContainer_1311w_gg_>.___SColumn_1311w_gg_{position:sticky;z-index:2}.___SHead_1311w_gg_.__compact_1311w_gg_ .___SColumn_1311w_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_1311w_gg_,.___SGroup_1311w_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;overflow:hidden}.___SGroup_1311w_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_1311w_gg_._use_primary_1311w_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_1311w_gg_._use_primary_1311w_gg_:has(~.___SColumn_1311w_gg_.__visibleSort_1311w_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_1311w_gg_._use_secondary_1311w_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_1311w_gg_._borders_both_1311w_gg_,.___SColumn_1311w_gg_._borders_left_1311w_gg_,.___SGroup_1311w_gg_._borders_both_1311w_gg_,.___SGroup_1311w_gg_._borders_left_1311w_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1311w_gg_._borders_both_1311w_gg_,.___SColumn_1311w_gg_._borders_right_1311w_gg_,.___SGroup_1311w_gg_._borders_both_1311w_gg_,.___SGroup_1311w_gg_._borders_right_1311w_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1311w_gg_._use_primary_1311w_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_1311w_gg_._use_primary_1311w_gg_ .___SSortWrapper_1311w_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortButton_1311w_gg_,.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_::before,.___SColumn_1311w_gg_._use_secondary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_::before{display:flex;opacity:1}.___SColumn_1311w_gg_._use_secondary_1311w_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_1311w_gg_._use_secondary_1311w_gg_ .___SSortWrapper_1311w_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_1311w_gg_._use_secondary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1311w_gg_._use_secondary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortButton_1311w_gg_{display:flex;opacity:1}.___SColumn_1311w_gg_.__gridArea_1311w_gg_,.___SGroupTitle_1311w_gg_.__gridArea_1311w_gg_,.___SGroup_1311w_gg_.__gridArea_1311w_gg_{grid-area:var(--gridArea_1311w)}.___SHead_1311w_gg_ .___SColumn_1311w_gg_.__fixed_1311w_gg_,.___SHead_1311w_gg_ .___SGroup_1311w_gg_.__fixed_1311w_gg_,.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SColumn_1311w_gg_.__fixed_1311w_gg_,.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SGroup_1311w_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_1311w_gg_.__sortable_1311w_gg_:hover{cursor:pointer}}.___SSortWrapper_1311w_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_1311w_gg_,.___SSortWrapper_1311w_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1311w_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_1311w_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}.___SHead_1311w_gg_._sideIndents_wide_1311w_gg_ .___SColumn_1311w_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_1311w_gg_._sideIndents_wide_1311w_gg_ .___SColumn_1311w_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_1311w_gg_{cursor:pointer}", /*__inner_css_end__*/"1311w_gg_"),
|
|
17
17
|
/*__reshadow_css_end__*/
|
|
18
18
|
{
|
|
19
|
-
"__SHead": "
|
|
20
|
-
"__SGroupContainer": "
|
|
21
|
-
"_sticky": "
|
|
22
|
-
"__SColumn": "
|
|
23
|
-
"__SGroup": "
|
|
24
|
-
"_compact": "
|
|
25
|
-
"_use_secondary": "
|
|
26
|
-
"_borders_both": "
|
|
27
|
-
"_borders_left": "
|
|
28
|
-
"_borders_right": "
|
|
29
|
-
"_gridArea": "
|
|
30
|
-
"__SGroupTitle": "
|
|
31
|
-
"--gridArea": "--
|
|
32
|
-
"_fixed": "
|
|
33
|
-
"_sortable": "
|
|
34
|
-
"__SSortWrapper": "
|
|
35
|
-
"__SSortButton": "
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
19
|
+
"__SHead": "___SHead_1311w_gg_",
|
|
20
|
+
"__SGroupContainer": "___SGroupContainer_1311w_gg_",
|
|
21
|
+
"_sticky": "__sticky_1311w_gg_",
|
|
22
|
+
"__SColumn": "___SColumn_1311w_gg_",
|
|
23
|
+
"__SGroup": "___SGroup_1311w_gg_",
|
|
24
|
+
"_compact": "__compact_1311w_gg_",
|
|
25
|
+
"_use_secondary": "_use_secondary_1311w_gg_",
|
|
26
|
+
"_borders_both": "_borders_both_1311w_gg_",
|
|
27
|
+
"_borders_left": "_borders_left_1311w_gg_",
|
|
28
|
+
"_borders_right": "_borders_right_1311w_gg_",
|
|
29
|
+
"_gridArea": "__gridArea_1311w_gg_",
|
|
30
|
+
"__SGroupTitle": "___SGroupTitle_1311w_gg_",
|
|
31
|
+
"--gridArea": "--gridArea_1311w",
|
|
32
|
+
"_fixed": "__fixed_1311w_gg_",
|
|
33
|
+
"_sortable": "__sortable_1311w_gg_",
|
|
34
|
+
"__SSortWrapper": "___SSortWrapper_1311w_gg_",
|
|
35
|
+
"__SSortButton": "___SSortButton_1311w_gg_",
|
|
36
|
+
"__SHeadCheckboxCol": "___SHeadCheckboxCol_1311w_gg_",
|
|
37
|
+
"_use_primary": "_use_primary_1311w_gg_",
|
|
38
|
+
"_visibleSort": "__visibleSort_1311w_gg_",
|
|
39
|
+
"_sideIndents_wide": "_sideIndents_wide_1311w_gg_"
|
|
39
40
|
});
|
|
40
41
|
import { ButtonLink } from '@semcore/button';
|
|
41
42
|
import { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';
|
|
@@ -186,19 +187,19 @@ export var Column = /*#__PURE__*/function (_Component) {
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
});
|
|
189
|
-
|
|
190
|
-
/** Dirty hack to prevent table content from scrolling down after coming to header from elements after table when pressing shift+tab */
|
|
191
|
-
var tableElement = _this.asProps.tableRef.current;
|
|
192
|
-
if (tableElement) {
|
|
193
|
-
tableElement.scrollIntoView({});
|
|
194
|
-
}
|
|
195
190
|
});
|
|
196
191
|
return _this;
|
|
197
192
|
}
|
|
198
193
|
_createClass(Column, [{
|
|
199
194
|
key: "componentDidMount",
|
|
200
195
|
value: function componentDidMount() {
|
|
201
|
-
|
|
196
|
+
var _this$asProps2 = this.asProps,
|
|
197
|
+
parent = _this$asProps2.parent,
|
|
198
|
+
sticky = _this$asProps2.sticky,
|
|
199
|
+
changeSortSize = _this$asProps2.changeSortSize,
|
|
200
|
+
name = _this$asProps2.name,
|
|
201
|
+
sort = _this$asProps2.sort;
|
|
202
|
+
if (parent && sticky) {
|
|
202
203
|
var _columnElement$parent;
|
|
203
204
|
var columnElement = this.columnRef.current;
|
|
204
205
|
var groupElement = columnElement === null || columnElement === void 0 ? void 0 : (_columnElement$parent = columnElement.parentElement) === null || _columnElement$parent === void 0 ? void 0 : _columnElement$parent.children.item(0);
|
|
@@ -207,36 +208,45 @@ export var Column = /*#__PURE__*/function (_Component) {
|
|
|
207
208
|
columnElement === null || columnElement === void 0 ? void 0 : columnElement.style.setProperty('top', "".concat(groupHeight, "px"));
|
|
208
209
|
}
|
|
209
210
|
}
|
|
211
|
+
if (canUseDOM() && changeSortSize && (sort === null || sort === void 0 ? void 0 : sort[0]) === name) {
|
|
212
|
+
this.changeTemplateColumnBySort();
|
|
213
|
+
}
|
|
210
214
|
}
|
|
211
215
|
}, {
|
|
212
216
|
key: "componentDidUpdate",
|
|
213
217
|
value: function componentDidUpdate(prevProps) {
|
|
214
218
|
var _prevProps$sort, _this$asProps$sort;
|
|
215
219
|
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])) {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
220
|
+
this.changeTemplateColumnBySort();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}, {
|
|
224
|
+
key: "changeTemplateColumnBySort",
|
|
225
|
+
value: function changeTemplateColumnBySort() {
|
|
226
|
+
var _this$asProps3 = this.asProps,
|
|
227
|
+
tableRef = _this$asProps3.tableRef,
|
|
228
|
+
gridTemplateColumns = _this$asProps3.gridTemplateColumns,
|
|
229
|
+
columnIndex = _this$asProps3.columnIndex,
|
|
230
|
+
sort = _this$asProps3.sort,
|
|
231
|
+
name = _this$asProps3.name;
|
|
232
|
+
if ((sort === null || sort === void 0 ? void 0 : sort[0]) === name) {
|
|
233
|
+
var newWidth = this.calculateActiveColumnMinWidth();
|
|
234
|
+
setTimeout(function () {
|
|
235
|
+
if (tableRef.current && newWidth !== null) {
|
|
236
|
+
tableRef.current.style.setProperty('grid-template-columns', gridTemplateColumns.map(function (gtcWidth, index) {
|
|
237
|
+
if (index === columnIndex) {
|
|
238
|
+
return "".concat(newWidth, "px");
|
|
239
|
+
}
|
|
240
|
+
return gtcWidth;
|
|
241
|
+
}).join(' '));
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
} else if ((sort === null || sort === void 0 ? void 0 : sort[0]) !== name) {
|
|
245
|
+
setTimeout(function () {
|
|
246
|
+
if (tableRef.current) {
|
|
247
|
+
tableRef.current.style.setProperty('grid-template-columns', gridTemplateColumns.join(' '));
|
|
248
|
+
}
|
|
249
|
+
});
|
|
240
250
|
}
|
|
241
251
|
}
|
|
242
252
|
}, {
|
|
@@ -256,15 +266,15 @@ export var Column = /*#__PURE__*/function (_Component) {
|
|
|
256
266
|
var SColumn = Flex;
|
|
257
267
|
var SSortWrapper = 'div';
|
|
258
268
|
var SSortButton = ButtonLink;
|
|
259
|
-
var _this$
|
|
260
|
-
styles = _this$
|
|
261
|
-
sortable = _this$
|
|
262
|
-
sort = _this$
|
|
263
|
-
uid = _this$
|
|
264
|
-
name = _this$
|
|
265
|
-
parent = _this$
|
|
266
|
-
sortableColumnDescribeId = _this$
|
|
267
|
-
Children = _this$
|
|
269
|
+
var _this$asProps4 = this.asProps,
|
|
270
|
+
styles = _this$asProps4.styles,
|
|
271
|
+
sortable = _this$asProps4.sortable,
|
|
272
|
+
sort = _this$asProps4.sort,
|
|
273
|
+
uid = _this$asProps4.uid,
|
|
274
|
+
name = _this$asProps4.name,
|
|
275
|
+
parent = _this$asProps4.parent,
|
|
276
|
+
sortableColumnDescribeId = _this$asProps4.sortableColumnDescribeId,
|
|
277
|
+
Children = _this$asProps4.Children;
|
|
268
278
|
var SSortIcon = sort && sort[0] === name ? SORTING_ICON[sort[1]] : SORTING_ICON[this.defaultDirection];
|
|
269
279
|
var isSorted = (sort === null || sort === void 0 ? void 0 : sort[0]) === name;
|
|
270
280
|
var visibleSort = Boolean(sortable) && (this.state.sortVisible || isSorted);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Column.js","names":["React","Component","lastInteraction","Root","sstyled","Flex","SortDesc","SortAsc","style","_sstyled","insert","ButtonLink","getFocusableIn","canUseDOM","isFocusInside","SORTING_ICON","desc","asc","ARIA_SORT","SORT_ICON_WIDTH","DEFAULT_DIRECTION","reversedSortDirection","Column","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","sortVisible","node","columnRef","current","_this$columnRef$curre","_this$columnRef$curre2","clonedColumn","document","createElement","computedStyle","window","getComputedStyle","childNodes","forEach","sortWrapperRef","append","cloneNode","setProperty","styles","key","getPropertyValue","getPropertyPriority","body","appendChild","computedWidth","Math","ceil","getBoundingClientRect","width","removeChild","defaultNodeWidth","clientWidth","freeSpace","setState","e","relatedTarget","currentTarget","isKeyboard","_this$asProps","asProps","sort","onSortChange","name","isMouse","target","sortDirection","defaultDirection","lockedCell","focusableChildren","from","children","flatMap","_this$lockedCell$","focus","startsWith","stopPropagation","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","cellElement","tableElement","tableRef","scrollIntoView","_createClass","value","componentDidMount","parent","sticky","_columnElement$parent","columnElement","groupElement","parentElement","item","groupHeight","height","componentDidUpdate","prevProps","_prevProps$sort","_this$asProps$sort","changeSortSize","_this$asProps$sort2","_this$asProps$sort3","_this$asProps2","gridTemplateColumns","columnIndex","newWidth","calculateActiveColumnMinWidth","setTimeout","map","gtcWidth","index","join","get","sortable","render","_ref","_ref2","SColumn","SSortWrapper","SSortButton","_this$asProps3","uid","sortableColumnDescribeId","Children","SSortIcon","isSorted","visibleSort","Boolean","state","ariaDescribedBy","push","ariaSortValue","undefined","cn","_objectSpread","_assignProps","handleMouseEnter","handleMouseLeave","handleFocusCell","handleBlur","handleKeyDown","handleSortClick","Addon","tag"],"sources":["../../../../src/components/Head/Column.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Intergalactic, lastInteraction, Root, sstyled } from '@semcore/core';\nimport { ColumnPropsInner, DataTableColumnProps } from './Column.types';\nimport { Flex } from '@semcore/base-components';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { IconProps } from '@semcore/icon';\n\nimport style from './style.shadow.css';\nimport { ButtonLink } from '@semcore/button';\nimport type { DataTableData, SortDirection } from '../DataTable/DataTable.types';\nimport { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\n\nconst SORTING_ICON: { [key in SortDirection]: Intergalactic.Component<'svg', IconProps> } = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\n\nconst ARIA_SORT = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\nconst SORT_ICON_WIDTH = 20;\n\nconst DEFAULT_DIRECTION = 'desc';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\n\ntype State = {\n sortVisible: boolean;\n};\n\nexport class Column<D extends DataTableData> extends Component<\n DataTableColumnProps,\n {},\n {},\n [],\n ColumnPropsInner<D>\n> {\n static displayName = 'Column';\n static style = style;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n columnRef = React.createRef<HTMLDivElement>();\n sortWrapperRef = React.createRef<HTMLDivElement>();\n\n state: State = {\n sortVisible: false,\n };\n\n componentDidMount() {\n if (this.asProps.parent && this.asProps.sticky) {\n const columnElement = this.columnRef.current;\n const groupElement = columnElement?.parentElement?.children.item(0);\n\n const groupHeight = groupElement?.getBoundingClientRect().height;\n\n if (groupHeight) {\n columnElement?.style.setProperty('top', `${groupHeight}px`);\n }\n }\n }\n\n componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner<D>): void {\n if (\n this.asProps.changeSortSize &&\n canUseDOM() &&\n prevProps.sort?.[0] !== this.asProps.sort?.[0]\n ) {\n const { tableRef, gridTemplateColumns, columnIndex } = this.asProps;\n\n if (this.asProps.sort?.[0] === this.asProps.name) {\n const newWidth = this.calculateActiveColumnMinWidth();\n\n setTimeout(() => {\n if (tableRef.current && newWidth !== null) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns\n .map((gtcWidth, index) => {\n if (index === columnIndex) {\n return `${newWidth}px`;\n }\n return gtcWidth;\n })\n .join(' '),\n );\n }\n });\n } else if (this.asProps.sort?.[0] !== this.asProps.name) {\n setTimeout(() => {\n if (tableRef.current) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns.join(' '),\n );\n }\n });\n }\n }\n }\n\n calculateActiveColumnMinWidth = (): number | null => {\n const node = this.columnRef.current;\n\n if (node) {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (this.sortWrapperRef.current !== node) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.columnRef.current?.clientWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n return defaultNodeWidth + SORT_ICON_WIDTH;\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n return computedWidth + SORT_ICON_WIDTH;\n }\n }\n }\n\n return null;\n };\n\n get defaultDirection() {\n const { sortable } = this.asProps;\n\n if (typeof sortable === 'string') {\n return sortable;\n }\n\n return DEFAULT_DIRECTION;\n }\n\n handleMouseEnter = () => {\n this.setState({ sortVisible: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ sortVisible: false });\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const relatedTarget = e.relatedTarget as HTMLElement | undefined;\n if (!isFocusInside(e.currentTarget, relatedTarget) && lastInteraction.isKeyboard()) {\n this.setState({ sortVisible: false });\n }\n };\n\n handleSortClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n const { sort, onSortChange, name } = this.asProps;\n\n if (\n lastInteraction.isMouse() ||\n (lastInteraction.isKeyboard() && e.target === e.currentTarget)\n ) {\n if (sort && onSortChange) {\n const sortDirection =\n sort[0] === name ? reversedSortDirection[sort[1]] : this.defaultDirection;\n\n onSortChange([name, sortDirection], e);\n }\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n handleFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n const cellElement = e.currentTarget;\n const target = e.target;\n\n this.setState({ sortVisible: true }, () => {\n if (target === cellElement) {\n const focusableChildren = Array.from(cellElement.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [cellElement, false];\n }\n }\n });\n\n /** Dirty hack to prevent table content from scrolling down after coming to header from elements after table when pressing shift+tab */\n const tableElement = this.asProps.tableRef.current;\n if (tableElement) {\n tableElement.scrollIntoView({});\n }\n };\n\n render() {\n const SColumn = Root;\n const SSortWrapper = 'div';\n const SSortButton = ButtonLink;\n const { styles, sortable, sort, uid, name, parent, sortableColumnDescribeId, Children } =\n this.asProps;\n\n const SSortIcon =\n sort && sort[0] === name ? SORTING_ICON[sort[1]] : SORTING_ICON[this.defaultDirection];\n const isSorted = sort?.[0] === name;\n const visibleSort = Boolean(sortable) && (this.state.sortVisible || isSorted);\n\n const ariaDescribedBy = [];\n if (isSorted) {\n ariaDescribedBy.push(sortableColumnDescribeId);\n }\n if (parent) {\n ariaDescribedBy.push(`igc-table-${uid}-${parent.name}-group`);\n }\n\n const ariaSortValue = sort?.[1] ? ARIA_SORT[sort[1]] : undefined;\n\n return sstyled(styles)(\n <SColumn\n render={Flex}\n ref={this.columnRef}\n role={'columnheader'}\n tabIndex={-1}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocusCell}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n visibleSort={visibleSort}\n isSorted={isSorted}\n innerOutline\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n aria-sort={ariaSortValue}\n onClick={sortable ? this.handleSortClick : undefined}\n >\n <Children />\n\n {sortable && (\n <SSortWrapper ref={this.sortWrapperRef}>\n <SSortButton\n onClick={this.handleSortClick}\n aria-label={ariaSortValue}\n color={'--intergalactic-icon-primary-neutral'}\n >\n <SSortButton.Addon tag={SSortIcon} />\n </SSortButton>\n </SSortWrapper>\n )}\n </SColumn>,\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Column.js","names":["React","Component","lastInteraction","Root","sstyled","Flex","SortDesc","SortAsc","style","_sstyled","insert","ButtonLink","getFocusableIn","canUseDOM","isFocusInside","SORTING_ICON","desc","asc","ARIA_SORT","SORT_ICON_WIDTH","DEFAULT_DIRECTION","reversedSortDirection","Column","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","sortVisible","node","columnRef","current","_this$columnRef$curre","_this$columnRef$curre2","clonedColumn","document","createElement","computedStyle","window","getComputedStyle","childNodes","forEach","sortWrapperRef","append","cloneNode","setProperty","styles","key","getPropertyValue","getPropertyPriority","body","appendChild","computedWidth","Math","ceil","getBoundingClientRect","width","removeChild","defaultNodeWidth","clientWidth","freeSpace","setState","e","relatedTarget","currentTarget","isKeyboard","_this$asProps","asProps","sort","onSortChange","name","isMouse","target","sortDirection","defaultDirection","lockedCell","focusableChildren","from","children","flatMap","_this$lockedCell$","focus","startsWith","stopPropagation","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","cellElement","_createClass","value","componentDidMount","_this$asProps2","parent","sticky","changeSortSize","_columnElement$parent","columnElement","groupElement","parentElement","item","groupHeight","height","changeTemplateColumnBySort","componentDidUpdate","prevProps","_prevProps$sort","_this$asProps$sort","_this$asProps3","tableRef","gridTemplateColumns","columnIndex","newWidth","calculateActiveColumnMinWidth","setTimeout","map","gtcWidth","index","join","get","sortable","render","_ref","_ref2","SColumn","SSortWrapper","SSortButton","_this$asProps4","uid","sortableColumnDescribeId","Children","SSortIcon","isSorted","visibleSort","Boolean","state","ariaDescribedBy","push","ariaSortValue","undefined","cn","_objectSpread","_assignProps","handleMouseEnter","handleMouseLeave","handleFocusCell","handleBlur","handleKeyDown","handleSortClick","Addon","tag"],"sources":["../../../../src/components/Head/Column.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Intergalactic, lastInteraction, Root, sstyled } from '@semcore/core';\nimport { ColumnPropsInner, DataTableColumnProps } from './Column.types';\nimport { Flex } from '@semcore/base-components';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { IconProps } from '@semcore/icon';\n\nimport style from './style.shadow.css';\nimport { ButtonLink } from '@semcore/button';\nimport type { DataTableData, SortDirection } from '../DataTable/DataTable.types';\nimport { getFocusableIn } from '@semcore/core/lib/utils/focus-lock/getFocusableIn';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport { isFocusInside } from '@semcore/core/lib/utils/focus-lock/isFocusInside';\n\nconst SORTING_ICON: { [key in SortDirection]: Intergalactic.Component<'svg', IconProps> } = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\n\nconst ARIA_SORT = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\n\nconst SORT_ICON_WIDTH = 20;\n\nconst DEFAULT_DIRECTION = 'desc';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\n\ntype State = {\n sortVisible: boolean;\n};\n\nexport class Column<D extends DataTableData> extends Component<\n DataTableColumnProps,\n {},\n {},\n [],\n ColumnPropsInner<D>\n> {\n static displayName = 'Column';\n static style = style;\n\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n columnRef = React.createRef<HTMLDivElement>();\n sortWrapperRef = React.createRef<HTMLDivElement>();\n\n state: State = {\n sortVisible: false,\n };\n\n componentDidMount() {\n const { parent, sticky, changeSortSize, name, sort } = this.asProps;\n\n if (parent && sticky) {\n const columnElement = this.columnRef.current;\n const groupElement = columnElement?.parentElement?.children.item(0);\n\n const groupHeight = groupElement?.getBoundingClientRect().height;\n\n if (groupHeight) {\n columnElement?.style.setProperty('top', `${groupHeight}px`);\n }\n }\n\n if (canUseDOM() && changeSortSize && sort?.[0] === name) {\n this.changeTemplateColumnBySort();\n }\n }\n\n componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner<D>): void {\n if (\n this.asProps.changeSortSize &&\n canUseDOM() &&\n prevProps.sort?.[0] !== this.asProps.sort?.[0]\n ) {\n this.changeTemplateColumnBySort();\n }\n }\n\n changeTemplateColumnBySort() {\n const { tableRef, gridTemplateColumns, columnIndex, sort, name } = this.asProps;\n\n if (sort?.[0] === name) {\n const newWidth = this.calculateActiveColumnMinWidth();\n\n setTimeout(() => {\n if (tableRef.current && newWidth !== null) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns\n .map((gtcWidth, index) => {\n if (index === columnIndex) {\n return `${newWidth}px`;\n }\n return gtcWidth;\n })\n .join(' '),\n );\n }\n });\n } else if (sort?.[0] !== name) {\n setTimeout(() => {\n if (tableRef.current) {\n tableRef.current.style.setProperty(\n 'grid-template-columns',\n gridTemplateColumns.join(' '),\n );\n }\n });\n }\n }\n\n calculateActiveColumnMinWidth = (): number | null => {\n const node = this.columnRef.current;\n\n if (node) {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (this.sortWrapperRef.current !== node) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.columnRef.current?.clientWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n return defaultNodeWidth + SORT_ICON_WIDTH;\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n return computedWidth + SORT_ICON_WIDTH;\n }\n }\n }\n\n return null;\n };\n\n get defaultDirection() {\n const { sortable } = this.asProps;\n\n if (typeof sortable === 'string') {\n return sortable;\n }\n\n return DEFAULT_DIRECTION;\n }\n\n handleMouseEnter = () => {\n this.setState({ sortVisible: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ sortVisible: false });\n };\n\n handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const relatedTarget = e.relatedTarget as HTMLElement | undefined;\n if (!isFocusInside(e.currentTarget, relatedTarget) && lastInteraction.isKeyboard()) {\n this.setState({ sortVisible: false });\n }\n };\n\n handleSortClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n const { sort, onSortChange, name } = this.asProps;\n\n if (\n lastInteraction.isMouse() ||\n (lastInteraction.isKeyboard() && e.target === e.currentTarget)\n ) {\n if (sort && onSortChange) {\n const sortDirection =\n sort[0] === name ? reversedSortDirection[sort[1]] : this.defaultDirection;\n\n onSortChange([name, sortDirection], e);\n }\n }\n };\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n\n e.stopPropagation();\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n handleFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n const cellElement = e.currentTarget;\n const target = e.target;\n\n this.setState({ sortVisible: true }, () => {\n if (target === cellElement) {\n const focusableChildren = Array.from(cellElement.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [cellElement, false];\n }\n }\n });\n };\n\n render() {\n const SColumn = Root;\n const SSortWrapper = 'div';\n const SSortButton = ButtonLink;\n const { styles, sortable, sort, uid, name, parent, sortableColumnDescribeId, Children } =\n this.asProps;\n\n const SSortIcon =\n sort && sort[0] === name ? SORTING_ICON[sort[1]] : SORTING_ICON[this.defaultDirection];\n const isSorted = sort?.[0] === name;\n const visibleSort = Boolean(sortable) && (this.state.sortVisible || isSorted);\n\n const ariaDescribedBy = [];\n if (isSorted) {\n ariaDescribedBy.push(sortableColumnDescribeId);\n }\n if (parent) {\n ariaDescribedBy.push(`igc-table-${uid}-${parent.name}-group`);\n }\n\n const ariaSortValue = sort?.[1] ? ARIA_SORT[sort[1]] : undefined;\n\n return sstyled(styles)(\n <SColumn\n render={Flex}\n ref={this.columnRef}\n role={'columnheader'}\n tabIndex={-1}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocusCell}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n visibleSort={visibleSort}\n isSorted={isSorted}\n innerOutline\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n aria-sort={ariaSortValue}\n onClick={sortable ? this.handleSortClick : undefined}\n >\n <Children />\n\n {sortable && (\n <SSortWrapper ref={this.sortWrapperRef}>\n <SSortButton\n onClick={this.handleSortClick}\n aria-label={ariaSortValue}\n color={'--intergalactic-icon-primary-neutral'}\n >\n <SSortButton.Addon tag={SSortIcon} />\n </SSortButton>\n </SSortWrapper>\n )}\n </SColumn>,\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Column.types.js","names":[],"sources":["../../../../src/components/Head/Column.types.ts"],"sourcesContent":["import {\n ColumnGroupConfig,\n DataTableData,\n DataTableProps,\n DTUse,\n SortDirection,\n} from '../DataTable/DataTable.types';\nimport { Property } from 'csstype';\n\nexport type CommonColumnType = {\n /**\n * Name of column for mapping with data\n */\n name: string;\n /**\n * Flag to define column as sortable\n */\n sortable?: boolean | SortDirection;\n /**\n * Fixes column to some side of table\n */\n fixed?: 'left' | 'right';\n /**\n * Adds vertical border(s)\n */\n borders?: 'both' | 'left' | 'right';\n /**\n * It manages the `flex-wrap` property\n */\n flexWrap?: boolean;\n /**\n * It manages the `align-items` property\n */\n alignItems?: Property.AlignItems;\n /**\n * It manages the `align-content` property\n */\n alignContent?: Property.AlignContent;\n /**\n * CSS `justify-content` property\n */\n justifyContent?: Property.JustifyContent;\n};\n\nexport type DTColumn =
|
|
1
|
+
{"version":3,"file":"Column.types.js","names":[],"sources":["../../../../src/components/Head/Column.types.ts"],"sourcesContent":["import {\n ColumnGroupConfig,\n ColumnItemConfig,\n DataTableData,\n DataTableProps,\n DTUse,\n SortDirection,\n} from '../DataTable/DataTable.types';\nimport { Property } from 'csstype';\n\nexport type CommonColumnType = {\n /**\n * Name of column for mapping with data\n */\n name: string;\n /**\n * Flag to define column as sortable\n */\n sortable?: boolean | SortDirection;\n /**\n * Fixes column to some side of table\n */\n fixed?: 'left' | 'right';\n /**\n * Adds vertical border(s)\n */\n borders?: 'both' | 'left' | 'right';\n /**\n * It manages the `flex-wrap` property\n */\n flexWrap?: boolean;\n /**\n * It manages the `align-items` property\n */\n alignItems?: Property.AlignItems;\n /**\n * It manages the `align-content` property\n */\n alignContent?: Property.AlignContent;\n /**\n * CSS `justify-content` property\n */\n justifyContent?: Property.JustifyContent;\n};\n\nexport type DTColumn = ColumnItemConfig &\n CommonColumnType & {\n /**\n * Width for grid-template-columns\n */\n gtcWidth: string;\n\n parent?: DTColumn | ColumnGroupConfig;\n\n columns?: DTColumn[];\n children?: React.ReactNode | React.FC;\n\n gridArea?: string;\n };\n\nexport type DataTableColumnProps = CommonColumnType & {\n /**\n * Value for grid-template-columns for current column\n */\n gtcWidth?: string;\n\n /**\n * Flag for change column size if sorted by it\n */\n changeSortSize?: boolean;\n};\n\nexport type ColumnPropsInner<D extends DataTableData> = {\n use: DTUse;\n borders?: 'both' | 'left' | 'right';\n sort?: DataTableProps<D>['sort'];\n onSortChange?: DataTableProps<D>['onSortChange'];\n uid: string;\n parent?: DTColumn;\n sortableColumnDescribeId: string;\n columnIndex: number;\n tableRef: React.RefObject<HTMLElement>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sticky: boolean;\n};\n"],"mappings":""}
|
|
@@ -11,32 +11,33 @@ import * as React from 'react';
|
|
|
11
11
|
import { Component, Root, sstyled } from '@semcore/core';
|
|
12
12
|
import { Box } from '@semcore/base-components';
|
|
13
13
|
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
14
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
14
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SGroupContainer_1311w_gg_,.___SHead_1311w_gg_{display:contents}.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SColumn_1311w_gg_{position:sticky;top:0;z-index:2}.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SGroup_1311w_gg_{top:0}.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SGroupContainer_1311w_gg_>.___SColumn_1311w_gg_{position:sticky;z-index:2}.___SHead_1311w_gg_.__compact_1311w_gg_ .___SColumn_1311w_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_1311w_gg_,.___SGroup_1311w_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;overflow:hidden}.___SGroup_1311w_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_1311w_gg_._use_primary_1311w_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_1311w_gg_._use_primary_1311w_gg_:has(~.___SColumn_1311w_gg_.__visibleSort_1311w_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_1311w_gg_._use_secondary_1311w_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_1311w_gg_._borders_both_1311w_gg_,.___SColumn_1311w_gg_._borders_left_1311w_gg_,.___SGroup_1311w_gg_._borders_both_1311w_gg_,.___SGroup_1311w_gg_._borders_left_1311w_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1311w_gg_._borders_both_1311w_gg_,.___SColumn_1311w_gg_._borders_right_1311w_gg_,.___SGroup_1311w_gg_._borders_both_1311w_gg_,.___SGroup_1311w_gg_._borders_right_1311w_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1311w_gg_._use_primary_1311w_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_1311w_gg_._use_primary_1311w_gg_ .___SSortWrapper_1311w_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortButton_1311w_gg_,.___SColumn_1311w_gg_._use_primary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_::before,.___SColumn_1311w_gg_._use_secondary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_::before{display:flex;opacity:1}.___SColumn_1311w_gg_._use_secondary_1311w_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_1311w_gg_._use_secondary_1311w_gg_ .___SSortWrapper_1311w_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_1311w_gg_._use_secondary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortWrapper_1311w_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1311w_gg_._use_secondary_1311w_gg_.__visibleSort_1311w_gg_ .___SSortButton_1311w_gg_{display:flex;opacity:1}.___SColumn_1311w_gg_.__gridArea_1311w_gg_,.___SGroupTitle_1311w_gg_.__gridArea_1311w_gg_,.___SGroup_1311w_gg_.__gridArea_1311w_gg_{grid-area:var(--gridArea_1311w)}.___SHead_1311w_gg_ .___SColumn_1311w_gg_.__fixed_1311w_gg_,.___SHead_1311w_gg_ .___SGroup_1311w_gg_.__fixed_1311w_gg_,.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SColumn_1311w_gg_.__fixed_1311w_gg_,.___SHead_1311w_gg_.__sticky_1311w_gg_ .___SGroup_1311w_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_1311w_gg_.__sortable_1311w_gg_:hover{cursor:pointer}}.___SSortWrapper_1311w_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_1311w_gg_,.___SSortWrapper_1311w_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1311w_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_1311w_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}.___SHead_1311w_gg_._sideIndents_wide_1311w_gg_ .___SColumn_1311w_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_1311w_gg_._sideIndents_wide_1311w_gg_ .___SColumn_1311w_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_1311w_gg_{cursor:pointer}", /*__inner_css_end__*/"1311w_gg_"),
|
|
15
15
|
/*__reshadow_css_end__*/
|
|
16
16
|
{
|
|
17
|
-
"__SHead": "
|
|
18
|
-
"__SGroupContainer": "
|
|
19
|
-
"_sticky": "
|
|
20
|
-
"__SColumn": "
|
|
21
|
-
"__SGroup": "
|
|
22
|
-
"_compact": "
|
|
23
|
-
"_use_secondary": "
|
|
24
|
-
"_borders_both": "
|
|
25
|
-
"_borders_left": "
|
|
26
|
-
"_borders_right": "
|
|
27
|
-
"_gridArea": "
|
|
28
|
-
"__SGroupTitle": "
|
|
29
|
-
"--gridArea": "--
|
|
30
|
-
"_fixed": "
|
|
31
|
-
"_sortable": "
|
|
32
|
-
"__SSortWrapper": "
|
|
33
|
-
"__SSortButton": "
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
17
|
+
"__SHead": "___SHead_1311w_gg_",
|
|
18
|
+
"__SGroupContainer": "___SGroupContainer_1311w_gg_",
|
|
19
|
+
"_sticky": "__sticky_1311w_gg_",
|
|
20
|
+
"__SColumn": "___SColumn_1311w_gg_",
|
|
21
|
+
"__SGroup": "___SGroup_1311w_gg_",
|
|
22
|
+
"_compact": "__compact_1311w_gg_",
|
|
23
|
+
"_use_secondary": "_use_secondary_1311w_gg_",
|
|
24
|
+
"_borders_both": "_borders_both_1311w_gg_",
|
|
25
|
+
"_borders_left": "_borders_left_1311w_gg_",
|
|
26
|
+
"_borders_right": "_borders_right_1311w_gg_",
|
|
27
|
+
"_gridArea": "__gridArea_1311w_gg_",
|
|
28
|
+
"__SGroupTitle": "___SGroupTitle_1311w_gg_",
|
|
29
|
+
"--gridArea": "--gridArea_1311w",
|
|
30
|
+
"_fixed": "__fixed_1311w_gg_",
|
|
31
|
+
"_sortable": "__sortable_1311w_gg_",
|
|
32
|
+
"__SSortWrapper": "___SSortWrapper_1311w_gg_",
|
|
33
|
+
"__SSortButton": "___SSortButton_1311w_gg_",
|
|
34
|
+
"__SHeadCheckboxCol": "___SHeadCheckboxCol_1311w_gg_",
|
|
35
|
+
"_use_primary": "_use_primary_1311w_gg_",
|
|
36
|
+
"_visibleSort": "__visibleSort_1311w_gg_",
|
|
37
|
+
"_sideIndents_wide": "_sideIndents_wide_1311w_gg_"
|
|
37
38
|
});
|
|
38
39
|
import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
|
|
39
|
-
import {
|
|
40
|
+
import { DataTableInternal } from '../DataTable/DataTable';
|
|
40
41
|
import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
41
42
|
export var Group = /*#__PURE__*/function (_Component) {
|
|
42
43
|
_inherits(Group, _Component);
|
|
@@ -92,7 +93,7 @@ export var Group = /*#__PURE__*/function (_Component) {
|
|
|
92
93
|
"__excludeProps": ['title'],
|
|
93
94
|
"id": this.groupId
|
|
94
95
|
}, _ref))), withConfig ? children : title), withConfig ? groupColumns.map(function (column, i) {
|
|
95
|
-
return /*#__PURE__*/React.createElement(
|
|
96
|
+
return /*#__PURE__*/React.createElement(DataTableInternal.Head.Column, _extends({
|
|
96
97
|
key: column.name
|
|
97
98
|
}, column, {
|
|
98
99
|
"aria-describedby": _this.groupId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","names":["React","Component","Root","sstyled","Box","style","_sstyled","insert","getOriginChildren","
|
|
1
|
+
{"version":3,"file":"Group.js","names":["React","Component","Root","sstyled","Box","style","_sstyled","insert","getOriginChildren","DataTableInternal","uniqueIDEnhancement","Group","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentDidMount","forceUpdate","get","uid","asProps","concat","render","_ref","_ref2","_groupColumns$","_children$","_groupColumns","_children","_this","SGroupContainer","SGroup","_this$asProps","styles","Children","title","fixed","fixedColumnsMap","columns","withConfig","groupColumns","children","firstName","name","props","lastName","length","left","right","createElement","cn","_objectSpread","_assignProps","groupId","map","column","i","Head","Column","_extends","_defineProperty"],"sources":["../../../../src/components/Head/Group.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/base-components';\n\nimport style from './style.shadow.css';\nimport { DataTableGroupProps, GroupPropsInner } from './Group.type';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport { DataTableInternal } from '../DataTable/DataTable';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\n\nexport class Group extends Component<\n DataTableGroupProps,\n {},\n {},\n typeof Group.enhance,\n GroupPropsInner\n> {\n static displayName = 'Group';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n componentDidMount() {\n this.forceUpdate();\n }\n\n get groupId() {\n const { uid } = this.asProps;\n\n return `${uid}_columns_group`;\n }\n\n render() {\n const SGroupContainer = Box;\n const SGroup = Root;\n const { styles, Children, title, fixed, fixedColumnsMap, columns, withConfig } = this.asProps;\n const groupColumns = columns ?? [];\n const children = getOriginChildren(Children);\n\n const firstName = withConfig ? groupColumns[0]?.name : children[0]?.props.name;\n const lastName = withConfig\n ? groupColumns[groupColumns.length - 1]?.name\n : children[children.length - 1]?.props.name;\n\n const style: any = {};\n\n if (fixed === 'left' && firstName) {\n style.left = fixedColumnsMap.get(firstName);\n }\n if (fixed === 'right') {\n style.right = fixedColumnsMap.get(lastName);\n }\n\n return sstyled(styles)(\n <SGroupContainer>\n <SGroup render={Box} style={style} __excludeProps={['title']} id={this.groupId}>\n {withConfig ? children : title}\n </SGroup>\n {withConfig ? (\n groupColumns.map((column, i) => {\n return (\n <DataTableInternal.Head.Column\n key={column.name}\n {...column}\n aria-describedby={this.groupId}\n />\n );\n })\n ) : (\n <Children />\n )}\n </SGroupContainer>,\n );\n }\n}\n"],"mappings":"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"}
|