@hi-ui/table 5.0.0-experimental.3 → 5.0.0-experimental.4

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # @hi-ui/table
2
2
 
3
+ ## 5.0.0-experimental.4
4
+
5
+ ### Patch Changes
6
+
7
+ - ebd1a6e7a: fix(table): 修复 stretchHeight 模式下冻结列阴影样式问题 (5.0)
8
+ - Updated dependencies [d91a8bb0f]
9
+ - @hi-ui/core@5.0.0-experimental.3
10
+
3
11
  ## 5.0.0-experimental.3
4
12
 
5
13
  ### Patch Changes
@@ -46,7 +46,7 @@ var EMBED_DATA_KEY = "TABLE_EMBED_DATA_KEY_" + index.uuid();
46
46
  var DEFAULT_COLUMNS = [];
47
47
  var DEFAULT_DATA = [];
48
48
  var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
49
- var _b;
49
+ var _b, _c, _d, _e, _f;
50
50
  var _a$prefixCls = _a.prefixCls,
51
51
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
52
52
  _a$role = _a.role,
@@ -243,6 +243,14 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
243
243
  var alwaysFixedColumn = fixedColumnTrigger === 'always';
244
244
  var wrapperRef = React__default["default"].useRef(null);
245
245
  var isTableContentExceedWrapperHeight = bodyTableRef.current && wrapperRef.current && bodyTableRef.current.offsetHeight > wrapperRef.current.offsetHeight;
246
+ var tableHeaderHeight = 0;
247
+ var freezeShadowHeightStyle = null;
248
+ if (stretchHeight && rest.fixedToColumn) {
249
+ tableHeaderHeight = (_f = (_e = (_d = (_c = wrapperRef.current) === null || _c === void 0 ? void 0 : _c.querySelector("." + prefixCls + "-header")) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect) === null || _e === void 0 ? void 0 : _e.call(_d).height) !== null && _f !== void 0 ? _f : 0;
250
+ freezeShadowHeightStyle = !isTableContentExceedWrapperHeight && bodyTableRef.current ? {
251
+ height: bodyTableRef.current.offsetHeight + tableHeaderHeight + "px"
252
+ } : null;
253
+ }
246
254
  var renderTable = function renderTable() {
247
255
  if (needDoubleTable) {
248
256
  var _a2 = getTableHeaderProps(),
@@ -293,14 +301,14 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
293
301
  var renderFreezeShadow = function renderFreezeShadow() {
294
302
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? ( /*#__PURE__*/React__default["default"].createElement("div", {
295
303
  className: classname.cx(prefixCls + "-freeze-shadow", prefixCls + "-freeze-shadow--left", classNames === null || classNames === void 0 ? void 0 : classNames.freezeShadowLeft),
296
- style: Object.assign({
304
+ style: Object.assign(Object.assign({
297
305
  width: leftFixedColumnsWidth + 'px'
298
- }, styles === null || styles === void 0 ? void 0 : styles.freezeShadowLeft)
306
+ }, freezeShadowHeightStyle), styles === null || styles === void 0 ? void 0 : styles.freezeShadowLeft)
299
307
  })) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? ( /*#__PURE__*/React__default["default"].createElement("div", {
300
308
  className: classname.cx(prefixCls + "-freeze-shadow", prefixCls + "-freeze-shadow--right", classNames === null || classNames === void 0 ? void 0 : classNames.freezeShadowRight),
301
- style: Object.assign({
309
+ style: Object.assign(Object.assign({
302
310
  width: rightFixedColumnsWidth + 'px'
303
- }, styles === null || styles === void 0 ? void 0 : styles.freezeShadowRight)
311
+ }, freezeShadowHeightStyle), styles === null || styles === void 0 ? void 0 : styles.freezeShadowRight)
304
312
  })) : null);
305
313
  };
306
314
  var tableFooter = /*#__PURE__*/React__default["default"].createElement("div", {
@@ -33,7 +33,7 @@ var EMBED_DATA_KEY = "TABLE_EMBED_DATA_KEY_" + uuid();
33
33
  var DEFAULT_COLUMNS = [];
34
34
  var DEFAULT_DATA = [];
35
35
  var BaseTable = /*#__PURE__*/forwardRef(function (_a, ref) {
36
- var _b;
36
+ var _b, _c, _d, _e, _f;
37
37
  var _a$prefixCls = _a.prefixCls,
38
38
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
39
39
  _a$role = _a.role,
@@ -230,6 +230,14 @@ var BaseTable = /*#__PURE__*/forwardRef(function (_a, ref) {
230
230
  var alwaysFixedColumn = fixedColumnTrigger === 'always';
231
231
  var wrapperRef = React__default.useRef(null);
232
232
  var isTableContentExceedWrapperHeight = bodyTableRef.current && wrapperRef.current && bodyTableRef.current.offsetHeight > wrapperRef.current.offsetHeight;
233
+ var tableHeaderHeight = 0;
234
+ var freezeShadowHeightStyle = null;
235
+ if (stretchHeight && rest.fixedToColumn) {
236
+ tableHeaderHeight = (_f = (_e = (_d = (_c = wrapperRef.current) === null || _c === void 0 ? void 0 : _c.querySelector("." + prefixCls + "-header")) === null || _d === void 0 ? void 0 : _d.getBoundingClientRect) === null || _e === void 0 ? void 0 : _e.call(_d).height) !== null && _f !== void 0 ? _f : 0;
237
+ freezeShadowHeightStyle = !isTableContentExceedWrapperHeight && bodyTableRef.current ? {
238
+ height: bodyTableRef.current.offsetHeight + tableHeaderHeight + "px"
239
+ } : null;
240
+ }
233
241
  var renderTable = function renderTable() {
234
242
  if (needDoubleTable) {
235
243
  var _a2 = getTableHeaderProps(),
@@ -280,14 +288,14 @@ var BaseTable = /*#__PURE__*/forwardRef(function (_a, ref) {
280
288
  var renderFreezeShadow = function renderFreezeShadow() {
281
289
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? ( /*#__PURE__*/React__default.createElement("div", {
282
290
  className: cx(prefixCls + "-freeze-shadow", prefixCls + "-freeze-shadow--left", classNames === null || classNames === void 0 ? void 0 : classNames.freezeShadowLeft),
283
- style: Object.assign({
291
+ style: Object.assign(Object.assign({
284
292
  width: leftFixedColumnsWidth + 'px'
285
- }, styles === null || styles === void 0 ? void 0 : styles.freezeShadowLeft)
293
+ }, freezeShadowHeightStyle), styles === null || styles === void 0 ? void 0 : styles.freezeShadowLeft)
286
294
  })) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? ( /*#__PURE__*/React__default.createElement("div", {
287
295
  className: cx(prefixCls + "-freeze-shadow", prefixCls + "-freeze-shadow--right", classNames === null || classNames === void 0 ? void 0 : classNames.freezeShadowRight),
288
- style: Object.assign({
296
+ style: Object.assign(Object.assign({
289
297
  width: rightFixedColumnsWidth + 'px'
290
- }, styles === null || styles === void 0 ? void 0 : styles.freezeShadowRight)
298
+ }, freezeShadowHeightStyle), styles === null || styles === void 0 ? void 0 : styles.freezeShadowRight)
291
299
  })) : null);
292
300
  };
293
301
  var tableFooter = /*#__PURE__*/React__default.createElement("div", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/table",
3
- "version": "5.0.0-experimental.3",
3
+ "version": "5.0.0-experimental.4",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -80,12 +80,12 @@
80
80
  "@hi-ui/use-merge-semantic": "^5.0.0-experimental.0"
81
81
  },
82
82
  "peerDependencies": {
83
- "@hi-ui/core": ">=5.0.0-experimental.1",
83
+ "@hi-ui/core": ">=5.0.0-experimental.3",
84
84
  "react": ">=16.8.6",
85
85
  "react-dom": ">=16.8.6"
86
86
  },
87
87
  "devDependencies": {
88
- "@hi-ui/core": "^5.0.0-experimental.1",
88
+ "@hi-ui/core": "^5.0.0-experimental.3",
89
89
  "@hi-ui/core-css": "^5.0.0-experimental.2",
90
90
  "@types/react-resizable": "^1.7.4",
91
91
  "react": "^17.0.1",