@sheinx/base 3.7.0-beta.3 → 3.7.0-beta.30

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 (271) hide show
  1. package/cjs/cascader/cascader.d.ts.map +1 -1
  2. package/cjs/cascader/cascader.js +8 -2
  3. package/cjs/cascader/cascader.type.d.ts +6 -1
  4. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  5. package/cjs/date-picker/date-picker.js +1 -1
  6. package/cjs/form/form-flow.js +1 -1
  7. package/cjs/form/form-footer-context.d.ts +2 -1
  8. package/cjs/form/form-footer-context.d.ts.map +1 -1
  9. package/cjs/form/form.d.ts.map +1 -1
  10. package/cjs/form/form.js +4 -2
  11. package/cjs/form/form.type.d.ts +3 -0
  12. package/cjs/form/form.type.d.ts.map +1 -1
  13. package/cjs/icons/config.d.ts +3 -2
  14. package/cjs/icons/config.d.ts.map +1 -1
  15. package/cjs/icons/config.js +5 -4
  16. package/cjs/icons/icons.js +5 -1
  17. package/cjs/image/image.d.ts.map +1 -1
  18. package/cjs/image/image.js +3 -2
  19. package/cjs/index.d.ts +1 -0
  20. package/cjs/index.d.ts.map +1 -1
  21. package/cjs/index.js +12 -0
  22. package/cjs/modal/modal-content.d.ts.map +1 -1
  23. package/cjs/modal/modal-content.js +14 -3
  24. package/cjs/modal/modal-submit.d.ts.map +1 -1
  25. package/cjs/modal/modal-submit.js +10 -3
  26. package/cjs/modal/modal.d.ts.map +1 -1
  27. package/cjs/modal/modal.js +3 -0
  28. package/cjs/popover/popover.d.ts.map +1 -1
  29. package/cjs/popover/popover.js +29 -1
  30. package/cjs/select/list.d.ts.map +1 -1
  31. package/cjs/select/list.js +2 -1
  32. package/cjs/select/result-more.d.ts.map +1 -1
  33. package/cjs/select/result-more.js +1 -1
  34. package/cjs/select/result.d.ts.map +1 -1
  35. package/cjs/select/result.js +10 -1
  36. package/cjs/select/select.d.ts.map +1 -1
  37. package/cjs/select/select.js +3 -0
  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 +203 -71
  64. package/cjs/table/table.type.d.ts +20 -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 -9
  69. package/cjs/table/tbody.type.d.ts +2 -1
  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/thead.d.ts.map +1 -1
  75. package/cjs/table/thead.js +12 -4
  76. package/cjs/table/tr.d.ts +2 -2
  77. package/cjs/table/tr.d.ts.map +1 -1
  78. package/cjs/table/tr.js +32 -17
  79. package/cjs/tabs/tabs-panel.js +4 -3
  80. package/cjs/tabs/tabs.d.ts.map +1 -1
  81. package/cjs/tabs/tabs.js +10 -1
  82. package/cjs/tabs/tabs.type.d.ts +6 -0
  83. package/cjs/tabs/tabs.type.d.ts.map +1 -1
  84. package/cjs/tag/tag.d.ts.map +1 -1
  85. package/cjs/tag/tag.js +3 -1
  86. package/cjs/tag/tag.type.d.ts +6 -0
  87. package/cjs/tag/tag.type.d.ts.map +1 -1
  88. package/cjs/tooltip/tooltip.d.ts.map +1 -1
  89. package/cjs/tooltip/tooltip.js +21 -1
  90. package/cjs/transfer/transfer-list.type.d.ts +1 -1
  91. package/cjs/transfer/transfer-list.type.d.ts.map +1 -1
  92. package/cjs/transfer/transfer.d.ts.map +1 -1
  93. package/cjs/transfer/transfer.js +16 -2
  94. package/cjs/transfer/transfer.type.d.ts +1 -1
  95. package/cjs/transfer/transfer.type.d.ts.map +1 -1
  96. package/cjs/tree/tree-checkbox.d.ts.map +1 -1
  97. package/cjs/tree/tree-checkbox.js +4 -2
  98. package/cjs/tree/tree-checkbox.type.d.ts +1 -0
  99. package/cjs/tree/tree-checkbox.type.d.ts.map +1 -1
  100. package/cjs/tree/tree-content.d.ts.map +1 -1
  101. package/cjs/tree/tree-content.js +25 -4
  102. package/cjs/tree/tree-content.type.d.ts +1 -2
  103. package/cjs/tree/tree-content.type.d.ts.map +1 -1
  104. package/cjs/tree/tree-context.d.ts +3 -3
  105. package/cjs/tree/tree-context.d.ts.map +1 -1
  106. package/cjs/tree/tree-context.type.d.ts +2 -1
  107. package/cjs/tree/tree-context.type.d.ts.map +1 -1
  108. package/cjs/tree/tree-list.type.d.ts +1 -2
  109. package/cjs/tree/tree-list.type.d.ts.map +1 -1
  110. package/cjs/tree/tree-node.type.d.ts +2 -4
  111. package/cjs/tree/tree-node.type.d.ts.map +1 -1
  112. package/cjs/tree/tree-root.type.d.ts +1 -2
  113. package/cjs/tree/tree-root.type.d.ts.map +1 -1
  114. package/cjs/tree/tree-virtual-node.d.ts.map +1 -1
  115. package/cjs/tree/tree-virtual-node.js +20 -5
  116. package/cjs/tree/tree-virtual.d.ts.map +1 -1
  117. package/cjs/tree/tree-virtual.js +11 -4
  118. package/cjs/tree/tree.d.ts.map +1 -1
  119. package/cjs/tree/tree.js +11 -14
  120. package/cjs/tree/tree.type.d.ts +24 -6
  121. package/cjs/tree/tree.type.d.ts.map +1 -1
  122. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  123. package/cjs/tree-select/tree-select.js +21 -6
  124. package/cjs/tree-select/tree-select.type.d.ts +30 -2
  125. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  126. package/cjs/upload/drop.d.ts +1 -0
  127. package/cjs/upload/drop.d.ts.map +1 -1
  128. package/cjs/upload/drop.js +43 -12
  129. package/cjs/upload/upload.d.ts.map +1 -1
  130. package/cjs/upload/upload.js +3 -1
  131. package/cjs/upload/upload.type.d.ts +6 -0
  132. package/cjs/upload/upload.type.d.ts.map +1 -1
  133. package/cjs/virtual-scroll/scroll-table.d.ts +31 -0
  134. package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -0
  135. package/cjs/virtual-scroll/scroll-table.js +182 -0
  136. package/esm/cascader/cascader.d.ts.map +1 -1
  137. package/esm/cascader/cascader.js +8 -2
  138. package/esm/cascader/cascader.type.d.ts +6 -1
  139. package/esm/cascader/cascader.type.d.ts.map +1 -1
  140. package/esm/date-picker/date-picker.js +1 -1
  141. package/esm/form/form-flow.js +1 -1
  142. package/esm/form/form-footer-context.d.ts +2 -1
  143. package/esm/form/form-footer-context.d.ts.map +1 -1
  144. package/esm/form/form.d.ts.map +1 -1
  145. package/esm/form/form.js +4 -2
  146. package/esm/form/form.type.d.ts +3 -0
  147. package/esm/form/form.type.d.ts.map +1 -1
  148. package/esm/icons/config.d.ts +3 -2
  149. package/esm/icons/config.d.ts.map +1 -1
  150. package/esm/icons/config.js +5 -4
  151. package/esm/icons/icons.js +5 -1
  152. package/esm/image/image.d.ts.map +1 -1
  153. package/esm/image/image.js +3 -2
  154. package/esm/index.d.ts +1 -0
  155. package/esm/index.d.ts.map +1 -1
  156. package/esm/index.js +1 -0
  157. package/esm/modal/modal-content.d.ts.map +1 -1
  158. package/esm/modal/modal-content.js +14 -3
  159. package/esm/modal/modal-submit.d.ts.map +1 -1
  160. package/esm/modal/modal-submit.js +10 -3
  161. package/esm/modal/modal.d.ts.map +1 -1
  162. package/esm/modal/modal.js +3 -0
  163. package/esm/popover/popover.d.ts.map +1 -1
  164. package/esm/popover/popover.js +29 -1
  165. package/esm/select/list.d.ts.map +1 -1
  166. package/esm/select/list.js +2 -1
  167. package/esm/select/result-more.d.ts.map +1 -1
  168. package/esm/select/result-more.js +1 -1
  169. package/esm/select/result.d.ts.map +1 -1
  170. package/esm/select/result.js +10 -1
  171. package/esm/select/select.d.ts.map +1 -1
  172. package/esm/select/select.js +3 -0
  173. package/esm/select/select.type.d.ts +2 -1
  174. package/esm/select/select.type.d.ts.map +1 -1
  175. package/esm/skeleton/button.d.ts +8 -0
  176. package/esm/skeleton/button.d.ts.map +1 -0
  177. package/esm/skeleton/button.js +27 -0
  178. package/esm/skeleton/image.d.ts +8 -0
  179. package/esm/skeleton/image.d.ts.map +1 -0
  180. package/esm/skeleton/image.js +20 -0
  181. package/esm/skeleton/index.d.ts +3 -0
  182. package/esm/skeleton/index.d.ts.map +1 -0
  183. package/esm/skeleton/index.js +2 -0
  184. package/esm/skeleton/skeleton.d.ts +5 -0
  185. package/esm/skeleton/skeleton.d.ts.map +1 -0
  186. package/esm/skeleton/skeleton.js +52 -0
  187. package/esm/skeleton/skeleton.type.d.ts +125 -0
  188. package/esm/skeleton/skeleton.type.d.ts.map +1 -0
  189. package/esm/skeleton/skeleton.type.js +1 -0
  190. package/esm/skeleton/text.d.ts +8 -0
  191. package/esm/skeleton/text.d.ts.map +1 -0
  192. package/esm/skeleton/text.js +46 -0
  193. package/esm/sticky/sticky.d.ts.map +1 -1
  194. package/esm/sticky/sticky.js +13 -4
  195. package/esm/sticky/sticky.type.d.ts +2 -2
  196. package/esm/sticky/sticky.type.d.ts.map +1 -1
  197. package/esm/table/table.d.ts.map +1 -1
  198. package/esm/table/table.js +204 -72
  199. package/esm/table/table.type.d.ts +20 -4
  200. package/esm/table/table.type.d.ts.map +1 -1
  201. package/esm/table/tbody.d.ts +1 -1
  202. package/esm/table/tbody.d.ts.map +1 -1
  203. package/esm/table/tbody.js +18 -10
  204. package/esm/table/tbody.type.d.ts +2 -1
  205. package/esm/table/tbody.type.d.ts.map +1 -1
  206. package/esm/table/td.d.ts +3 -3
  207. package/esm/table/td.d.ts.map +1 -1
  208. package/esm/table/td.js +22 -18
  209. package/esm/table/thead.d.ts.map +1 -1
  210. package/esm/table/thead.js +12 -4
  211. package/esm/table/tr.d.ts +2 -2
  212. package/esm/table/tr.d.ts.map +1 -1
  213. package/esm/table/tr.js +32 -17
  214. package/esm/tabs/tabs-panel.js +4 -3
  215. package/esm/tabs/tabs.d.ts.map +1 -1
  216. package/esm/tabs/tabs.js +10 -1
  217. package/esm/tabs/tabs.type.d.ts +6 -0
  218. package/esm/tabs/tabs.type.d.ts.map +1 -1
  219. package/esm/tag/tag.d.ts.map +1 -1
  220. package/esm/tag/tag.js +3 -1
  221. package/esm/tag/tag.type.d.ts +6 -0
  222. package/esm/tag/tag.type.d.ts.map +1 -1
  223. package/esm/tooltip/tooltip.d.ts.map +1 -1
  224. package/esm/tooltip/tooltip.js +21 -1
  225. package/esm/transfer/transfer-list.type.d.ts +1 -1
  226. package/esm/transfer/transfer-list.type.d.ts.map +1 -1
  227. package/esm/transfer/transfer.d.ts.map +1 -1
  228. package/esm/transfer/transfer.js +16 -2
  229. package/esm/transfer/transfer.type.d.ts +1 -1
  230. package/esm/transfer/transfer.type.d.ts.map +1 -1
  231. package/esm/tree/tree-checkbox.d.ts.map +1 -1
  232. package/esm/tree/tree-checkbox.js +4 -2
  233. package/esm/tree/tree-checkbox.type.d.ts +1 -0
  234. package/esm/tree/tree-checkbox.type.d.ts.map +1 -1
  235. package/esm/tree/tree-content.d.ts.map +1 -1
  236. package/esm/tree/tree-content.js +25 -4
  237. package/esm/tree/tree-content.type.d.ts +1 -2
  238. package/esm/tree/tree-content.type.d.ts.map +1 -1
  239. package/esm/tree/tree-context.d.ts +3 -3
  240. package/esm/tree/tree-context.d.ts.map +1 -1
  241. package/esm/tree/tree-context.type.d.ts +2 -1
  242. package/esm/tree/tree-context.type.d.ts.map +1 -1
  243. package/esm/tree/tree-list.type.d.ts +1 -2
  244. package/esm/tree/tree-list.type.d.ts.map +1 -1
  245. package/esm/tree/tree-node.type.d.ts +2 -4
  246. package/esm/tree/tree-node.type.d.ts.map +1 -1
  247. package/esm/tree/tree-root.type.d.ts +1 -2
  248. package/esm/tree/tree-root.type.d.ts.map +1 -1
  249. package/esm/tree/tree-virtual-node.d.ts.map +1 -1
  250. package/esm/tree/tree-virtual-node.js +21 -5
  251. package/esm/tree/tree-virtual.d.ts.map +1 -1
  252. package/esm/tree/tree-virtual.js +11 -4
  253. package/esm/tree/tree.d.ts.map +1 -1
  254. package/esm/tree/tree.js +11 -14
  255. package/esm/tree/tree.type.d.ts +24 -6
  256. package/esm/tree/tree.type.d.ts.map +1 -1
  257. package/esm/tree-select/tree-select.d.ts.map +1 -1
  258. package/esm/tree-select/tree-select.js +21 -6
  259. package/esm/tree-select/tree-select.type.d.ts +30 -2
  260. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  261. package/esm/upload/drop.d.ts +1 -0
  262. package/esm/upload/drop.d.ts.map +1 -1
  263. package/esm/upload/drop.js +43 -12
  264. package/esm/upload/upload.d.ts.map +1 -1
  265. package/esm/upload/upload.js +3 -1
  266. package/esm/upload/upload.type.d.ts +6 -0
  267. package/esm/upload/upload.type.d.ts.map +1 -1
  268. package/esm/virtual-scroll/scroll-table.d.ts +31 -0
  269. package/esm/virtual-scroll/scroll-table.d.ts.map +1 -0
  270. package/esm/virtual-scroll/scroll-table.js +175 -0
  271. package/package.json +2 -2
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _scroll = _interopRequireDefault(require("../virtual-scroll/scroll"));
8
+ var _scrollTable = _interopRequireDefault(require("../virtual-scroll/scroll-table"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _spin = _interopRequireDefault(require("../spin"));
11
11
  var _pagination = _interopRequireDefault(require("../pagination"));
@@ -27,32 +27,25 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
27
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
28
  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; }
29
29
  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; }
30
- 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); }
31
30
  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; }
32
31
  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; }
33
32
  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; }
34
33
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
35
34
  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); }
35
+ 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); }
36
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
37
+ 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."); }
38
+ 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); }
39
+ 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; }
40
+ 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; } }
41
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
36
42
  var devUseWarning = _hooks.util.devUseWarning;
37
43
  var emptyArr = [];
38
- var virtualScrollerStyle = {
39
- flex: 1,
40
- minWidth: 0,
41
- minHeight: 0,
42
- overflow: 'auto',
43
- width: '100%'
44
- };
45
- var scrollWrapperStyle = {
46
- flex: 1,
47
- minHeight: 0,
48
- minWidth: 0,
49
- display: 'flex'
50
- };
51
44
  var emptyRef = {
52
45
  current: null
53
46
  };
54
47
  var _default = exports.default = function _default(props) {
55
- var _props$jssStyle, _props$jssStyle$table, _props$data, _columns$find;
48
+ var _props$jssStyle, _props$jssStyle$table, _columns$find;
56
49
  var _props$verticalAlign = props.verticalAlign,
57
50
  verticalAlign = _props$verticalAlign === void 0 ? 'top' : _props$verticalAlign,
58
51
  _props$size = props.size,
@@ -64,20 +57,21 @@ var _default = exports.default = function _default(props) {
64
57
  var tableClasses = props === null || props === void 0 || (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$table = _props$jssStyle.table) === null || _props$jssStyle$table === void 0 ? void 0 : _props$jssStyle$table.call(_props$jssStyle);
65
58
  var tbodyRef = (0, _react.useRef)(null);
66
59
  var theadRef = (0, _react.useRef)(null);
60
+ var theadIdRef = (0, _react.useRef)("thead-container-".concat(_hooks.util.generateUUID()));
67
61
  var tfootRef = (0, _react.useRef)(null);
68
62
  var scrollRef = (0, _react.useRef)(null);
69
- var mirrorScrollRef = (0, _react.useRef)(null);
63
+ var headMirrorScrollRef = (0, _react.useRef)(null);
64
+ var bottomMirrorScrollRef = (0, _react.useRef)(null);
70
65
  var tableRef = (0, _react.useRef)(null);
66
+ var _useState = (0, _react.useState)(false),
67
+ _useState2 = _slicedToArray(_useState, 2),
68
+ scrolling = _useState2[0],
69
+ setScrolling = _useState2[1];
70
+ var _useState3 = (0, _react.useState)(false),
71
+ _useState4 = _slicedToArray(_useState3, 2),
72
+ fakeVirtual = _useState4[0],
73
+ setFakeVirtual = _useState4[1];
71
74
  var browserScrollbarWidth = (0, _hooks.useScrollbarWidth)();
72
- var emptyStyle = _objectSpread(_objectSpread({}, virtualScrollerStyle), {}, {
73
- overflow: 'auto hidden',
74
- position: 'absolute',
75
- zIndex: 1,
76
- bottom: 0,
77
- left: 0,
78
- right: 0,
79
- height: browserScrollbarWidth
80
- });
81
75
  if (props.fixed) {
82
76
  devUseWarning.deprecated('fixed', 'virtual', 'Table');
83
77
  }
@@ -98,10 +92,12 @@ var _default = exports.default = function _default(props) {
98
92
  };
99
93
  };
100
94
  var _useRef = (0, _react.useRef)({
101
- emptyHeight: 0
95
+ emptyHeight: 0,
96
+ theadAndTfootHeight: 0,
97
+ scrollingTimer: null
102
98
  }),
103
99
  context = _useRef.current;
104
- 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');
100
+ var virtual = !fakeVirtual && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
105
101
 
106
102
  // 虚拟列表高度另外计算
107
103
  var _useResize = (0, _hooks.useResize)({
@@ -230,6 +226,16 @@ var _default = exports.default = function _default(props) {
230
226
  onChange: inputableData.onChange,
231
227
  disabled: props.disabled
232
228
  });
229
+ (0, _react.useEffect)(function () {
230
+ var _theadRef$current, _tfootRef$current;
231
+ var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
232
+ var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
233
+ if (props.sticky) {
234
+ context.theadAndTfootHeight = tfootHeight;
235
+ } else {
236
+ context.theadAndTfootHeight = theadHeight + tfootHeight;
237
+ }
238
+ }, [theadRef.current, tfootRef.current]);
233
239
  var virtualInfo = (0, _hooks.useTableVirtual)({
234
240
  disabled: !virtual,
235
241
  data: treeData,
@@ -240,14 +246,30 @@ var _default = exports.default = function _default(props) {
240
246
  scrollRef: scrollRef,
241
247
  innerRef: tbodyRef,
242
248
  scrollLeft: props.scrollLeft,
243
- isRtl: isRtl
249
+ isRtl: isRtl,
250
+ theadAndTfootHeight: context.theadAndTfootHeight
244
251
  });
252
+ var syncHeaderScroll = (0, _hooks.usePersistFn)(function (left) {
253
+ var _tableRef$current;
254
+ if (props.hideHeader || !props.sticky) return;
255
+
256
+ // why use querySelectorAll: thead经历了Sticky组件的渲染再回来时,theadRef就丢失了
257
+ var theads = tableRef === null || tableRef === void 0 || (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.querySelectorAll("[data-soui-role=".concat(theadIdRef.current, "]"));
258
+ theads === null || theads === void 0 || theads.forEach(function (item) {
259
+ item.scrollLeft = left;
260
+ });
261
+ });
262
+
263
+ // 简单表格的滚动事件
245
264
  var handleBodyScroll = (0, _hooks.usePersistFn)(function (e) {
246
265
  var target = e.currentTarget;
247
266
  if (!target) return;
248
267
  layoutFunc.checkFloat();
249
- if (mirrorScrollRef.current) {
250
- mirrorScrollRef.current.scrollLeft = target.scrollLeft;
268
+ if (headMirrorScrollRef.current) {
269
+ headMirrorScrollRef.current.scrollLeft = target.scrollLeft;
270
+ }
271
+ if (bottomMirrorScrollRef.current) {
272
+ bottomMirrorScrollRef.current.scrollLeft = target.scrollLeft;
251
273
  }
252
274
  if (props.onScroll && typeof props.onScroll === 'function') {
253
275
  var maxWidth = target.scrollWidth - target.clientWidth;
@@ -256,22 +278,36 @@ var _default = exports.default = function _default(props) {
256
278
  var y = Math.min(target.scrollTop / maxHeight, 1);
257
279
  props.onScroll(x, y, target.scrollLeft, target.scrollTop);
258
280
  }
281
+ syncHeaderScroll(target.scrollLeft);
259
282
  });
283
+
284
+ // 虚拟表格的滚动事件
260
285
  var handleVirtualScroll = (0, _hooks.usePersistFn)(function (info) {
261
286
  virtualInfo.handleScroll(info);
262
287
  layoutFunc.checkFloat();
263
- if (mirrorScrollRef.current) {
264
- mirrorScrollRef.current.scrollLeft = info.scrollLeft;
288
+ if (headMirrorScrollRef.current) {
289
+ headMirrorScrollRef.current.scrollLeft = info.scrollLeft;
290
+ }
291
+ if (bottomMirrorScrollRef.current) {
292
+ bottomMirrorScrollRef.current.scrollLeft = info.scrollLeft;
265
293
  }
266
294
  if (props.onScroll && typeof props.onScroll === 'function') {
267
295
  props.onScroll(info.x, info.y, info.scrollLeft, info.scrollTop);
268
296
  }
297
+ syncHeaderScroll(info.scrollLeft);
298
+ if (context.scrollingTimer) {
299
+ clearTimeout(context.scrollingTimer);
300
+ }
301
+ setScrolling(true);
302
+ context.scrollingTimer = setTimeout(function () {
303
+ setScrolling(false);
304
+ }, 100);
269
305
  });
270
306
  var renderEmpty = function renderEmpty() {
271
- var _props$data2;
272
- if (!((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length) || filteredData !== undefined && filteredData.length === 0) {
307
+ var _props$data;
308
+ if (!((_props$data = props.data) !== null && _props$data !== void 0 && _props$data.length) || filteredData !== undefined && filteredData.length === 0) {
273
309
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
274
- className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper,
310
+ className: (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper, isScrollX && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyNoBorder)),
275
311
  ref: function ref(el) {
276
312
  context.emptyHeight = (el === null || el === void 0 ? void 0 : el.clientHeight) || 0;
277
313
  },
@@ -282,14 +318,16 @@ var _default = exports.default = function _default(props) {
282
318
  }
283
319
  return null;
284
320
  };
321
+ var $empty = renderEmpty();
285
322
  var renderTable = function renderTable() {
286
- var _props$summary, _sticky$top, _props$data3;
323
+ var _props$summary, _sticky$top, _props$data2;
287
324
  var Group = /*#__PURE__*/(0, _jsxRuntime.jsx)(_colgroup.default, {
288
325
  colgroup: colgroup,
289
326
  columns: columns,
290
327
  shouldLastColAuto: !!shouldLastColAuto
291
328
  });
292
329
  var bodyCommonProps = {
330
+ virtual: props.virtual,
293
331
  hover: props.hover,
294
332
  disabled: props.disabled,
295
333
  rowClickAttr: props.rowClickAttr,
@@ -358,17 +396,22 @@ var _default = exports.default = function _default(props) {
358
396
  target: sticky === null || sticky === void 0 ? void 0 : sticky.target,
359
397
  top: (_sticky$top = sticky === null || sticky === void 0 ? void 0 : sticky.top) !== null && _sticky$top !== void 0 ? _sticky$top : 0,
360
398
  css: sticky === null || sticky === void 0 ? void 0 : sticky.css,
361
- parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
399
+ parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current,
400
+ onChange: function onChange(isSticky) {
401
+ if (isSticky) {
402
+ var _scrollRef$current;
403
+ syncHeaderScroll(((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollLeft) || 0);
404
+ }
405
+ }
362
406
  };
363
- var isRenderVirtualTable = virtual || props.sticky || !((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length);
364
- var headWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper // isScrollY && scrollBarWidth && tableClasses?.scrollY,
365
- );
366
- var footWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper, isScrollY && scrollBarWidth && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.scrollY));
407
+ var isRenderVirtualTable = virtual || props.sticky || !((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length);
408
+ var headWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, !!$empty && tableClasses.emptyHeader, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && !isScrollY && tableClasses.scrollX);
409
+ var footWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
367
410
  var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
368
- var _scrollRef$current, _scrollRef$current2, _scrollRef$current3;
411
+ var _scrollRef$current2, _scrollRef$current3, _scrollRef$current4;
369
412
  if (!props.showTopScrollbar) return null;
370
- var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.clientWidth) || 0;
371
- var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.scrollWidth) || 0;
413
+ var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.clientWidth) || 0;
414
+ var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth) || 0;
372
415
  var mirrorScrollRefWidth = scrollRefWidth + scrollBarWidth;
373
416
  var showScroll = scrollRefScrollWidth > scrollRefWidth;
374
417
  // 开启了双滚,但是没有滚动条,不显示
@@ -379,7 +422,7 @@ var _default = exports.default = function _default(props) {
379
422
  });
380
423
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, props.sticky ? scrollerStickyProps : {}), {}, {
381
424
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
382
- className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headMirrorScroller,
425
+ className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
383
426
  style: {
384
427
  height: browserScrollbarWidth,
385
428
  width: mirrorScrollRefWidth
@@ -390,49 +433,102 @@ var _default = exports.default = function _default(props) {
390
433
  scrollRef.current.scrollLeft = target.scrollLeft;
391
434
  }
392
435
  },
393
- ref: mirrorScrollRef,
436
+ ref: headMirrorScrollRef,
394
437
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
395
438
  style: {
396
- width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth,
439
+ width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.scrollWidth,
397
440
  height: 1
398
441
  }
399
442
  })
400
443
  })
401
444
  }));
402
445
  };
446
+ var renderBottomMirrorScroller = function renderBottomMirrorScroller() {
447
+ var _scrollRef$current5, _scrollRef$current6, _scrollRef$current7;
448
+ if (!props.showBottomScrollbar) return null;
449
+ var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current5 = scrollRef.current) === null || _scrollRef$current5 === void 0 ? void 0 : _scrollRef$current5.clientWidth) || 0;
450
+ var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.scrollWidth) || 0;
451
+ var mirrorScrollRefWidth = scrollRefWidth + scrollBarWidth;
452
+ var showScroll = scrollRefScrollWidth > scrollRefWidth;
453
+ // 开启了双滚,但是没有滚动条,不显示
454
+ if (!scrollRefWidth || !mirrorScrollRefWidth || !showScroll) return null;
455
+ var options = props.showBottomScrollbar === true ? {} : props.showBottomScrollbar;
456
+ var scrollerStickyProps = {
457
+ bottom: options.bottom || 0,
458
+ zIndex: options.zIndex || _sticky.defaultZIndex + 1,
459
+ parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
460
+ };
461
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sticky.default, _objectSpread(_objectSpread({}, scrollerStickyProps), {}, {
462
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
463
+ className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
464
+ style: {
465
+ height: browserScrollbarWidth,
466
+ width: mirrorScrollRefWidth,
467
+ marginTop: -browserScrollbarWidth
468
+ },
469
+ onScroll: function onScroll(e) {
470
+ var target = e.currentTarget;
471
+ if (scrollRef !== null && scrollRef !== void 0 && scrollRef.current && scrollRef.current.scrollLeft !== target.scrollLeft) {
472
+ scrollRef.current.scrollLeft = target.scrollLeft;
473
+ }
474
+ },
475
+ ref: bottomMirrorScrollRef,
476
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
477
+ style: {
478
+ width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current7 = scrollRef.current) === null || _scrollRef$current7 === void 0 ? void 0 : _scrollRef$current7.scrollWidth,
479
+ height: 1
480
+ }
481
+ })
482
+ })
483
+ }));
484
+ };
485
+ var $headTable = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
486
+ className: headWrapperClass
487
+ }, _hooks.util.getDataAttribute({
488
+ role: theadIdRef.current
489
+ })), {}, {
490
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
491
+ style: {
492
+ width: width
493
+ },
494
+ ref: theadRef,
495
+ children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps))]
496
+ })
497
+ }));
403
498
  if (isRenderVirtualTable) {
404
- var _props$data4;
499
+ var _props$data3;
500
+ var showStickyHeader = !props.hideHeader && props.sticky;
405
501
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
406
- children: [renderHeadMirrorScroller(), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_scroll.default, {
407
- style: scrollWrapperStyle,
408
- scrollerStyle: (_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length ? virtualScrollerStyle : emptyStyle,
502
+ children: [renderHeadMirrorScroller(), showStickyHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, stickyProps), {}, {
503
+ children: $headTable
504
+ })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_scrollTable.default, {
505
+ style: {
506
+ display: 'flex',
507
+ minWidth: 0,
508
+ minHeight: 0,
509
+ flex: 1
510
+ },
409
511
  wrapperRef: scrollRef,
410
512
  scrollWidth: width || 1,
411
513
  scrollHeight: virtual ? virtualInfo.scrollHeight : tbodyHeight,
412
514
  onScroll: handleVirtualScroll,
413
515
  defaultHeight: context.emptyHeight,
414
516
  isScrollY: isScrollY,
415
- children: [!props.hideHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, props.sticky ? stickyProps : {}), {}, {
416
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
417
- className: headWrapperClass,
418
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
419
- style: {
420
- width: width
421
- },
422
- ref: theadRef,
423
- children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps))]
424
- })
425
- })
426
- })), /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
517
+ isScrollX: isScrollX,
518
+ isEmpty: !!$empty,
519
+ tableRef: tableRef,
520
+ setFakeVirtual: setFakeVirtual,
521
+ children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
427
522
  style: {
428
523
  width: width,
429
- transform: virtualInfo.getTranslate()
524
+ transform: virtualInfo.translateStyle
430
525
  },
431
526
  ref: tbodyRef,
432
527
  children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
433
528
  currentIndex: virtualInfo.startIndex,
434
529
  data: virtualInfo.data,
435
- setRowHeight: virtualInfo.setRowHeight
530
+ setRowHeight: virtualInfo.setRowHeight,
531
+ scrolling: scrolling
436
532
  }))]
437
533
  }), showFoot ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
438
534
  className: footWrapperClass,
@@ -443,8 +539,8 @@ var _default = exports.default = function _default(props) {
443
539
  ref: tfootRef,
444
540
  children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
445
541
  })
446
- }) : null]
447
- }), renderEmpty()]
542
+ }) : null, $empty]
543
+ }), renderBottomMirrorScroller()]
448
544
  });
449
545
  }
450
546
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
@@ -459,9 +555,9 @@ var _default = exports.default = function _default(props) {
459
555
  ref: tbodyRef,
460
556
  children: [Group, !props.hideHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps)), bodyCommonProps.data.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbodyEmpty.default, {
461
557
  children: renderEmpty()
462
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread({}, bodyCommonProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
558
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread({}, bodyCommonProps)), showFoot && /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
463
559
  })
464
- })]
560
+ }), renderBottomMirrorScroller()]
465
561
  });
466
562
  };
467
563
  var renderLoading = function renderLoading() {
@@ -481,6 +577,42 @@ var _default = exports.default = function _default(props) {
481
577
  align: "right"
482
578
  }, pagination), paginationInfo));
483
579
  };
580
+
581
+ // handle head and foot scroll
582
+ var handleHeaderWheel = (0, _hooks.usePersistFn)(function (e) {
583
+ var _theadRef$current2;
584
+ var scrollEl = scrollRef.current;
585
+ if (!scrollEl) return;
586
+ if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current2 = theadRef.current) !== null && _theadRef$current2 !== void 0 && _theadRef$current2.parentElement)) return;
587
+ var max = scrollEl.scrollWidth - scrollEl.clientWidth;
588
+ var scrollLeft = scrollEl.scrollLeft + e.deltaX;
589
+ if (scrollLeft === scrollEl.scrollLeft) {
590
+ return;
591
+ }
592
+ e.preventDefault();
593
+ var left = Math.min(Math.max(scrollLeft, 0), max);
594
+ scrollEl.scrollLeft = left;
595
+ theadRef.current.parentElement.scrollLeft = left;
596
+ });
597
+ (0, _react.useEffect)(function () {
598
+ var _scrollRef$current8;
599
+ if (!props.sticky || !scrollRef.current || !isScrollX) return;
600
+ // sticky场景下,从空数据到有数据切换时,同步一次滚动条的位置
601
+ syncHeaderScroll(((_scrollRef$current8 = scrollRef.current) === null || _scrollRef$current8 === void 0 ? void 0 : _scrollRef$current8.scrollLeft) || 0);
602
+ }, [isScrollX, props.sticky, $empty]);
603
+ (0, _react.useEffect)(function () {
604
+ // 绑定 wheel 事件
605
+ if (props.sticky && theadRef.current && theadRef.current.parentElement) {
606
+ theadRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
607
+ passive: false
608
+ });
609
+ }
610
+ return function () {
611
+ if (props.sticky && theadRef.current && theadRef.current.parentElement) {
612
+ theadRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
613
+ }
614
+ };
615
+ }, [theadRef.current, props.sticky, isScrollY]);
484
616
  var getRenderIndexByData = function getRenderIndexByData(data) {
485
617
  var originKey = typeof data === 'string' ? data : _hooks.util.getKey(props.keygen, data);
486
618
  var index = treeData.findIndex(function (item) {
@@ -516,7 +648,7 @@ var _default = exports.default = function _default(props) {
516
648
  });
517
649
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
518
650
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
519
- className: (0, _classnames.default)(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)),
651
+ className: (0, _classnames.default)(tableWrapperClass, _defineProperty(_defineProperty(_defineProperty({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
520
652
  style: _objectSpread({
521
653
  height: defaultHeight
522
654
  }, 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,15 @@ 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
+ emptyHeader: string;
46
+ scrollY: string;
47
+ scrollX: string;
44
48
  cellAlignLeft: string;
45
49
  cellAlignRight: string;
46
50
  cellAlignCenter: string;
@@ -202,9 +206,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
202
206
  fixed?: TableFix | 'auto';
203
207
  /**
204
208
  * @en Whether to use virtual list
205
- * @cn 是否使用虚拟列表
209
+ * @cn 是否使用虚拟列表,设置为 lazy 时,表示在滚动时不触发 rerender
206
210
  */
207
- virtual?: boolean;
211
+ virtual?: boolean | 'lazy';
208
212
  /**
209
213
  * @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
214
  * @cn 单次 render的 最大行数。Table 采用了 lazy render 的方式来优化在大量数据下的性能,如果你的表格显示的高度超出了20条,可以调整 rowsInView 的值。为 0 表示单次 render 所有数据。
@@ -333,6 +337,7 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
333
337
  sticky?: boolean | {
334
338
  top?: number;
335
339
  css?: boolean;
340
+ target?: Element | null;
336
341
  };
337
342
  /**
338
343
  * @en Whether to show the top scroller
@@ -341,6 +346,13 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
341
346
  * @version 3.4.0
342
347
  */
343
348
  showTopScrollbar?: boolean;
349
+ /**
350
+ * @en Whether to show the bottom scroller
351
+ * @cn 是否开启底部自定吸附的滚动条
352
+ * @default false
353
+ * @version 3.7.0
354
+ */
355
+ showBottomScrollbar?: boolean | BottomScrollbarOption;
344
356
  /**
345
357
  * @en Table instance (please use with caution: only fixed Table)
346
358
  * @cn Table 实例(请谨慎使用:仅虚拟列表支持)
@@ -352,6 +364,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
352
364
  */
353
365
  onRowSelect?: (rows: Value) => void;
354
366
  }
367
+ interface BottomScrollbarOption extends Pick<StickyProps, 'bottom'> {
368
+ zIndex?: number;
369
+ }
355
370
  export interface SorterInfo {
356
371
  order?: ColumnOrder;
357
372
  /**
@@ -389,4 +404,5 @@ export interface SummaryItem {
389
404
  * @title TableColumn
390
405
  */
391
406
  export type ColumnItem<DataItem> = TableColumnItem<DataItem>;
407
+ export {};
392
408
  //# 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,wBAuEE"}
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"}
@@ -30,7 +30,6 @@ var _default = exports.default = function _default(props) {
30
30
  hover: hover
31
31
  }),
32
32
  rowData = _useTableRow.rowData,
33
- isCellHover = _useTableRow.isCellHover,
34
33
  handleCellHover = _useTableRow.handleCellHover,
35
34
  hoverIndex = _useTableRow.hoverIndex,
36
35
  rowSelectMergeStartData = _useTableRow.rowSelectMergeStartData;
@@ -38,9 +37,10 @@ var _default = exports.default = function _default(props) {
38
37
  return col.type === 'expand' || col.type === 'row-expand';
39
38
  });
40
39
  var renderRow = function renderRow(item, index) {
40
+ var _props$rowEvents;
41
41
  var rowIndex = index + currentIndex;
42
42
  var originKey = _hooks.util.getKey(props.keygen, item, rowIndex);
43
- var trRenderKey = props.loader ? originKey : "".concat(originKey, "-").concat(rowIndex);
43
+ var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
44
44
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tr.default, {
45
45
  originKey: originKey,
46
46
  row: rowData[index],
@@ -67,7 +67,6 @@ var _default = exports.default = function _default(props) {
67
67
  setRowHeight: props.setRowHeight,
68
68
  striped: props.striped,
69
69
  radio: props.radio,
70
- isCellHover: isCellHover,
71
70
  hover: hover,
72
71
  isSelect: props.datum.check(rowSelectMergeStartData[index]),
73
72
  handleCellHover: handleCellHover
@@ -81,12 +80,21 @@ var _default = exports.default = function _default(props) {
81
80
  bodyScrollWidth: props.bodyScrollWidth,
82
81
  resizeFlag: props.resizeFlag,
83
82
  treeCheckAll: props.treeCheckAll,
84
- onCellClick: props.onCellClick
83
+ onCellClick: props.onCellClick,
84
+ virtual: props.virtual,
85
+ scrolling: props.scrolling
85
86
  }, trRenderKey);
86
87
  };
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
88
- children: (props.data || []).map(function (item, index) {
89
- return renderRow(item, index);
90
- })
91
- });
88
+ var $tbody = (0, _hooks.useComponentMemo)(function () {
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
90
+ children: (props.data || []).map(function (item, index) {
91
+ return renderRow(item, index);
92
+ })
93
+ });
94
+ }, [props.data, currentIndex], props.virtual === 'lazy' ? function (prev, next) {
95
+ return prev.some(function (_, index) {
96
+ return !_hooks.util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
97
+ }) || !props.scrolling;
98
+ } : undefined);
99
+ return $tbody;
92
100
  };