@sheinx/base 3.7.0-beta.2 → 3.7.0-beta.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.
Files changed (249) hide show
  1. package/cjs/cascader/cascader.d.ts.map +1 -1
  2. package/cjs/cascader/cascader.js +4 -2
  3. package/cjs/cascader/cascader.type.d.ts +1 -1
  4. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  5. package/cjs/form/form-flow.js +1 -1
  6. package/cjs/form/form-footer-context.d.ts +2 -1
  7. package/cjs/form/form-footer-context.d.ts.map +1 -1
  8. package/cjs/form/form.d.ts.map +1 -1
  9. package/cjs/form/form.js +4 -2
  10. package/cjs/icons/config.d.ts +2 -2
  11. package/cjs/icons/config.js +3 -3
  12. package/cjs/icons/icons.js +5 -1
  13. package/cjs/image/image.d.ts.map +1 -1
  14. package/cjs/image/image.js +3 -2
  15. package/cjs/index.d.ts +1 -0
  16. package/cjs/index.d.ts.map +1 -1
  17. package/cjs/index.js +12 -0
  18. package/cjs/modal/modal-content.d.ts.map +1 -1
  19. package/cjs/modal/modal-content.js +2 -0
  20. package/cjs/modal/modal-submit.d.ts.map +1 -1
  21. package/cjs/modal/modal-submit.js +10 -3
  22. package/cjs/modal/modal.d.ts.map +1 -1
  23. package/cjs/modal/modal.js +3 -0
  24. package/cjs/popover/popover.d.ts.map +1 -1
  25. package/cjs/popover/popover.js +29 -1
  26. package/cjs/select/list.d.ts.map +1 -1
  27. package/cjs/select/list.js +2 -1
  28. package/cjs/select/result-more.d.ts.map +1 -1
  29. package/cjs/select/result-more.js +5 -1
  30. package/cjs/select/result-more.type.d.ts +1 -0
  31. package/cjs/select/result-more.type.d.ts.map +1 -1
  32. package/cjs/select/result.d.ts.map +1 -1
  33. package/cjs/select/result.js +3 -2
  34. package/cjs/select/result.type.d.ts +1 -0
  35. package/cjs/select/result.type.d.ts.map +1 -1
  36. package/cjs/select/select.d.ts.map +1 -1
  37. package/cjs/select/select.js +5 -1
  38. package/cjs/select/select.type.d.ts +2 -1
  39. package/cjs/select/select.type.d.ts.map +1 -1
  40. package/cjs/skeleton/button.d.ts +8 -0
  41. package/cjs/skeleton/button.d.ts.map +1 -0
  42. package/cjs/skeleton/button.js +34 -0
  43. package/cjs/skeleton/image.d.ts +8 -0
  44. package/cjs/skeleton/image.d.ts.map +1 -0
  45. package/cjs/skeleton/image.js +27 -0
  46. package/cjs/skeleton/index.d.ts +3 -0
  47. package/cjs/skeleton/index.d.ts.map +1 -0
  48. package/cjs/skeleton/index.js +20 -0
  49. package/cjs/skeleton/skeleton.d.ts +5 -0
  50. package/cjs/skeleton/skeleton.d.ts.map +1 -0
  51. package/cjs/skeleton/skeleton.js +58 -0
  52. package/cjs/skeleton/skeleton.type.d.ts +125 -0
  53. package/cjs/skeleton/skeleton.type.d.ts.map +1 -0
  54. package/cjs/skeleton/skeleton.type.js +5 -0
  55. package/cjs/skeleton/text.d.ts +8 -0
  56. package/cjs/skeleton/text.d.ts.map +1 -0
  57. package/cjs/skeleton/text.js +53 -0
  58. package/cjs/sticky/sticky.d.ts.map +1 -1
  59. package/cjs/sticky/sticky.js +12 -3
  60. package/cjs/sticky/sticky.type.d.ts +2 -2
  61. package/cjs/sticky/sticky.type.d.ts.map +1 -1
  62. package/cjs/table/table.d.ts.map +1 -1
  63. package/cjs/table/table.js +160 -102
  64. package/cjs/table/table.type.d.ts +19 -4
  65. package/cjs/table/table.type.d.ts.map +1 -1
  66. package/cjs/table/tbody.d.ts +1 -1
  67. package/cjs/table/tbody.d.ts.map +1 -1
  68. package/cjs/table/tbody.js +17 -10
  69. package/cjs/table/tbody.type.d.ts +2 -2
  70. package/cjs/table/tbody.type.d.ts.map +1 -1
  71. package/cjs/table/td.d.ts +3 -3
  72. package/cjs/table/td.d.ts.map +1 -1
  73. package/cjs/table/td.js +24 -18
  74. package/cjs/table/tfoot.d.ts.map +1 -1
  75. package/cjs/table/tfoot.js +0 -10
  76. package/cjs/table/tfoot.type.d.ts +0 -1
  77. package/cjs/table/tfoot.type.d.ts.map +1 -1
  78. package/cjs/table/thead.d.ts.map +1 -1
  79. package/cjs/table/thead.js +7 -19
  80. package/cjs/table/thead.type.d.ts +0 -1
  81. package/cjs/table/thead.type.d.ts.map +1 -1
  82. package/cjs/table/tr.d.ts +2 -2
  83. package/cjs/table/tr.d.ts.map +1 -1
  84. package/cjs/table/tr.js +32 -27
  85. package/cjs/tabs/tabs-panel.js +4 -3
  86. package/cjs/tabs/tabs.d.ts.map +1 -1
  87. package/cjs/tabs/tabs.js +10 -1
  88. package/cjs/tabs/tabs.type.d.ts +6 -0
  89. package/cjs/tabs/tabs.type.d.ts.map +1 -1
  90. package/cjs/tooltip/tooltip.d.ts.map +1 -1
  91. package/cjs/tooltip/tooltip.js +21 -1
  92. package/cjs/transfer/transfer-list.type.d.ts +1 -1
  93. package/cjs/transfer/transfer-list.type.d.ts.map +1 -1
  94. package/cjs/transfer/transfer.d.ts.map +1 -1
  95. package/cjs/transfer/transfer.js +16 -2
  96. package/cjs/transfer/transfer.type.d.ts +1 -1
  97. package/cjs/transfer/transfer.type.d.ts.map +1 -1
  98. package/cjs/tree/tree-content.d.ts.map +1 -1
  99. package/cjs/tree/tree-content.js +2 -3
  100. package/cjs/tree/tree-content.type.d.ts +1 -2
  101. package/cjs/tree/tree-content.type.d.ts.map +1 -1
  102. package/cjs/tree/tree-list.type.d.ts +1 -2
  103. package/cjs/tree/tree-list.type.d.ts.map +1 -1
  104. package/cjs/tree/tree-node.type.d.ts +2 -4
  105. package/cjs/tree/tree-node.type.d.ts.map +1 -1
  106. package/cjs/tree/tree-root.type.d.ts +1 -2
  107. package/cjs/tree/tree-root.type.d.ts.map +1 -1
  108. package/cjs/tree/tree-virtual.d.ts.map +1 -1
  109. package/cjs/tree/tree-virtual.js +2 -1
  110. package/cjs/tree/tree.d.ts.map +1 -1
  111. package/cjs/tree/tree.js +4 -1
  112. package/cjs/tree/tree.type.d.ts +3 -3
  113. package/cjs/tree/tree.type.d.ts.map +1 -1
  114. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  115. package/cjs/tree-select/tree-select.js +20 -6
  116. package/cjs/tree-select/tree-select.type.d.ts +25 -2
  117. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  118. package/cjs/upload/upload.d.ts.map +1 -1
  119. package/cjs/upload/upload.js +2 -1
  120. package/cjs/virtual-scroll/scroll-table.d.ts +29 -0
  121. package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -0
  122. package/cjs/virtual-scroll/scroll-table.js +156 -0
  123. package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
  124. package/cjs/virtual-scroll/scroll.js +4 -4
  125. package/esm/cascader/cascader.d.ts.map +1 -1
  126. package/esm/cascader/cascader.js +4 -2
  127. package/esm/cascader/cascader.type.d.ts +1 -1
  128. package/esm/cascader/cascader.type.d.ts.map +1 -1
  129. package/esm/form/form-flow.js +1 -1
  130. package/esm/form/form-footer-context.d.ts +2 -1
  131. package/esm/form/form-footer-context.d.ts.map +1 -1
  132. package/esm/form/form.d.ts.map +1 -1
  133. package/esm/form/form.js +4 -2
  134. package/esm/icons/config.d.ts +2 -2
  135. package/esm/icons/config.js +3 -3
  136. package/esm/icons/icons.js +5 -1
  137. package/esm/image/image.d.ts.map +1 -1
  138. package/esm/image/image.js +3 -2
  139. package/esm/index.d.ts +1 -0
  140. package/esm/index.d.ts.map +1 -1
  141. package/esm/index.js +1 -0
  142. package/esm/modal/modal-content.d.ts.map +1 -1
  143. package/esm/modal/modal-content.js +2 -0
  144. package/esm/modal/modal-submit.d.ts.map +1 -1
  145. package/esm/modal/modal-submit.js +10 -3
  146. package/esm/modal/modal.d.ts.map +1 -1
  147. package/esm/modal/modal.js +3 -0
  148. package/esm/popover/popover.d.ts.map +1 -1
  149. package/esm/popover/popover.js +29 -1
  150. package/esm/select/list.d.ts.map +1 -1
  151. package/esm/select/list.js +2 -1
  152. package/esm/select/result-more.d.ts.map +1 -1
  153. package/esm/select/result-more.js +5 -1
  154. package/esm/select/result-more.type.d.ts +1 -0
  155. package/esm/select/result-more.type.d.ts.map +1 -1
  156. package/esm/select/result.d.ts.map +1 -1
  157. package/esm/select/result.js +3 -2
  158. package/esm/select/result.type.d.ts +1 -0
  159. package/esm/select/result.type.d.ts.map +1 -1
  160. package/esm/select/select.d.ts.map +1 -1
  161. package/esm/select/select.js +5 -1
  162. package/esm/select/select.type.d.ts +2 -1
  163. package/esm/select/select.type.d.ts.map +1 -1
  164. package/esm/skeleton/button.d.ts +8 -0
  165. package/esm/skeleton/button.d.ts.map +1 -0
  166. package/esm/skeleton/button.js +27 -0
  167. package/esm/skeleton/image.d.ts +8 -0
  168. package/esm/skeleton/image.d.ts.map +1 -0
  169. package/esm/skeleton/image.js +20 -0
  170. package/esm/skeleton/index.d.ts +3 -0
  171. package/esm/skeleton/index.d.ts.map +1 -0
  172. package/esm/skeleton/index.js +2 -0
  173. package/esm/skeleton/skeleton.d.ts +5 -0
  174. package/esm/skeleton/skeleton.d.ts.map +1 -0
  175. package/esm/skeleton/skeleton.js +52 -0
  176. package/esm/skeleton/skeleton.type.d.ts +125 -0
  177. package/esm/skeleton/skeleton.type.d.ts.map +1 -0
  178. package/esm/skeleton/skeleton.type.js +1 -0
  179. package/esm/skeleton/text.d.ts +8 -0
  180. package/esm/skeleton/text.d.ts.map +1 -0
  181. package/esm/skeleton/text.js +46 -0
  182. package/esm/sticky/sticky.d.ts.map +1 -1
  183. package/esm/sticky/sticky.js +13 -4
  184. package/esm/sticky/sticky.type.d.ts +2 -2
  185. package/esm/sticky/sticky.type.d.ts.map +1 -1
  186. package/esm/table/table.d.ts.map +1 -1
  187. package/esm/table/table.js +161 -103
  188. package/esm/table/table.type.d.ts +19 -4
  189. package/esm/table/table.type.d.ts.map +1 -1
  190. package/esm/table/tbody.d.ts +1 -1
  191. package/esm/table/tbody.d.ts.map +1 -1
  192. package/esm/table/tbody.js +18 -11
  193. package/esm/table/tbody.type.d.ts +2 -2
  194. package/esm/table/tbody.type.d.ts.map +1 -1
  195. package/esm/table/td.d.ts +3 -3
  196. package/esm/table/td.d.ts.map +1 -1
  197. package/esm/table/td.js +22 -18
  198. package/esm/table/tfoot.d.ts.map +1 -1
  199. package/esm/table/tfoot.js +0 -10
  200. package/esm/table/tfoot.type.d.ts +0 -1
  201. package/esm/table/tfoot.type.d.ts.map +1 -1
  202. package/esm/table/thead.d.ts.map +1 -1
  203. package/esm/table/thead.js +7 -19
  204. package/esm/table/thead.type.d.ts +0 -1
  205. package/esm/table/thead.type.d.ts.map +1 -1
  206. package/esm/table/tr.d.ts +2 -2
  207. package/esm/table/tr.d.ts.map +1 -1
  208. package/esm/table/tr.js +32 -27
  209. package/esm/tabs/tabs-panel.js +4 -3
  210. package/esm/tabs/tabs.d.ts.map +1 -1
  211. package/esm/tabs/tabs.js +10 -1
  212. package/esm/tabs/tabs.type.d.ts +6 -0
  213. package/esm/tabs/tabs.type.d.ts.map +1 -1
  214. package/esm/tooltip/tooltip.d.ts.map +1 -1
  215. package/esm/tooltip/tooltip.js +21 -1
  216. package/esm/transfer/transfer-list.type.d.ts +1 -1
  217. package/esm/transfer/transfer-list.type.d.ts.map +1 -1
  218. package/esm/transfer/transfer.d.ts.map +1 -1
  219. package/esm/transfer/transfer.js +16 -2
  220. package/esm/transfer/transfer.type.d.ts +1 -1
  221. package/esm/transfer/transfer.type.d.ts.map +1 -1
  222. package/esm/tree/tree-content.d.ts.map +1 -1
  223. package/esm/tree/tree-content.js +2 -3
  224. package/esm/tree/tree-content.type.d.ts +1 -2
  225. package/esm/tree/tree-content.type.d.ts.map +1 -1
  226. package/esm/tree/tree-list.type.d.ts +1 -2
  227. package/esm/tree/tree-list.type.d.ts.map +1 -1
  228. package/esm/tree/tree-node.type.d.ts +2 -4
  229. package/esm/tree/tree-node.type.d.ts.map +1 -1
  230. package/esm/tree/tree-root.type.d.ts +1 -2
  231. package/esm/tree/tree-root.type.d.ts.map +1 -1
  232. package/esm/tree/tree-virtual.d.ts.map +1 -1
  233. package/esm/tree/tree-virtual.js +2 -1
  234. package/esm/tree/tree.d.ts.map +1 -1
  235. package/esm/tree/tree.js +4 -1
  236. package/esm/tree/tree.type.d.ts +3 -3
  237. package/esm/tree/tree.type.d.ts.map +1 -1
  238. package/esm/tree-select/tree-select.d.ts.map +1 -1
  239. package/esm/tree-select/tree-select.js +20 -6
  240. package/esm/tree-select/tree-select.type.d.ts +25 -2
  241. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  242. package/esm/upload/upload.d.ts.map +1 -1
  243. package/esm/upload/upload.js +2 -1
  244. package/esm/virtual-scroll/scroll-table.d.ts +29 -0
  245. package/esm/virtual-scroll/scroll-table.d.ts.map +1 -0
  246. package/esm/virtual-scroll/scroll-table.js +149 -0
  247. package/esm/virtual-scroll/scroll.d.ts.map +1 -1
  248. package/esm/virtual-scroll/scroll.js +4 -4
  249. package/package.json +2 -2
@@ -1,14 +1,20 @@
1
1
  var _excluded = ["data"];
2
2
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
3
3
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
4
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
6
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
8
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- import React, { useEffect, useMemo, useRef } from 'react';
11
- import Scroll from "../virtual-scroll/scroll";
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ 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); }
13
+ 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; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
17
+ import Scroll from "../virtual-scroll/scroll-table";
12
18
  import classNames from 'classnames';
13
19
  import Spin from "../spin";
14
20
  import Pagination from "../pagination";
@@ -28,19 +34,6 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
28
34
  import { Fragment as _Fragment } from "react/jsx-runtime";
29
35
  var devUseWarning = util.devUseWarning;
30
36
  var emptyArr = [];
31
- var virtualScrollerStyle = {
32
- flex: 1,
33
- minWidth: 0,
34
- minHeight: 0,
35
- overflow: 'auto',
36
- width: '100%'
37
- };
38
- var scrollWrapperStyle = {
39
- flex: 1,
40
- minHeight: 0,
41
- minWidth: 0,
42
- display: 'flex'
43
- };
44
37
  var emptyRef = {
45
38
  current: null
46
39
  };
@@ -59,18 +52,14 @@ export default (function (props) {
59
52
  var theadRef = useRef(null);
60
53
  var tfootRef = useRef(null);
61
54
  var scrollRef = useRef(null);
62
- var mirrorScrollRef = useRef(null);
55
+ var headMirrorScrollRef = useRef(null);
56
+ var bottomMirrorScrollRef = useRef(null);
63
57
  var tableRef = useRef(null);
58
+ var _useState = useState(false),
59
+ _useState2 = _slicedToArray(_useState, 2),
60
+ scrolling = _useState2[0],
61
+ setScrolling = _useState2[1];
64
62
  var browserScrollbarWidth = useScrollbarWidth();
65
- var emptyStyle = _objectSpread(_objectSpread({}, virtualScrollerStyle), {}, {
66
- overflow: 'auto hidden',
67
- position: 'absolute',
68
- zIndex: 1,
69
- bottom: 0,
70
- left: 0,
71
- right: 0,
72
- height: browserScrollbarWidth
73
- });
74
63
  if (props.fixed) {
75
64
  devUseWarning.deprecated('fixed', 'virtual', 'Table');
76
65
  }
@@ -91,7 +80,9 @@ export default (function (props) {
91
80
  };
92
81
  };
93
82
  var _useRef = useRef({
94
- emptyHeight: 0
83
+ emptyHeight: 0,
84
+ theadAndTfootHeight: 0,
85
+ scrollingTimer: null
95
86
  }),
96
87
  context = _useRef.current;
97
88
  var virtual = ((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
@@ -140,7 +131,6 @@ export default (function (props) {
140
131
  floatRight = _useTableLayout.floatRight,
141
132
  width = _useTableLayout.width,
142
133
  shouldLastColAuto = _useTableLayout.shouldLastColAuto,
143
- maxScrollLeft = _useTableLayout.maxScrollLeft,
144
134
  scrollBarWidth = _useTableLayout.scrollBarWidth,
145
135
  scrollWidth = _useTableLayout.scrollWidth,
146
136
  resizeFlag = _useTableLayout.resizeFlag;
@@ -224,6 +214,16 @@ export default (function (props) {
224
214
  onChange: inputableData.onChange,
225
215
  disabled: props.disabled
226
216
  });
217
+ useEffect(function () {
218
+ var _theadRef$current, _tfootRef$current;
219
+ var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
220
+ var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
221
+ if (props.sticky) {
222
+ context.theadAndTfootHeight = tfootHeight;
223
+ } else {
224
+ context.theadAndTfootHeight = theadHeight + tfootHeight;
225
+ }
226
+ }, [theadRef.current, tfootRef.current]);
227
227
  var virtualInfo = useTableVirtual({
228
228
  disabled: !virtual,
229
229
  data: treeData,
@@ -234,27 +234,27 @@ export default (function (props) {
234
234
  scrollRef: scrollRef,
235
235
  innerRef: tbodyRef,
236
236
  scrollLeft: props.scrollLeft,
237
- isRtl: isRtl
237
+ isRtl: isRtl,
238
+ theadAndTfootHeight: context.theadAndTfootHeight
238
239
  });
239
-
240
- // handle head and foot scroll
241
- var handleHeaderWheel = usePersistFn(function (e) {
242
- var scrollEl = scrollRef.current;
243
- if (!scrollEl) return;
244
- var max = scrollEl.scrollWidth - scrollEl.clientWidth;
245
- var scrollLeft = scrollEl.scrollLeft + e.deltaX;
246
- if (scrollLeft === scrollEl.scrollLeft) {
247
- return;
240
+ var syncHeaderScroll = usePersistFn(function (left) {
241
+ var _theadRef$current2;
242
+ if (props.hideHeader || !props.sticky) return;
243
+ if (theadRef && theadRef !== null && theadRef !== void 0 && theadRef.current && theadRef !== null && theadRef !== void 0 && (_theadRef$current2 = theadRef.current) !== null && _theadRef$current2 !== void 0 && _theadRef$current2.parentElement) {
244
+ theadRef.current.parentElement.scrollLeft = left;
248
245
  }
249
- e.preventDefault();
250
- scrollEl.scrollLeft = Math.min(Math.max(scrollLeft, 0), max);
251
246
  });
247
+
248
+ // 简单表格的滚动事件
252
249
  var handleBodyScroll = usePersistFn(function (e) {
253
250
  var target = e.currentTarget;
254
251
  if (!target) return;
255
252
  layoutFunc.checkFloat();
256
- if (mirrorScrollRef.current) {
257
- mirrorScrollRef.current.scrollLeft = target.scrollLeft;
253
+ if (headMirrorScrollRef.current) {
254
+ headMirrorScrollRef.current.scrollLeft = target.scrollLeft;
255
+ }
256
+ if (bottomMirrorScrollRef.current) {
257
+ bottomMirrorScrollRef.current.scrollLeft = target.scrollLeft;
258
258
  }
259
259
  if (props.onScroll && typeof props.onScroll === 'function') {
260
260
  var maxWidth = target.scrollWidth - target.clientWidth;
@@ -263,22 +263,36 @@ export default (function (props) {
263
263
  var y = Math.min(target.scrollTop / maxHeight, 1);
264
264
  props.onScroll(x, y, target.scrollLeft, target.scrollTop);
265
265
  }
266
+ syncHeaderScroll(target.scrollLeft);
266
267
  });
268
+
269
+ // 虚拟表格的滚动事件
267
270
  var handleVirtualScroll = usePersistFn(function (info) {
268
271
  virtualInfo.handleScroll(info);
269
272
  layoutFunc.checkFloat();
270
- if (mirrorScrollRef.current) {
271
- mirrorScrollRef.current.scrollLeft = info.scrollLeft;
273
+ if (headMirrorScrollRef.current) {
274
+ headMirrorScrollRef.current.scrollLeft = info.scrollLeft;
275
+ }
276
+ if (bottomMirrorScrollRef.current) {
277
+ bottomMirrorScrollRef.current.scrollLeft = info.scrollLeft;
272
278
  }
273
279
  if (props.onScroll && typeof props.onScroll === 'function') {
274
280
  props.onScroll(info.x, info.y, info.scrollLeft, info.scrollTop);
275
281
  }
282
+ syncHeaderScroll(info.scrollLeft);
283
+ if (context.scrollingTimer) {
284
+ clearTimeout(context.scrollingTimer);
285
+ }
286
+ setScrolling(true);
287
+ context.scrollingTimer = setTimeout(function () {
288
+ setScrolling(false);
289
+ }, 100);
276
290
  });
277
291
  var renderEmpty = function renderEmpty() {
278
292
  var _props$data2;
279
293
  if (!((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length) || filteredData !== undefined && filteredData.length === 0) {
280
294
  return /*#__PURE__*/_jsx("div", {
281
- className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper,
295
+ className: classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper, isScrollX && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyNoBorder)),
282
296
  ref: function ref(el) {
283
297
  context.emptyHeight = (el === null || el === void 0 ? void 0 : el.clientHeight) || 0;
284
298
  },
@@ -297,6 +311,7 @@ export default (function (props) {
297
311
  shouldLastColAuto: !!shouldLastColAuto
298
312
  });
299
313
  var bodyCommonProps = {
314
+ virtual: props.virtual,
300
315
  hover: props.hover,
301
316
  disabled: props.disabled,
302
317
  rowClickAttr: props.rowClickAttr,
@@ -356,7 +371,6 @@ export default (function (props) {
356
371
  jssStyle: props.jssStyle,
357
372
  colgroup: colgroup
358
373
  };
359
- var fixRightNum = (isRtl ? -1 * maxScrollLeft : maxScrollLeft) - virtualInfo.innerLeft;
360
374
  var StickyWrapper = props.sticky ? Sticky : React.Fragment;
361
375
  var sticky = _typeof(props.sticky) === 'object' ? props.sticky : {
362
376
  top: 0
@@ -369,8 +383,8 @@ export default (function (props) {
369
383
  parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
370
384
  };
371
385
  var isRenderVirtualTable = virtual || props.sticky || !((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length);
372
- var headWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, isScrollY && scrollBarWidth && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.scrollY));
373
- var footWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper, isScrollY && scrollBarWidth && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.scrollY));
386
+ var headWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && !isScrollY && tableClasses.scrollX);
387
+ var footWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
374
388
  var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
375
389
  var _scrollRef$current, _scrollRef$current2, _scrollRef$current3;
376
390
  if (!props.showTopScrollbar) return null;
@@ -386,7 +400,7 @@ export default (function (props) {
386
400
  });
387
401
  return /*#__PURE__*/_jsx(StickyWrapper, _objectSpread(_objectSpread({}, props.sticky ? scrollerStickyProps : {}), {}, {
388
402
  children: /*#__PURE__*/_jsx("div", {
389
- className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headMirrorScroller,
403
+ className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
390
404
  style: {
391
405
  height: browserScrollbarWidth,
392
406
  width: mirrorScrollRefWidth
@@ -397,7 +411,7 @@ export default (function (props) {
397
411
  scrollRef.current.scrollLeft = target.scrollLeft;
398
412
  }
399
413
  },
400
- ref: mirrorScrollRef,
414
+ ref: headMirrorScrollRef,
401
415
  children: /*#__PURE__*/_jsx("div", {
402
416
  style: {
403
417
  width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth,
@@ -407,62 +421,97 @@ export default (function (props) {
407
421
  })
408
422
  }));
409
423
  };
410
- if (isRenderVirtualTable) {
411
- var _props$data4;
412
- var virtualCssVar = {
413
- '--virtual-fixed-left': "".concat(virtualInfo.innerLeft, "px"),
414
- '--virtual-fixed-right': fixRightNum > 0 ? "-".concat(fixRightNum, "px") : "".concat(fixRightNum, "px")
424
+ var renderBottomMirrorScroller = function renderBottomMirrorScroller() {
425
+ var _scrollRef$current4, _scrollRef$current5, _scrollRef$current6;
426
+ if (!props.showBottomScrollbar) return null;
427
+ var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.clientWidth) || 0;
428
+ var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current5 = scrollRef.current) === null || _scrollRef$current5 === void 0 ? void 0 : _scrollRef$current5.scrollWidth) || 0;
429
+ var mirrorScrollRefWidth = scrollRefWidth + scrollBarWidth;
430
+ var showScroll = scrollRefScrollWidth > scrollRefWidth;
431
+ // 开启了双滚,但是没有滚动条,不显示
432
+ if (!scrollRefWidth || !mirrorScrollRefWidth || !showScroll) return null;
433
+ var options = props.showBottomScrollbar === true ? {} : props.showBottomScrollbar;
434
+ var scrollerStickyProps = {
435
+ bottom: options.bottom || 0,
436
+ zIndex: options.zIndex || defaultZIndex + 1,
437
+ parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
415
438
  };
416
- return /*#__PURE__*/_jsxs(_Fragment, {
417
- children: [renderHeadMirrorScroller(), !props.hideHeader && /*#__PURE__*/_jsx(StickyWrapper, _objectSpread(_objectSpread({}, props.sticky ? stickyProps : {}), {}, {
439
+ return /*#__PURE__*/_jsx(Sticky, _objectSpread(_objectSpread({}, scrollerStickyProps), {}, {
440
+ children: /*#__PURE__*/_jsx("div", {
441
+ className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
442
+ style: {
443
+ height: browserScrollbarWidth,
444
+ width: mirrorScrollRefWidth,
445
+ marginTop: -browserScrollbarWidth
446
+ },
447
+ onScroll: function onScroll(e) {
448
+ var target = e.currentTarget;
449
+ if (scrollRef !== null && scrollRef !== void 0 && scrollRef.current && scrollRef.current.scrollLeft !== target.scrollLeft) {
450
+ scrollRef.current.scrollLeft = target.scrollLeft;
451
+ }
452
+ },
453
+ ref: bottomMirrorScrollRef,
418
454
  children: /*#__PURE__*/_jsx("div", {
419
- className: headWrapperClass,
420
- children: /*#__PURE__*/_jsxs("table", {
421
- style: _objectSpread({
422
- width: width,
423
- transform: "translate3d(-".concat(virtualInfo.innerLeft, "px, 0, 0)")
424
- }, virtualCssVar),
425
- ref: theadRef,
426
- children: [Group, /*#__PURE__*/_jsx(Thead, _objectSpread(_objectSpread({}, headCommonProps), {}, {
427
- virtual: true
428
- }))]
429
- })
455
+ style: {
456
+ width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.scrollWidth,
457
+ height: 1
458
+ }
430
459
  })
431
- })), /*#__PURE__*/_jsx(Scroll, {
432
- style: scrollWrapperStyle,
433
- scrollerStyle: (_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length ? virtualScrollerStyle : emptyStyle,
460
+ })
461
+ }));
462
+ };
463
+ var $headTable = /*#__PURE__*/_jsx("div", {
464
+ className: headWrapperClass,
465
+ children: /*#__PURE__*/_jsxs("table", {
466
+ style: {
467
+ width: width
468
+ },
469
+ ref: theadRef,
470
+ children: [Group, /*#__PURE__*/_jsx(Thead, _objectSpread({}, headCommonProps))]
471
+ })
472
+ });
473
+ if (isRenderVirtualTable) {
474
+ var _props$data4;
475
+ return /*#__PURE__*/_jsxs(_Fragment, {
476
+ children: [renderHeadMirrorScroller(), !props.hideHeader && props.sticky && /*#__PURE__*/_jsx(StickyWrapper, _objectSpread(_objectSpread({}, stickyProps), {}, {
477
+ children: $headTable
478
+ })), /*#__PURE__*/_jsxs(Scroll, {
479
+ style: {
480
+ display: 'flex',
481
+ minWidth: 0,
482
+ minHeight: 0,
483
+ flex: 1
484
+ },
434
485
  wrapperRef: scrollRef,
435
486
  scrollWidth: width || 1,
436
487
  scrollHeight: virtual ? virtualInfo.scrollHeight : tbodyHeight,
437
488
  onScroll: handleVirtualScroll,
438
489
  defaultHeight: context.emptyHeight,
439
490
  isScrollY: isScrollY,
440
- children: /*#__PURE__*/_jsxs("table", {
441
- style: _objectSpread({
491
+ isScrollX: isScrollX,
492
+ children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length) && /*#__PURE__*/_jsxs("table", {
493
+ style: {
442
494
  width: width,
443
- transform: virtualInfo.getTranslate()
444
- }, virtualCssVar),
495
+ transform: virtualInfo.translateStyle
496
+ },
445
497
  ref: tbodyRef,
446
498
  children: [Group, /*#__PURE__*/_jsx(Tbody, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
447
499
  currentIndex: virtualInfo.startIndex,
448
500
  data: virtualInfo.data,
449
501
  setRowHeight: virtualInfo.setRowHeight,
450
- virtual: true
451
- }))]
452
- })
453
- }), renderEmpty(), showFoot ? /*#__PURE__*/_jsx("div", {
454
- className: footWrapperClass,
455
- children: /*#__PURE__*/_jsxs("table", {
456
- style: _objectSpread({
457
- width: width,
458
- transform: "translate3d(-".concat(virtualInfo.innerLeft, "px, 0, 0)")
459
- }, virtualCssVar),
460
- ref: tfootRef,
461
- children: [Group, /*#__PURE__*/_jsx(Tfoot, _objectSpread(_objectSpread({}, footCommonProps), {}, {
462
- virtual: true
502
+ scrolling: scrolling
463
503
  }))]
464
- })
465
- }) : null]
504
+ }), showFoot ? /*#__PURE__*/_jsx("div", {
505
+ className: footWrapperClass,
506
+ children: /*#__PURE__*/_jsxs("table", {
507
+ style: {
508
+ width: width
509
+ },
510
+ ref: tfootRef,
511
+ children: [Group, /*#__PURE__*/_jsx(Tfoot, _objectSpread({}, footCommonProps))]
512
+ })
513
+ }) : null, renderEmpty()]
514
+ }), renderBottomMirrorScroller()]
466
515
  });
467
516
  }
468
517
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -479,7 +528,7 @@ export default (function (props) {
479
528
  children: renderEmpty()
480
529
  }) : /*#__PURE__*/_jsx(Tbody, _objectSpread({}, bodyCommonProps)), /*#__PURE__*/_jsx(Tfoot, _objectSpread({}, footCommonProps))]
481
530
  })
482
- })]
531
+ }), renderBottomMirrorScroller()]
483
532
  });
484
533
  };
485
534
  var renderLoading = function renderLoading() {
@@ -499,27 +548,36 @@ export default (function (props) {
499
548
  align: "right"
500
549
  }, pagination), paginationInfo));
501
550
  };
551
+
552
+ // handle head and foot scroll
553
+ var handleHeaderWheel = usePersistFn(function (e) {
554
+ var _theadRef$current3;
555
+ var scrollEl = scrollRef.current;
556
+ if (!scrollEl) return;
557
+ if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current3 = theadRef.current) !== null && _theadRef$current3 !== void 0 && _theadRef$current3.parentElement)) return;
558
+ var max = scrollEl.scrollWidth - scrollEl.clientWidth;
559
+ var scrollLeft = scrollEl.scrollLeft + e.deltaX;
560
+ if (scrollLeft === scrollEl.scrollLeft) {
561
+ return;
562
+ }
563
+ e.preventDefault();
564
+ var left = Math.min(Math.max(scrollLeft, 0), max);
565
+ scrollEl.scrollLeft = left;
566
+ theadRef.current.parentElement.scrollLeft = left;
567
+ });
502
568
  useEffect(function () {
503
569
  // 绑定 wheel 事件
504
- if (theadRef.current && theadRef.current.parentElement) {
570
+ if (props.sticky && theadRef.current && theadRef.current.parentElement) {
505
571
  theadRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
506
572
  passive: false
507
573
  });
508
574
  }
509
- if (tfootRef.current && tfootRef.current.parentElement) {
510
- tfootRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
511
- passive: false
512
- });
513
- }
514
575
  return function () {
515
- if (theadRef.current && theadRef.current.parentElement) {
576
+ if (props.sticky && theadRef.current && theadRef.current.parentElement) {
516
577
  theadRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
517
578
  }
518
- if (tfootRef.current && tfootRef.current.parentElement) {
519
- tfootRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
520
- }
521
579
  };
522
- }, [theadRef.current, isScrollY]);
580
+ }, [theadRef.current, props.sticky, isScrollY]);
523
581
  var getRenderIndexByData = function getRenderIndexByData(data) {
524
582
  var originKey = typeof data === 'string' ? data : util.getKey(props.keygen, data);
525
583
  var index = treeData.findIndex(function (item) {
@@ -555,7 +613,7 @@ export default (function (props) {
555
613
  });
556
614
  return /*#__PURE__*/_jsxs(_Fragment, {
557
615
  children: [/*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
558
- className: classNames(tableWrapperClass, floatLeft && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.floatLeft), floatRight && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.floatRight), props.sticky && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.sticky)),
616
+ className: classNames(tableWrapperClass, _defineProperty(_defineProperty(_defineProperty({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
559
617
  style: _objectSpread({
560
618
  height: defaultHeight
561
619
  }, props.style)
@@ -18,6 +18,7 @@ import { RadioClasses } from '../radio/radio.type';
18
18
  import { PopoverClasses } from '../popover/popover.type';
19
19
  import { TreeClasses } from '../tree/tree.type';
20
20
  import { KeygenResult } from '@sheinx/hooks';
21
+ import { StickyProps } from '../sticky';
21
22
  export type ListDatum = ReturnType<typeof useListSelect<any, any>>;
22
23
  export type UseTreeResult = ReturnType<typeof useTableTree>;
23
24
  export interface TableClasses {
@@ -26,7 +27,6 @@ export interface TableClasses {
26
27
  small: string;
27
28
  large: string;
28
29
  default: string;
29
- scrollY: string;
30
30
  floatLeft: string;
31
31
  floatRight: string;
32
32
  bordered: string;
@@ -36,11 +36,14 @@ export interface TableClasses {
36
36
  simple: string;
37
37
  striped: string;
38
38
  loading: string;
39
- headMirrorScroller: string;
39
+ mirrorScroller: string;
40
40
  headWrapper: string;
41
41
  bodyWrapper: string;
42
42
  footWrapper: string;
43
43
  emptyWrapper: string;
44
+ emptyNoBorder: string;
45
+ scrollY: string;
46
+ scrollX: string;
44
47
  cellAlignLeft: string;
45
48
  cellAlignRight: string;
46
49
  cellAlignCenter: string;
@@ -202,9 +205,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
202
205
  fixed?: TableFix | 'auto';
203
206
  /**
204
207
  * @en Whether to use virtual list
205
- * @cn 是否使用虚拟列表
208
+ * @cn 是否使用虚拟列表,设置为 lazy 时,表示在滚动时不触发 rerender
206
209
  */
207
- virtual?: boolean;
210
+ virtual?: boolean | 'lazy';
208
211
  /**
209
212
  * @en The maximum number of rows for a single render. Table uses lazy render to optimize performance under large amounts of data. If your table displays more than 20 rows, you can change the value of rowsInView. Value of 0 render all data.
210
213
  * @cn 单次 render的 最大行数。Table 采用了 lazy render 的方式来优化在大量数据下的性能,如果你的表格显示的高度超出了20条,可以调整 rowsInView 的值。为 0 表示单次 render 所有数据。
@@ -333,6 +336,7 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
333
336
  sticky?: boolean | {
334
337
  top?: number;
335
338
  css?: boolean;
339
+ target?: Element | null;
336
340
  };
337
341
  /**
338
342
  * @en Whether to show the top scroller
@@ -341,6 +345,13 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
341
345
  * @version 3.4.0
342
346
  */
343
347
  showTopScrollbar?: boolean;
348
+ /**
349
+ * @en Whether to show the bottom scroller
350
+ * @cn 是否开启底部自定吸附的滚动条
351
+ * @default false
352
+ * @version 3.7.0
353
+ */
354
+ showBottomScrollbar?: boolean | BottomScrollbarOption;
344
355
  /**
345
356
  * @en Table instance (please use with caution: only fixed Table)
346
357
  * @cn Table 实例(请谨慎使用:仅虚拟列表支持)
@@ -352,6 +363,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
352
363
  */
353
364
  onRowSelect?: (rows: Value) => void;
354
365
  }
366
+ interface BottomScrollbarOption extends Pick<StickyProps, 'bottom'> {
367
+ zIndex?: number;
368
+ }
355
369
  export interface SorterInfo {
356
370
  order?: ColumnOrder;
357
371
  /**
@@ -389,4 +403,5 @@ export interface SummaryItem {
389
403
  * @title TableColumn
390
404
  */
391
405
  export type ColumnItem<DataItem> = TableColumnItem<DataItem>;
406
+ export {};
392
407
  //# sourceMappingURL=table.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.type.d.ts","sourceRoot":"","sources":["table.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.type.d.ts","sourceRoot":"","sources":["table.type.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { TbodyProps } from './tbody.type';
2
- declare const _default: (props: TbodyProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const _default: (props: TbodyProps) => import("react/jsx-runtime").JSX.Element | undefined;
3
3
  export default _default;
4
4
  //# sourceMappingURL=tbody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAwEE"}
1
+ {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAsFE"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useTableRow, useTableExpand, util } from '@sheinx/hooks';
2
+ import { useTableRow, useTableExpand, util, useComponentMemo } from '@sheinx/hooks';
3
3
  import Tr from "./tr";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  export default (function (props) {
@@ -23,7 +23,6 @@ export default (function (props) {
23
23
  hover: hover
24
24
  }),
25
25
  rowData = _useTableRow.rowData,
26
- isCellHover = _useTableRow.isCellHover,
27
26
  handleCellHover = _useTableRow.handleCellHover,
28
27
  hoverIndex = _useTableRow.hoverIndex,
29
28
  rowSelectMergeStartData = _useTableRow.rowSelectMergeStartData;
@@ -31,9 +30,10 @@ export default (function (props) {
31
30
  return col.type === 'expand' || col.type === 'row-expand';
32
31
  });
33
32
  var renderRow = function renderRow(item, index) {
33
+ var _props$rowEvents;
34
34
  var rowIndex = index + currentIndex;
35
35
  var originKey = util.getKey(props.keygen, item, rowIndex);
36
- var trRenderKey = props.loader ? originKey : "".concat(originKey, "-").concat(rowIndex);
36
+ var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
37
37
  return /*#__PURE__*/_jsx(Tr, {
38
38
  originKey: originKey,
39
39
  row: rowData[index],
@@ -58,10 +58,8 @@ export default (function (props) {
58
58
  isEmptyTree: props.isEmptyTree,
59
59
  treeColumnsName: props.treeColumnsName,
60
60
  setRowHeight: props.setRowHeight,
61
- virtual: props.virtual,
62
61
  striped: props.striped,
63
62
  radio: props.radio,
64
- isCellHover: isCellHover,
65
63
  hover: hover,
66
64
  isSelect: props.datum.check(rowSelectMergeStartData[index]),
67
65
  handleCellHover: handleCellHover
@@ -75,12 +73,21 @@ export default (function (props) {
75
73
  bodyScrollWidth: props.bodyScrollWidth,
76
74
  resizeFlag: props.resizeFlag,
77
75
  treeCheckAll: props.treeCheckAll,
78
- onCellClick: props.onCellClick
76
+ onCellClick: props.onCellClick,
77
+ virtual: props.virtual,
78
+ scrolling: props.scrolling
79
79
  }, trRenderKey);
80
80
  };
81
- return /*#__PURE__*/_jsx("tbody", {
82
- children: (props.data || []).map(function (item, index) {
83
- return renderRow(item, index);
84
- })
85
- });
81
+ var $tbody = useComponentMemo(function () {
82
+ return /*#__PURE__*/_jsx("tbody", {
83
+ children: (props.data || []).map(function (item, index) {
84
+ return renderRow(item, index);
85
+ })
86
+ });
87
+ }, [props.data, currentIndex], props.virtual === 'lazy' ? function (prev, next) {
88
+ return prev.some(function (_, index) {
89
+ return !util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
90
+ }) || !props.scrolling;
91
+ } : undefined);
92
+ return $tbody;
86
93
  });
@@ -3,7 +3,7 @@ import { TableProps, ListDatum, UseTreeResult } from './table.type';
3
3
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
4
4
  export type UseColumnsResult = ReturnType<typeof useTableColumns>;
5
5
  export type UseTableRowResult = ReturnType<typeof useTableRow>;
6
- export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick'> {
6
+ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'virtual'> {
7
7
  columns: TableFormatColumn<any>[];
8
8
  data: any[];
9
9
  colgroup: (number | string | undefined)[];
@@ -16,8 +16,8 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
16
16
  isEmptyTree: boolean | undefined;
17
17
  treeColumnsName: string | undefined;
18
18
  setRowHeight?: (index: number, height: number) => void;
19
- virtual?: boolean;
20
19
  bodyScrollWidth?: number;
21
20
  resizeFlag?: number;
21
+ scrolling?: boolean;
22
22
  }
23
23
  //# sourceMappingURL=tbody.type.d.ts.map