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