@semcore/data-table 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/Body.js +101 -62
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +148 -109
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +15 -8
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.js +4 -0
- package/lib/cjs/types.js.map +1 -0
- package/lib/cjs/utils.js +26 -26
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Body.js +104 -63
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +150 -107
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +16 -8
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types.js +2 -0
- package/lib/es6/types.js.map +1 -0
- package/lib/es6/utils.js +20 -24
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/Body.tsx +136 -0
- package/src/DataTable.tsx +428 -0
- package/src/{Head.jsx → Head.tsx} +29 -11
- package/src/{index.js → index.ts} +0 -0
- package/src/types.ts +54 -0
- package/src/utils.ts +55 -0
- package/lib/types/index.d.ts +0 -99
- package/src/Body.jsx +0 -119
- package/src/DataTable.jsx +0 -283
- package/src/index.d.ts +0 -99
- package/src/utils.js +0 -54
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [2.1.0] - 2022-04-07
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Internal enhances, rewritten from js to ts, render algorithmic performance increased.
|
|
10
|
+
|
|
5
11
|
## [2.0.0] - 2022-04-06
|
|
6
12
|
|
|
7
13
|
### Fixed
|
package/lib/cjs/Body.js
CHANGED
|
@@ -9,10 +9,10 @@ exports["default"] = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
13
|
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
17
|
|
|
18
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -35,13 +35,19 @@ var _utils = require("./utils");
|
|
|
35
35
|
|
|
36
36
|
var _assignProps2 = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
|
|
37
37
|
|
|
38
|
-
var _excluded = ["
|
|
39
|
-
_excluded2 = ["
|
|
38
|
+
var _excluded = ["childrenPropsGetter"],
|
|
39
|
+
_excluded2 = ["childrenPropsGetter"];
|
|
40
40
|
|
|
41
41
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
42
42
|
|
|
43
43
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
44
44
|
|
|
45
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
46
|
+
|
|
47
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
48
|
+
|
|
49
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
50
|
+
|
|
45
51
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
46
52
|
|
|
47
53
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -62,12 +68,12 @@ _core.sstyled.insert(
|
|
|
62
68
|
});
|
|
63
69
|
var testEnv = process.env.NODE_ENV === 'test';
|
|
64
70
|
|
|
65
|
-
function getCellsByColumn(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
+
var getCellsByColumn = function getCellsByColumn(cells) {
|
|
72
|
+
var flattenCells = cells.flat(20);
|
|
73
|
+
return Object.fromEntries(flattenCells.map(function (cell) {
|
|
74
|
+
return [cell.name, cell.data];
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
71
77
|
|
|
72
78
|
var Body = /*#__PURE__*/function (_Component) {
|
|
73
79
|
(0, _inherits2["default"])(Body, _Component);
|
|
@@ -80,39 +86,57 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
80
86
|
}
|
|
81
87
|
|
|
82
88
|
(0, _createClass2["default"])(Body, [{
|
|
83
|
-
key: "
|
|
84
|
-
value: function
|
|
85
|
-
var
|
|
89
|
+
key: "renderRow",
|
|
90
|
+
value: function renderRow(cells, index) {
|
|
91
|
+
var _ref2;
|
|
86
92
|
|
|
87
93
|
var SRow = _flexBox.Box;
|
|
88
94
|
var _this$asProps = this.asProps,
|
|
89
95
|
styles = _this$asProps.styles,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
rowPropsLayers = _this$asProps.rowPropsLayers;
|
|
97
|
+
var cellsByColumn = cells.flatRowData || getCellsByColumn(cells);
|
|
98
|
+
var props = {
|
|
99
|
+
children: this.renderCells(cells, cellsByColumn, index),
|
|
100
|
+
theme: undefined,
|
|
101
|
+
active: undefined
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
var _iterator = _createForOfIteratorHelper(rowPropsLayers),
|
|
105
|
+
_step;
|
|
106
|
+
|
|
107
|
+
try {
|
|
108
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
109
|
+
var rowPropsLayer = _step.value;
|
|
110
|
+
var _rowPropsLayer$childr = rowPropsLayer.childrenPropsGetter,
|
|
111
|
+
childrenPropsGetter = _rowPropsLayer$childr === void 0 ? function (p) {
|
|
98
112
|
return p;
|
|
99
|
-
} :
|
|
100
|
-
other = (0, _objectWithoutProperties2["default"])(
|
|
101
|
-
var propsRow = (0, _assignProps2["default"])(other,
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
} : _rowPropsLayer$childr,
|
|
114
|
+
other = (0, _objectWithoutProperties2["default"])(rowPropsLayer, _excluded);
|
|
115
|
+
var propsRow = (0, _assignProps2["default"])(other, props);
|
|
116
|
+
props = (0, _assignProps2["default"])(childrenPropsGetter(propsRow, cellsByColumn, index), propsRow);
|
|
117
|
+
}
|
|
118
|
+
} catch (err) {
|
|
119
|
+
_iterator.e(err);
|
|
120
|
+
} finally {
|
|
121
|
+
_iterator.f();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRow, _ref2.cn("SRow", _objectSpread({
|
|
125
|
+
"key": index
|
|
126
|
+
}, props)));
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
key: "renderRows",
|
|
130
|
+
value: function renderRows(rows) {
|
|
131
|
+
var _this = this;
|
|
132
|
+
|
|
133
|
+
return rows.map(function (cells, index) {
|
|
134
|
+
return _this.renderRow(cells, index);
|
|
111
135
|
});
|
|
112
136
|
}
|
|
113
137
|
}, {
|
|
114
138
|
key: "renderCells",
|
|
115
|
-
value: function renderCells(
|
|
139
|
+
value: function renderCells(cells, cellsByColumn, index) {
|
|
116
140
|
var _this2 = this;
|
|
117
141
|
|
|
118
142
|
var SCell = _flexBox.Flex;
|
|
@@ -120,11 +144,11 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
120
144
|
styles = _this$asProps2.styles,
|
|
121
145
|
columns = _this$asProps2.columns,
|
|
122
146
|
use = _this$asProps2.use;
|
|
123
|
-
return
|
|
147
|
+
return cells.map(function (cell) {
|
|
124
148
|
if (Array.isArray(cell)) {
|
|
125
|
-
|
|
149
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, _this2.renderRows(cell));
|
|
126
150
|
} else {
|
|
127
|
-
var _ref3, _column$props,
|
|
151
|
+
var _ref3, _column$props, _props;
|
|
128
152
|
|
|
129
153
|
var column = columns.find(function (c) {
|
|
130
154
|
return c.name === cell.name;
|
|
@@ -135,33 +159,48 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
135
159
|
name = _getFixedStyle2[0],
|
|
136
160
|
value = _getFixedStyle2[1];
|
|
137
161
|
|
|
138
|
-
var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (
|
|
139
|
-
return "var(".concat(
|
|
162
|
+
var vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(function (name) {
|
|
163
|
+
return "var(".concat(name, ")");
|
|
140
164
|
});
|
|
141
|
-
var props = (
|
|
142
|
-
var _ref6$getCellProps = _ref6.getCellProps,
|
|
143
|
-
getCellProps = _ref6$getCellProps === void 0 ? function (p) {
|
|
144
|
-
return p;
|
|
145
|
-
} : _ref6$getCellProps,
|
|
146
|
-
other = (0, _objectWithoutProperties2["default"])(_ref6, _excluded2);
|
|
147
|
-
var propsCell = (0, _assignProps2["default"])(other, acc);
|
|
148
|
-
return (0, _assignProps2["default"])(getCellProps(propsCell, cellsByColumn, index), propsCell);
|
|
149
|
-
}, {
|
|
165
|
+
var props = (_props = {
|
|
150
166
|
name: cell.name,
|
|
151
|
-
children: cell.data
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
});
|
|
155
|
-
|
|
167
|
+
children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, cell.data)
|
|
168
|
+
}, (0, _defineProperty2["default"])(_props, 'data-data', JSON.stringify(cell.data)), (0, _defineProperty2["default"])(_props, "justifyContent", column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.justifyContent), (0, _defineProperty2["default"])(_props, "style", {
|
|
169
|
+
width: vars.length === 1 ? vars[0] : "calc(".concat(vars.join(' + '), ")")
|
|
170
|
+
}), _props);
|
|
171
|
+
|
|
172
|
+
if (name !== undefined && value !== undefined) {
|
|
173
|
+
props.style[name] = value;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
var _iterator2 = _createForOfIteratorHelper(cell.cellPropsLayers || []),
|
|
177
|
+
_step2;
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
181
|
+
var cellPropLayer = _step2.value;
|
|
182
|
+
var _cellPropLayer$childr = cellPropLayer.childrenPropsGetter,
|
|
183
|
+
childrenPropsGetter = _cellPropLayer$childr === void 0 ? function (p) {
|
|
184
|
+
return p;
|
|
185
|
+
} : _cellPropLayer$childr,
|
|
186
|
+
other = (0, _objectWithoutProperties2["default"])(cellPropLayer, _excluded2);
|
|
187
|
+
var propsCell = (0, _assignProps2["default"])(other, props);
|
|
188
|
+
props = (0, _assignProps2["default"])(childrenPropsGetter(propsCell, cellsByColumn, index), propsCell);
|
|
189
|
+
}
|
|
190
|
+
} catch (err) {
|
|
191
|
+
_iterator2.e(err);
|
|
192
|
+
} finally {
|
|
193
|
+
_iterator2.f();
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
|
|
156
197
|
"key": cell.name
|
|
157
198
|
}, props), {}, {
|
|
158
199
|
"fixed": cell.fixed,
|
|
159
200
|
"theme": props.theme,
|
|
160
201
|
"use": use
|
|
161
|
-
})))
|
|
202
|
+
})));
|
|
162
203
|
}
|
|
163
|
-
|
|
164
|
-
return acc;
|
|
165
204
|
}, []);
|
|
166
205
|
}
|
|
167
206
|
}, {
|
|
@@ -178,8 +217,12 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
178
217
|
styles = _this$asProps3.styles,
|
|
179
218
|
rows = _this$asProps3.rows,
|
|
180
219
|
columns = _this$asProps3.columns,
|
|
181
|
-
|
|
182
|
-
|
|
220
|
+
onResize = _this$asProps3.onResize,
|
|
221
|
+
$scrollRef = _this$asProps3.$scrollRef;
|
|
222
|
+
var columnsInitialized = columns.reduce(function (sum, _ref5) {
|
|
223
|
+
var width = _ref5.width;
|
|
224
|
+
return sum + width;
|
|
225
|
+
}, 0) > 0 || testEnv;
|
|
183
226
|
|
|
184
227
|
var _getScrollOffsetValue = (0, _utils.getScrollOffsetValue)(columns),
|
|
185
228
|
_getScrollOffsetValue2 = (0, _slicedToArray2["default"])(_getScrollOffsetValue, 2),
|
|
@@ -187,10 +230,6 @@ var Body = /*#__PURE__*/function (_Component) {
|
|
|
187
230
|
offsetRightSum = _getScrollOffsetValue2[1];
|
|
188
231
|
|
|
189
232
|
var offsetSum = offsetLeftSum + offsetRightSum;
|
|
190
|
-
var columnsInitialized = columns.reduce(function (sum, _ref7) {
|
|
191
|
-
var width = _ref7.width;
|
|
192
|
-
return sum + width;
|
|
193
|
-
}, 0) > 0 || testEnv;
|
|
194
233
|
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBodyWrapper, _ref4.cn("SBodyWrapper", {}), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"], _ref4.cn("ScrollArea", {
|
|
195
234
|
"shadow": true,
|
|
196
235
|
"styles": scrollStyles,
|
package/lib/cjs/Body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Body.jsx"],"names":["testEnv","process","env","NODE_ENV","getCellsByColumn","row","reduce","acc","cell","name","Array","isArray","concat","data","Body","rows","SRow","Box","asProps","styles","$propsRow","map","index","cellsByColumn","_row","props","getRowProps","p","other","propsRow","children","renderCells","theme","active","SCell","Flex","columns","use","renderRows","column","find","c","value","vars","cssVar","n","rendersCell","getCellProps","propsCell","justifyContent","style","length","join","push","fixed","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","Children","$scrollRef","onResize","offsetLeftSum","offsetRightSum","offsetSum","columnsInitialized","sum","width","scrollStyles","origin","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst testEnv = process.env.NODE_ENV === 'test';\n\nfunction getCellsByColumn(row) {\n return row.reduce((acc, cell) => {\n acc[cell.name] = acc[cell.name]\n ? Array.isArray(acc[cell.name])\n ? acc[cell.name].concat(cell.data)\n : [acc[cell.name], cell.data]\n : cell.data;\n return acc;\n }, {});\n}\n\nclass Body extends Component {\n renderRows(rows) {\n const SRow = Box;\n const { styles, $propsRow } = this.asProps;\n\n return rows.map((row, index) => {\n const cellsByColumn = row._row || getCellsByColumn(row);\n const props = $propsRow.reduce(\n (acc, { getRowProps = (p) => p, ...other }) => {\n const propsRow = assignProps(other, acc);\n return assignProps(getRowProps(propsRow, cellsByColumn, index), propsRow);\n },\n {\n children: this.renderCells(row, cellsByColumn, index),\n },\n );\n return sstyled(styles)(\n <SRow key={index} theme={props.theme} active={props.active} {...props} />,\n );\n });\n }\n\n renderCells(row, cellsByColumn, index) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return row.reduce((acc, cell) => {\n if (Array.isArray(cell)) {\n acc = acc.concat(<div>{this.renderRows(cell)}</div>);\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (n) => `var(${n})`,\n );\n const props = (cell.rendersCell || []).reduce(\n (acc, { getCellProps = (p) => p, ...other }) => {\n const propsCell = assignProps(other, acc);\n return assignProps(getCellProps(propsCell, cellsByColumn, index), propsCell);\n },\n {\n name: cell.name,\n children: cell.data,\n justifyContent: column?.props?.justifyContent,\n style: {\n [name]: value,\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n },\n );\n\n acc.push(\n sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ),\n );\n }\n return acc;\n }, []);\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const { Children, styles, rows, columns, $scrollRef, onResize } = this.asProps;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>{columnsInitialized ? this.renderRows(rows) : null}</SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Body.tsx"],"names":["testEnv","process","env","NODE_ENV","getCellsByColumn","cells","flattenCells","flat","Object","fromEntries","map","cell","name","data","Body","index","SRow","Box","asProps","styles","rowPropsLayers","cellsByColumn","flatRowData","props","children","renderCells","theme","undefined","active","rowPropsLayer","childrenPropsGetter","p","other","propsRow","rows","renderRow","SCell","Flex","columns","use","Array","isArray","renderRows","column","find","c","value","vars","cssVar","JSON","stringify","justifyContent","width","length","join","style","cellPropsLayers","cellPropLayer","propsCell","fixed","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","Children","onResize","$scrollRef","columnsInitialized","reduce","sum","offsetLeftSum","offsetRightSum","offsetSum","scrollStyles","origin","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex, IBoxProps } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport { RowData, Column, NestedCells, PropsLayer, Cell } from './types';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport type ResizeObserverCallback from 'resize-observer-polyfill';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\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};\n\ntype AsProps = {\n rows: NestedCells[];\n columns: Column[];\n $scrollRef: ReturnType<ReturnType<typeof syncScroll>>;\n onResize: ResizeObserverCallback;\n rowPropsLayers: PropsLayer[];\n use: 'primary' | 'secondary';\n};\n\nclass Body extends Component<AsProps> {\n renderRow(cells: NestedCells, index: number) {\n const SRow = Box;\n const { styles, rowPropsLayers } = this.asProps;\n\n const cellsByColumn = cells.flatRowData || getCellsByColumn(cells);\n\n let props = {\n children: this.renderCells(cells, cellsByColumn, index),\n theme: undefined,\n active: 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, cellsByColumn, index), propsRow);\n }\n\n return sstyled(styles)(<SRow key={index} {...props} />);\n }\n\n renderRows(rows: NestedCells[]) {\n return rows.map((cells, index) => this.renderRow(cells, index));\n }\n\n renderCells(cells: NestedCells, cellsByColumn: RowData, index: number) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return cells.map((cell) => {\n if (Array.isArray(cell)) {\n return <div>{this.renderRows(cell as NestedCells[])}</div>;\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (name) => `var(${name})`,\n );\n type CellProps = IBoxProps & {\n name: string;\n children: React.ReactNode;\n style: React.CSSProperties;\n };\n\n let props: CellProps = {\n name: cell.name,\n children: <>{cell.data}</>,\n ['data-data']: JSON.stringify(cell.data),\n justifyContent: column?.props?.justifyContent,\n style: {\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\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, cellsByColumn, index), propsCell);\n }\n\n return sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ) as React.ReactElement;\n }\n }, [] as React.ReactElement[]);\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const { Children, styles, rows, columns, onResize, $scrollRef } = this.asProps;\n\n const columnsInitialized = columns.reduce((sum, { width }) => sum + width, 0) > 0 || testEnv;\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>{columnsInitialized ? this.renderRows(rows) : null}</SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
|