@aloudata/aloudata-design 0.3.1 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/README.md +15 -5
  2. package/es/Breadcrumb/index.d.ts +1 -0
  3. package/es/Button/index.js +3 -2
  4. package/es/Button/style/index.less +135 -126
  5. package/es/Button/style/variables.less +53 -53
  6. package/es/Card/index.d.ts +3 -0
  7. package/es/Card/index.js +3 -0
  8. package/es/Card/style/index.d.ts +2 -0
  9. package/es/Card/style/index.js +2 -0
  10. package/es/Card/style/index.less +1 -0
  11. package/es/Checkbox/index.d.ts +1 -0
  12. package/es/ConfigProvider/defaultRenderEmpty.d.ts +4 -0
  13. package/es/ConfigProvider/defaultRenderEmpty.js +37 -0
  14. package/es/ConfigProvider/sizeContext.d.ts +9 -0
  15. package/es/ConfigProvider/sizeContext.js +12 -0
  16. package/es/Dropdown/Button.js +4 -3
  17. package/es/Empty/image/Authority.d.ts +1 -0
  18. package/es/Empty/image/Dataspace.d.ts +1 -0
  19. package/es/Empty/image/Search.d.ts +1 -0
  20. package/es/Empty/image/Simple.d.ts +1 -0
  21. package/es/Empty/image/Worksheet.d.ts +1 -0
  22. package/es/Empty/image/empty.d.ts +1 -0
  23. package/es/Icon/icons/CheckLine.d.ts +13 -0
  24. package/es/Icon/icons/CheckLine.js +73 -0
  25. package/es/Icon/icons.json +410 -0
  26. package/es/Input/components/Group/index.d.ts +3 -1
  27. package/es/Input/components/Group/index.js +6 -12
  28. package/es/Input/components/Input/index.d.ts +3 -2
  29. package/es/Input/components/Input/index.js +11 -23
  30. package/es/Input/components/Password/index.js +11 -16
  31. package/es/Input/components/TextArea/index.d.ts +8 -1
  32. package/es/Input/components/TextArea/index.js +8 -1
  33. package/es/Input/style/index.less +180 -102
  34. package/es/InputNumber/index.d.ts +1 -0
  35. package/es/InputNumber/style/index.less +69 -69
  36. package/es/Menu/Divider.d.ts +1 -0
  37. package/es/Modal/index.js +20 -16
  38. package/es/Modal/locale.d.ts +7 -0
  39. package/es/Modal/locale.js +20 -0
  40. package/es/Modal/style/index.less +48 -45
  41. package/es/Navigator/components/Header/index.d.ts +1 -0
  42. package/es/Navigator/components/Menu/index.d.ts +1 -0
  43. package/es/Navigator/components/MenuItem/index.d.ts +1 -1
  44. package/es/Navigator/index.d.ts +1 -1
  45. package/es/PageHeader/index.d.ts +3 -0
  46. package/es/PageHeader/index.js +3 -0
  47. package/es/PageHeader/style/index.d.ts +2 -0
  48. package/es/PageHeader/style/index.js +2 -0
  49. package/es/PageHeader/style/index.less +1 -0
  50. package/es/Popover/index.d.ts +1 -0
  51. package/es/Radio/components/Group/index.d.ts +6 -0
  52. package/es/Radio/components/Group/index.js +72 -0
  53. package/es/Radio/components/Radio/index.d.ts +3 -0
  54. package/es/Radio/components/Radio/index.js +95 -0
  55. package/es/Radio/index.d.ts +9 -2
  56. package/es/Radio/index.js +5 -3
  57. package/es/Radio/interface/radio.d.ts +24 -0
  58. package/es/Radio/interface/radio.js +1 -0
  59. package/es/Radio/interface/radioGroup.d.ts +42 -0
  60. package/es/Radio/interface/radioGroup.js +1 -0
  61. package/es/Radio/style/index.less +348 -0
  62. package/es/Select/index.js +1 -1
  63. package/es/Select/rc-select/OptionList.js +4 -4
  64. package/es/Select/rc-select/Selector/MultipleSelector.js +11 -1
  65. package/es/Select/rc-select/hooks/useOptions.d.ts +1 -1
  66. package/es/Select/style/index.less +70 -45
  67. package/es/Select/style/variables.less +45 -45
  68. package/es/Select/utils/iconUtil.d.ts +2 -2
  69. package/es/Select/utils/iconUtil.js +9 -5
  70. package/es/Steps/components/ProcessIcon/index.d.ts +6 -0
  71. package/es/Steps/components/ProcessIcon/index.js +8 -0
  72. package/es/Steps/components/Step/index.d.ts +20 -0
  73. package/es/Steps/components/Step/index.js +45 -0
  74. package/es/Steps/index.d.ts +36 -2
  75. package/es/Steps/index.js +30 -1
  76. package/es/Steps/matchMedia.mock.d.ts +1 -0
  77. package/es/Steps/matchMedia.mock.js +17 -0
  78. package/es/Steps/style/index.less +251 -0
  79. package/es/Switch/index.d.ts +46 -2
  80. package/es/Switch/index.js +71 -1
  81. package/es/Switch/style/index.less +129 -0
  82. package/es/Table/Table.d.ts +2 -1
  83. package/es/Table/Table.js +223 -330
  84. package/es/Table/components/Empty/index.d.ts +3 -0
  85. package/es/Table/components/Empty/index.js +17 -0
  86. package/es/Table/components/Loading/index.d.ts +3 -0
  87. package/es/Table/components/Loading/index.js +19 -0
  88. package/es/Table/components/TableBodyRowList/index.d.ts +13 -0
  89. package/es/Table/components/TableBodyRowList/index.js +89 -0
  90. package/es/Table/components/TableHead/index.d.ts +23 -0
  91. package/es/Table/components/TableHead/index.js +262 -0
  92. package/es/Table/constant.d.ts +1 -0
  93. package/es/Table/constant.js +1 -0
  94. package/es/Table/hooks/useFrame.d.ts +7 -0
  95. package/es/Table/hooks/useFrame.js +90 -0
  96. package/es/Table/hooks/useTableColumn.d.ts +28 -0
  97. package/es/Table/hooks/useTableColumn.js +53 -0
  98. package/es/Table/interface.d.ts +3 -2
  99. package/es/Table/style/index.less +33 -30
  100. package/es/Table/utils.d.ts +15 -0
  101. package/es/Table/utils.js +131 -0
  102. package/es/Tabs/index.js +7 -9
  103. package/es/Tabs/style/index.less +57 -25
  104. package/es/_utils/hooks/useId.d.ts +4 -0
  105. package/es/_utils/hooks/useId.js +23 -0
  106. package/es/index.d.ts +9 -5
  107. package/es/index.js +3 -1
  108. package/es/locale/default.d.ts +2 -0
  109. package/es/locale/default.js +2 -0
  110. package/es/locale/en_US.d.ts +3 -0
  111. package/es/locale/en_US.js +132 -0
  112. package/es/locale/zh_CN.d.ts +3 -2
  113. package/es/locale/zh_CN.js +131 -2
  114. package/es/locale-provider/LocaleReceiver.d.ts +4 -0
  115. package/es/locale-provider/LocaleReceiver.js +3 -0
  116. package/es/locale-provider/context.d.ts +7 -0
  117. package/es/locale-provider/context.js +3 -0
  118. package/es/locale-provider/default.d.ts +2 -0
  119. package/es/locale-provider/default.js +2 -0
  120. package/es/locale-provider/en_US.d.ts +2 -0
  121. package/es/locale-provider/en_US.js +2 -0
  122. package/es/locale-provider/index.d.ts +65 -0
  123. package/es/locale-provider/index.js +102 -0
  124. package/es/locale-provider/style/index.d.ts +1 -0
  125. package/es/locale-provider/style/index.js +1 -0
  126. package/es/locale-provider/style/index.less +2 -0
  127. package/es/locale-provider/zh_CN.d.ts +2 -0
  128. package/es/locale-provider/zh_CN.js +2 -0
  129. package/es/style/index.d.ts +0 -1
  130. package/es/style/index.js +0 -1
  131. package/es/style/index.less +2 -2
  132. package/es/style/themes/default/index.less +30 -30
  133. package/lib/Breadcrumb/index.d.ts +1 -0
  134. package/lib/Button/index.js +5 -3
  135. package/lib/Button/style/index.less +135 -126
  136. package/lib/Button/style/variables.less +53 -53
  137. package/lib/Card/index.d.ts +3 -0
  138. package/lib/Card/index.js +15 -0
  139. package/lib/Card/style/index.d.ts +2 -0
  140. package/lib/Card/style/index.js +5 -0
  141. package/lib/Card/style/index.less +1 -0
  142. package/lib/Checkbox/index.d.ts +1 -0
  143. package/lib/ConfigProvider/defaultRenderEmpty.d.ts +4 -0
  144. package/lib/ConfigProvider/defaultRenderEmpty.js +55 -0
  145. package/lib/ConfigProvider/sizeContext.d.ts +9 -0
  146. package/lib/ConfigProvider/sizeContext.js +30 -0
  147. package/lib/Dropdown/Button.js +8 -6
  148. package/lib/Empty/image/Authority.d.ts +1 -0
  149. package/lib/Empty/image/Dataspace.d.ts +1 -0
  150. package/lib/Empty/image/Search.d.ts +1 -0
  151. package/lib/Empty/image/Simple.d.ts +1 -0
  152. package/lib/Empty/image/Worksheet.d.ts +1 -0
  153. package/lib/Empty/image/empty.d.ts +1 -0
  154. package/lib/Icon/icons/CheckLine.d.ts +13 -0
  155. package/lib/Icon/icons/CheckLine.js +90 -0
  156. package/lib/Icon/icons.json +410 -0
  157. package/lib/Input/components/Group/index.d.ts +3 -1
  158. package/lib/Input/components/Group/index.js +7 -12
  159. package/lib/Input/components/Input/index.d.ts +3 -2
  160. package/lib/Input/components/Input/index.js +13 -23
  161. package/lib/Input/components/Password/index.js +13 -17
  162. package/lib/Input/components/TextArea/index.d.ts +8 -1
  163. package/lib/Input/components/TextArea/index.js +10 -1
  164. package/lib/Input/style/index.less +180 -102
  165. package/lib/InputNumber/index.d.ts +1 -0
  166. package/lib/InputNumber/style/index.less +69 -69
  167. package/lib/Menu/Divider.d.ts +1 -0
  168. package/lib/Modal/index.js +25 -18
  169. package/lib/Modal/locale.d.ts +7 -0
  170. package/lib/Modal/locale.js +31 -0
  171. package/lib/Modal/style/index.less +48 -45
  172. package/lib/Navigator/components/Header/index.d.ts +1 -0
  173. package/lib/Navigator/components/Menu/index.d.ts +1 -0
  174. package/lib/Navigator/components/MenuItem/index.d.ts +1 -1
  175. package/lib/Navigator/index.d.ts +1 -1
  176. package/lib/PageHeader/index.d.ts +3 -0
  177. package/lib/PageHeader/index.js +15 -0
  178. package/lib/PageHeader/style/index.d.ts +2 -0
  179. package/lib/PageHeader/style/index.js +5 -0
  180. package/lib/PageHeader/style/index.less +1 -0
  181. package/lib/Popover/index.d.ts +1 -0
  182. package/lib/Radio/components/Group/index.d.ts +6 -0
  183. package/lib/Radio/components/Group/index.js +93 -0
  184. package/lib/Radio/components/Radio/index.d.ts +3 -0
  185. package/lib/Radio/components/Radio/index.js +115 -0
  186. package/lib/Radio/index.d.ts +9 -2
  187. package/lib/Radio/index.js +5 -3
  188. package/lib/Radio/interface/radio.d.ts +24 -0
  189. package/lib/Radio/interface/radio.js +5 -0
  190. package/lib/Radio/interface/radioGroup.d.ts +42 -0
  191. package/lib/Radio/interface/radioGroup.js +5 -0
  192. package/lib/Radio/style/index.less +348 -0
  193. package/lib/Select/index.js +1 -1
  194. package/lib/Select/rc-select/OptionList.js +8 -7
  195. package/lib/Select/rc-select/Selector/MultipleSelector.js +11 -1
  196. package/lib/Select/rc-select/hooks/useOptions.d.ts +1 -1
  197. package/lib/Select/style/index.less +70 -45
  198. package/lib/Select/style/variables.less +45 -45
  199. package/lib/Select/utils/iconUtil.d.ts +2 -2
  200. package/lib/Select/utils/iconUtil.js +13 -7
  201. package/lib/Steps/components/ProcessIcon/index.d.ts +6 -0
  202. package/lib/Steps/components/ProcessIcon/index.js +19 -0
  203. package/lib/Steps/components/Step/index.d.ts +20 -0
  204. package/lib/Steps/components/Step/index.js +61 -0
  205. package/lib/Steps/index.d.ts +36 -2
  206. package/lib/Steps/index.js +34 -1
  207. package/lib/Steps/matchMedia.mock.d.ts +1 -0
  208. package/lib/Steps/matchMedia.mock.js +17 -0
  209. package/lib/Steps/style/index.less +251 -0
  210. package/lib/Switch/index.d.ts +46 -2
  211. package/lib/Switch/index.js +78 -1
  212. package/lib/Switch/style/index.less +129 -0
  213. package/lib/Table/Table.d.ts +2 -1
  214. package/lib/Table/Table.js +228 -332
  215. package/lib/Table/components/Empty/index.d.ts +3 -0
  216. package/lib/Table/components/Empty/index.js +30 -0
  217. package/lib/Table/components/Loading/index.d.ts +3 -0
  218. package/lib/Table/components/Loading/index.js +33 -0
  219. package/lib/Table/components/TableBodyRowList/index.d.ts +13 -0
  220. package/lib/Table/components/TableBodyRowList/index.js +108 -0
  221. package/lib/Table/components/TableHead/index.d.ts +23 -0
  222. package/lib/Table/components/TableHead/index.js +286 -0
  223. package/lib/Table/constant.d.ts +1 -0
  224. package/lib/Table/constant.js +1 -0
  225. package/lib/Table/hooks/useFrame.d.ts +7 -0
  226. package/lib/Table/hooks/useFrame.js +98 -0
  227. package/lib/Table/hooks/useTableColumn.d.ts +28 -0
  228. package/lib/Table/hooks/useTableColumn.js +66 -0
  229. package/lib/Table/interface.d.ts +3 -2
  230. package/lib/Table/style/index.less +33 -30
  231. package/lib/Table/utils.d.ts +15 -0
  232. package/lib/Table/utils.js +147 -0
  233. package/lib/Tabs/index.js +9 -11
  234. package/lib/Tabs/style/index.less +57 -25
  235. package/lib/_utils/hooks/useId.d.ts +4 -0
  236. package/lib/_utils/hooks/useId.js +36 -0
  237. package/lib/index.d.ts +9 -5
  238. package/lib/index.js +16 -0
  239. package/lib/locale/default.d.ts +2 -0
  240. package/lib/locale/default.js +13 -0
  241. package/lib/locale/en_US.d.ts +3 -0
  242. package/lib/locale/en_US.js +146 -0
  243. package/lib/locale/zh_CN.d.ts +3 -2
  244. package/lib/locale/zh_CN.js +134 -2
  245. package/lib/locale-provider/LocaleReceiver.d.ts +4 -0
  246. package/lib/locale-provider/LocaleReceiver.js +23 -0
  247. package/lib/locale-provider/context.d.ts +7 -0
  248. package/lib/locale-provider/context.js +12 -0
  249. package/lib/locale-provider/default.d.ts +2 -0
  250. package/lib/locale-provider/default.js +13 -0
  251. package/lib/locale-provider/en_US.d.ts +2 -0
  252. package/lib/locale-provider/en_US.js +13 -0
  253. package/lib/locale-provider/index.d.ts +65 -0
  254. package/lib/locale-provider/index.js +116 -0
  255. package/lib/locale-provider/style/index.d.ts +1 -0
  256. package/lib/locale-provider/style/index.js +3 -0
  257. package/lib/locale-provider/style/index.less +2 -0
  258. package/lib/locale-provider/zh_CN.d.ts +2 -0
  259. package/lib/locale-provider/zh_CN.js +13 -0
  260. package/lib/style/index.d.ts +0 -1
  261. package/lib/style/index.js +0 -2
  262. package/lib/style/index.less +2 -2
  263. package/lib/style/themes/default/index.less +30 -30
  264. package/package.json +11 -8
@@ -7,30 +7,31 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _lodash = _interopRequireDefault(require("lodash"));
10
+ var _classnames4 = _interopRequireDefault(require("classnames"));
11
11
 
12
- var _classnames7 = _interopRequireDefault(require("classnames"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _SortDescendingLine = _interopRequireDefault(require("../Icon/icons/SortDescendingLine"));
14
+ var _usePrefixCls = _interopRequireDefault(require("../_utils/hooks/usePrefixCls"));
15
15
 
16
- var _SortAscendingLine = _interopRequireDefault(require("../Icon/icons/SortAscendingLine"));
16
+ var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
17
17
 
18
- var _Loading = _interopRequireDefault(require("../Icon/icons/Loading"));
18
+ var _reactTable = require("react-table");
19
19
 
20
- var _react = _interopRequireWildcard(require("react"));
20
+ var _utils = require("./utils");
21
21
 
22
- var _usePrefixCls = _interopRequireDefault(require("../_utils/hooks/usePrefixCls"));
22
+ require("./style/index");
23
23
 
24
- var _reactInfiniteScrollComponent = _interopRequireDefault(require("react-infinite-scroll-component"));
24
+ var _message = _interopRequireDefault(require("../message"));
25
25
 
26
- var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
26
+ var _Loading = _interopRequireDefault(require("./components/Loading"));
27
27
 
28
- var _Empty = _interopRequireDefault(require("../Empty"));
28
+ var _Empty = _interopRequireDefault(require("./components/Empty"));
29
29
 
30
- var _reactTable = require("react-table");
30
+ var _TableHead = _interopRequireDefault(require("./components/TableHead"));
31
31
 
32
- var _excluded = ["style"],
33
- _excluded2 = ["style"];
32
+ var _TableBodyRowList = _interopRequireDefault(require("./components/TableBodyRowList"));
33
+
34
+ var _useFrame = require("./hooks/useFrame");
34
35
 
35
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
36
37
 
@@ -38,10 +39,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
38
39
 
39
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
41
 
41
- 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; }
42
-
43
- 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; }
44
-
45
42
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
46
43
 
47
44
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -60,11 +57,9 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
60
57
 
61
58
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
62
59
 
63
- // import './style/index';
64
- var ARRAY_FIRST_INDEX = 0;
65
- var DEFAULT_ROW_WIDTH = 0;
66
- var DEFAULT_BODY_HEIGHT = 0;
67
- var EMPTY_LENGTH = 0; // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ var TABLE_HEAD_ROW_HEIGHT = 48;
61
+ var SCROLLBAR_SIZE = 15;
62
+ var ZERO = 0;
68
63
 
69
64
  function Table(props, ref) {
70
65
  var _classnames3;
@@ -83,79 +78,78 @@ function Table(props, ref) {
83
78
  allSortDirections = props.sortDirections,
84
79
  _props$onChange = props.onChange,
85
80
  onChange = _props$onChange === void 0 ? function () {} : _props$onChange,
86
- _props$innerScroll = props.innerScroll,
87
- innerScroll = _props$innerScroll === void 0 ? false : _props$innerScroll,
88
81
  _props$scrollThreshol = props.scrollThreshold,
89
82
  scrollThreshold = _props$scrollThreshol === void 0 ? '150px' : _props$scrollThreshol,
90
83
  _props$rowClassName = props.rowClassName,
91
84
  rowClassName = _props$rowClassName === void 0 ? '' : _props$rowClassName,
92
85
  _props$ellipsis = props.ellipsis,
93
86
  ellipsis = _props$ellipsis === void 0 ? true : _props$ellipsis,
94
- rowKey = props.rowKey;
95
-
96
- var _React$useState = _react.default.useState(null),
97
- _React$useState2 = _slicedToArray(_React$useState, 2),
98
- selectedRowId = _React$useState2[0],
99
- setSelectedRowId = _React$useState2[1];
87
+ rowKey = props.rowKey,
88
+ height = props.height;
100
89
 
101
- var tableBodyListRef = (0, _react.useRef)(null);
102
- var tableRef = (0, _react.useRef)(null);
103
-
104
- var _useState = (0, _react.useState)(DEFAULT_BODY_HEIGHT),
90
+ var _useState = (0, _react.useState)(ZERO),
105
91
  _useState2 = _slicedToArray(_useState, 2),
106
92
  tableClientWidth = _useState2[0],
107
93
  setTableClientWidth = _useState2[1];
108
94
 
109
- var RANDOM_ID = "INNER_SCROLL_ID_".concat(Math.random());
110
-
111
- var _useState3 = (0, _react.useState)(DEFAULT_ROW_WIDTH),
95
+ var _useState3 = (0, _react.useState)(ZERO),
112
96
  _useState4 = _slicedToArray(_useState3, 2),
113
- width = _useState4[0],
114
- setWidth = _useState4[1]; // 如果页面整体宽度变化则重新计算
97
+ tableClientHeight = _useState4[0],
98
+ setTableClientHeight = _useState4[1];
99
+
100
+ var prefixCls = (0, _usePrefixCls.default)('', 'ald-table');
101
+ var tableRef = (0, _react.useRef)(null);
102
+ var tableHeadRef = (0, _react.useRef)(null);
103
+ var tableBodyRef = (0, _react.useRef)(null);
104
+ var columnsRef = (0, _react.useRef)([]);
105
+ var columnsWidthMapRef = (0, _react.useRef)();
106
+ var columnsTotalWidthRef = (0, _react.useRef)(ZERO);
107
+
108
+ var _useState5 = (0, _react.useState)(false),
109
+ _useState6 = _slicedToArray(_useState5, 2),
110
+ loadMoreLoading = _useState6[0],
111
+ setLoadMoreLoading = _useState6[1];
112
+
113
+ var lastOffsetLeftRef = (0, _react.useRef)(ZERO);
114
+ var lastOffsetTopRef = (0, _react.useRef)(ZERO);
115
+
116
+ var _useTimeoutLock = (0, _useFrame.useTimeoutLock)(),
117
+ _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),
118
+ setScrollTarget = _useTimeoutLock2[0],
119
+ getScrollTarget = _useTimeoutLock2[1]; // 记录初始columns, 后续更改不响应
120
+
121
+
122
+ if (columns && columnsRef.current.length === ZERO) {
123
+ columnsRef.current = columns;
124
+ } // 初始化进入时 渲染表格容器宽度
115
125
 
116
126
 
117
127
  (0, _react.useEffect)(function () {
118
128
  if (tableRef.current) {
119
129
  setTableClientWidth(tableRef.current.clientWidth);
120
130
  }
121
- }, [width]);
122
- var initialColumnsWidthMap = (0, _react.useMemo)(function () {
123
- var map = new Map();
124
-
125
- if (tableClientWidth !== DEFAULT_BODY_HEIGHT) {
126
- var noGivenColumns = 0;
127
- var givenColumnsTotalWidth = 0;
128
- columns.forEach(function (column) {
129
- if (column.width) {
130
- map.set(column.dataIndex, column.width);
131
- givenColumnsTotalWidth += column.width;
132
- } else {
133
- noGivenColumns += 1;
134
- }
135
- });
136
- var averageWidth = (tableClientWidth - givenColumnsTotalWidth) / noGivenColumns;
137
- return {
138
- columnMap: map,
139
- averageWidth: averageWidth
140
- };
141
- }
131
+ }, []); // 转换外部传入的columns
142
132
 
143
- columns.forEach(function (column) {
144
- if (column.width) {
145
- map.set(column.dataIndex, column.width);
146
- }
147
- });
148
- return {
149
- columnMap: map,
150
- averageWidth: DEFAULT_ROW_WIDTH
151
- };
152
- }, [columns, tableClientWidth]);
153
133
  var newColumns = (0, _react.useMemo)(function () {
154
- return columns.map(function (column) {
134
+ var _getColumnsWidthMap = (0, _utils.getColumnsWidthMap)(columnsRef.current, tableClientWidth, columnsWidthMapRef.current),
135
+ columnsWidthMap = _getColumnsWidthMap.columnsWidthMap,
136
+ totalColumnWidth = _getColumnsWidthMap.totalColumnWidth;
137
+
138
+ columnsWidthMapRef.current = columnsWidthMap;
139
+ columnsTotalWidthRef.current = totalColumnWidth;
140
+ return columnsRef.current.map(function (column, index) {
141
+ var _columnsWidthMapRef$c, _columnsWidthMapRef$c2;
142
+
143
+ var key = index.toString(); // 不设置dataIndex同时进行排序 则报错
144
+
145
+ if (!column.dataIndex === undefined && sortable) {
146
+ _message.default.error('不支持未设置dataIndex时进行排序设置');
147
+ }
148
+
155
149
  return _objectSpread(_objectSpread({}, column), {}, {
156
- width: initialColumnsWidthMap.columnMap.get(column.dataIndex) || initialColumnsWidthMap.averageWidth,
150
+ width: (_columnsWidthMapRef$c = columnsWidthMapRef.current) === null || _columnsWidthMapRef$c === void 0 ? void 0 : (_columnsWidthMapRef$c2 = _columnsWidthMapRef$c.get(key)) === null || _columnsWidthMapRef$c2 === void 0 ? void 0 : _columnsWidthMapRef$c2.width,
157
151
  Header: column.title ? column.title : function () {
158
- return null;
152
+ return /*#__PURE__*/_react.default.createElement("span", null, "\xA0");
159
153
  },
160
154
  disableSortBy: !sortable || typeof column.sorter === 'boolean',
161
155
  accessor: column.dataIndex,
@@ -166,51 +160,10 @@ function Table(props, ref) {
166
160
  }
167
161
  });
168
162
  });
169
- }, [columns, sortable, initialColumnsWidthMap]); // 默认排序的对象
170
-
171
- var defaultSortObject = {
172
- id: newColumns[ARRAY_FIRST_INDEX].accessor,
173
- desc: newColumns[ARRAY_FIRST_INDEX].sortOrder && newColumns[ARRAY_FIRST_INDEX].sortOrder === 'descend' ? true : false
174
- }; // 如果支持排序 但是没有默认排序 则默认按第一列倒叙排序
175
-
176
- var getInitialSortDirection = function getInitialSortDirection() {
177
- if (defaultSort && defaultSort.id) {
178
- return defaultSort;
179
- }
180
-
181
- if (sortable) {
182
- return defaultSortObject;
183
- }
184
-
185
- return {
186
- id: '',
187
- desc: false
188
- };
189
- };
190
-
191
- var _React$useState3 = _react.default.useState(getInitialSortDirection()),
192
- _React$useState4 = _slicedToArray(_React$useState3, 2),
193
- sortDirection = _React$useState4[0],
194
- setSortDirection = _React$useState4[1];
195
-
196
- var getInitSortBy = function getInitSortBy() {
197
- if (!(sortDirection === null || sortDirection === void 0 ? void 0 : sortDirection.id)) {
198
- return [];
199
- }
200
-
201
- var sortColumn = newColumns.find(function (column) {
202
- return column.accessor === sortDirection.id;
203
- });
204
-
205
- if (sortColumn === null || sortColumn === void 0 ? void 0 : sortColumn.sorter) {
206
- return [];
207
- }
163
+ }, [sortable, tableClientWidth]); // 将rowId转为React Table支持的值
164
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
208
165
 
209
- return [sortDirection];
210
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
211
-
212
-
213
- var getRowIdFn = function getRowIdFn(row, relativeIndex, parent) {
166
+ var transformRowId = function transformRowId(row, relativeIndex, parent) {
214
167
  if (rowKey && parent) {
215
168
  if (typeof rowKey === 'string') {
216
169
  return [rowKey, relativeIndex].join('.');
@@ -222,6 +175,24 @@ function Table(props, ref) {
222
175
  }
223
176
 
224
177
  return relativeIndex.toString();
178
+ }; // 计算初始传递给 React Table的排序字段
179
+
180
+
181
+ var getTableInitSort = function getTableInitSort() {
182
+ if (defaultSort && defaultSort.id) {
183
+ return [defaultSort];
184
+ }
185
+
186
+ var firstColumnSortData = {
187
+ id: newColumns[ZERO].accessor,
188
+ desc: !!(newColumns[ZERO].sortOrder && newColumns[ZERO].sortOrder === 'descend')
189
+ };
190
+
191
+ if (firstColumnSortData.id) {
192
+ return [firstColumnSortData];
193
+ }
194
+
195
+ return [];
225
196
  };
226
197
 
227
198
  var _useTable = (0, _reactTable.useTable)({
@@ -229,9 +200,9 @@ function Table(props, ref) {
229
200
  data: data,
230
201
  disableMultiSort: true,
231
202
  disableSortBy: !sortable,
232
- getRowId: getRowIdFn,
203
+ getRowId: transformRowId,
233
204
  initialState: {
234
- sortBy: getInitSortBy()
205
+ sortBy: getTableInitSort()
235
206
  }
236
207
  }, _reactTable.useBlockLayout, _reactTable.useSortBy, _reactTable.useRowSelect, _reactTable.useResizeColumns),
237
208
  getTableProps = _useTable.getTableProps,
@@ -239,261 +210,186 @@ function Table(props, ref) {
239
210
  headerGroups = _useTable.headerGroups,
240
211
  rows = _useTable.rows,
241
212
  prepareRow = _useTable.prepareRow,
242
- setSortBy = _useTable.setSortBy,
243
- totalColumnsWidth = _useTable.totalColumnsWidth;
213
+ setSortBy = _useTable.setSortBy;
244
214
 
245
- var theadRowWidthRef = _react.default.useRef(DEFAULT_ROW_WIDTH);
215
+ var scrollToTop = function scrollToTop() {
216
+ var INITIAL_OFFSET_TOP = 0;
246
217
 
247
- var prefixCls = (0, _usePrefixCls.default)('', 'ald-table');
248
- var onRowClick = (0, _react.useCallback)(function (row) {
249
- if (!onRowSelected) {
250
- return;
218
+ if (tableBodyRef && tableBodyRef.current) {
219
+ tableBodyRef.current.scrollTop = INITIAL_OFFSET_TOP;
251
220
  }
221
+ };
252
222
 
253
- setSelectedRowId(row.id);
254
- onRowSelected(row.original);
255
- }, [onRowSelected]); // 排序的方向 倒叙{ id: 'xx', desc: true }、正序{ id: 'xx', desc: false }、无序 { id: '', desc: undefined }
256
- // 获取排序方向以及排序的id
257
-
258
- var getSortBy = function getSortBy(id) {
259
- var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
260
- var // 如果传了sortDirections,则使用传入的,否则使用默认的
261
- sortOrder = arguments.length > 2 ? arguments[2] : undefined;
262
- var res = {
263
- id: id,
264
- desc: undefined
265
- };
266
- var isSameCol = sortDirection.id === id;
267
- var descMap = new Map([['ascend', false], ['descend', true]]);
268
- var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
269
-
270
- if (!isSameCol) {
271
- if (sortOrder === 'ascend' || sortOrder === 'descend') {
272
- res.desc = descMap.get(sortOrder);
273
- } else {
274
- res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
223
+ _react.default.useImperativeHandle(ref, function () {
224
+ return {
225
+ backToTop: function backToTop() {
226
+ scrollToTop();
275
227
  }
228
+ };
229
+ });
276
230
 
277
- return res;
278
- } // 如果是同一列
279
- // 如果列给了默认的sortOrder则不在变化
280
-
281
-
282
- if (sortOrder === 'ascend' || sortOrder === 'descend') {
283
- res.desc = descMap.get(sortOrder);
284
- return res;
285
- } // 在所有方向上 往后取一个
231
+ var tableHeadNode = /*#__PURE__*/_react.default.createElement(_TableHead.default, {
232
+ canResizeColumn: resizeColumn,
233
+ headerGroups: headerGroups,
234
+ tableContentWidth: columnsTotalWidthRef.current,
235
+ defaultSort: defaultSort,
236
+ sortable: sortable,
237
+ columns: newColumns,
238
+ sortDirections: allSortDirections,
239
+ setSortBy: setSortBy,
240
+ onChange: onChange,
241
+ columnsWidthMapRef: columnsWidthMapRef,
242
+ columnsTotalWidthRef: columnsTotalWidthRef
243
+ });
286
244
 
245
+ var tableRowListNode = /*#__PURE__*/_react.default.createElement(_TableBodyRowList.default, {
246
+ data: data,
247
+ rows: rows,
248
+ prepareRow: prepareRow,
249
+ columnsTotalWidthRef: columnsTotalWidthRef,
250
+ rowClassName: rowClassName,
251
+ ellipsis: ellipsis,
252
+ onRowSelected: onRowSelected
253
+ }); // 渲染没有设置高度的表格
254
+
255
+
256
+ var renderTableWithoutHeight = function renderTableWithoutHeight() {
257
+ var renderNoHeightTableBody = function renderNoHeightTableBody() {
258
+ if (loading && !rows.length) {
259
+ return /*#__PURE__*/_react.default.createElement(_Loading.default, null);
260
+ }
287
261
 
288
- var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
262
+ if (!loading && !rows.length) {
263
+ return /*#__PURE__*/_react.default.createElement(_Empty.default, null);
264
+ }
289
265
 
290
- var index = _lodash.default.findIndex(directions, function (item) {
291
- return item === lastSortDirection;
292
- });
266
+ return /*#__PURE__*/_react.default.createElement("div", {
267
+ className: "".concat(prefixCls, "-list")
268
+ }, tableRowListNode);
269
+ };
293
270
 
294
- var nextIndex = index + 1;
295
- res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
271
+ return /*#__PURE__*/_react.default.createElement("div", {
272
+ className: (0, _classnames4.default)("".concat(prefixCls, "-inner-wrap"))
273
+ }, tableHeadNode, /*#__PURE__*/_react.default.createElement("div", Object.assign({}, getTableBodyProps(), {
274
+ className: (0, _classnames4.default)("".concat(prefixCls, "-tbody")),
275
+ style: {
276
+ width: columnsTotalWidthRef.current
277
+ }
278
+ }), renderNoHeightTableBody()));
279
+ };
296
280
 
297
- if (res.desc === undefined) {
298
- res.id = '';
281
+ var forceScroll = (0, _react.useCallback)(function (scrollLeftNum, target) {
282
+ if (!target) {
283
+ return;
299
284
  }
300
285
 
301
- return res;
302
- };
286
+ if (typeof target === 'function') {
287
+ target(scrollLeftNum);
288
+ } else if (target.scrollLeft !== scrollLeftNum) {
289
+ // eslint-disable-next-line no-param-reassign
290
+ target.scrollLeft = scrollLeftNum;
291
+ }
292
+ }, []); // 内部滚动时 纵向的滚动
303
293
 
304
- var getHeaderProps = function getHeaderProps(column) {
305
- // @ts-ignore
306
- var id = column.id,
307
- canSort = column.canSort,
308
- sorter = column.sorter,
309
- sortOrder = column.sortOrder,
310
- sortDirections = column.sortDirections;
311
- var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
312
-
313
- if (canSort) {
314
- // client sort
315
- return _objectSpread(_objectSpread({}, column.getHeaderProps(_objectSpread({}, toggleProps))), {}, {
316
- onClick: function onClick(e) {
317
- e.stopPropagation();
318
-
319
- if (typeof toggleProps.onClick === 'function') {
320
- var sortBy = getSortBy(id, sortDirections, sortOrder);
321
- setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
322
-
323
- setSortDirection(sortBy);
324
- onChange(sortBy);
325
- }
326
- }
327
- });
328
- } // 当列设置sorter属性时,则为服务端排序
294
+ var onBodyVerticalScroll = (0, _react.useCallback)(function (target) {
295
+ var scrollHeight = target.scrollHeight,
296
+ clientHeight = target.clientHeight,
297
+ scrollTop = target.scrollTop;
298
+ var currentPosToBottomGap = scrollHeight - clientHeight - scrollTop;
299
+ var scrollThresholdValue = (0, _utils.getValidScrollThreshold)(scrollThreshold, tableClientHeight);
329
300
 
301
+ if (currentPosToBottomGap < scrollThresholdValue && hasNextPage && !loadMoreLoading) {
302
+ var _loadMore;
330
303
 
331
- if (sorter) {
332
- // server sort
333
- return _objectSpread(_objectSpread({}, column.getHeaderProps({
334
- style: {
335
- cursor: 'pointer'
336
- }
337
- })), {}, {
338
- onClick: function onClick(e) {
339
- e.stopPropagation();
340
- var sortBy = getSortBy(id, sortDirections, sortOrder);
341
- setSortDirection(sortBy);
342
- onChange(sortBy);
343
- }
304
+ setLoadMoreLoading(true);
305
+ (_loadMore = loadMore()) === null || _loadMore === void 0 ? void 0 : _loadMore.then(function () {
306
+ setLoadMoreLoading(false);
344
307
  });
345
308
  }
346
309
 
347
- return column.getHeaderProps();
348
- };
310
+ lastOffsetTopRef.current = scrollTop;
311
+ }, [hasNextPage, loadMore, loadMoreLoading, scrollThreshold, tableClientHeight]); // 内部滚动 对于滚动的处理
349
312
 
350
- var SortIcons = function SortIcons(_ref2) {
351
- var id = _ref2.id;
352
- var currentSortId = sortDirection.id,
353
- desc = sortDirection.desc;
313
+ var onBodyScroll = (0, _react.useCallback)(function (e) {
314
+ var currentTarget = e.target;
354
315
 
355
- if (id !== currentSortId || !sortable) {
356
- return null;
316
+ if (!currentTarget) {
317
+ return;
357
318
  }
358
319
 
359
- return desc ? /*#__PURE__*/_react.default.createElement(_SortDescendingLine.default, {
360
- className: "".concat(prefixCls, "-sortIcon"),
361
- fill: "currentColor",
362
- size: 12
363
- }) : /*#__PURE__*/_react.default.createElement(_SortAscendingLine.default, {
364
- className: "".concat(prefixCls, "-sortIcon"),
365
- fill: "currentColor",
366
- size: 12
367
- });
368
- };
320
+ var scrollLeftNum = currentTarget.scrollLeft;
321
+ var scrollTopNum = currentTarget.scrollTop; // 纵向滚动
369
322
 
370
- var scrollToTop = function scrollToTop() {
371
- var INITIAL_OFFSET_TOP = 0;
323
+ if (scrollTopNum !== lastOffsetLeftRef.current) {
324
+ onBodyVerticalScroll(currentTarget);
325
+ }
372
326
 
373
- if (tableBodyListRef && tableBodyListRef.current) {
374
- tableBodyListRef.current.scrollTop = INITIAL_OFFSET_TOP;
327
+ if (scrollLeftNum === lastOffsetLeftRef.current) {
328
+ return;
375
329
  }
376
- };
377
330
 
378
- _react.default.useImperativeHandle(ref, function () {
379
- return {
380
- backToTop: function backToTop() {
381
- scrollToTop();
382
- }
383
- };
384
- });
331
+ var compareTarget = currentTarget; // 横向滚动
385
332
 
386
- var LoadingNode = /*#__PURE__*/_react.default.createElement("div", {
387
- className: (0, _classnames7.default)("".concat(prefixCls, "-loading"))
388
- }, /*#__PURE__*/_react.default.createElement(_Loading.default, {
389
- size: 16,
390
- fill: "currentColor",
391
- spin: true,
392
- className: (0, _classnames7.default)("".concat(prefixCls, "-loading-icon"))
393
- }), "Loading");
394
-
395
- var renderTableBody = function renderTableBody() {
396
- if (loading && !rows.length) {
397
- return LoadingNode;
333
+ if (!getScrollTarget() || getScrollTarget() === compareTarget) {
334
+ setScrollTarget(compareTarget);
335
+ forceScroll(scrollLeftNum, tableBodyRef.current);
336
+ forceScroll(scrollLeftNum, tableHeadRef.current);
337
+ lastOffsetLeftRef.current = scrollLeftNum;
398
338
  }
399
-
400
- if (!loading && !rows.length) {
401
- return /*#__PURE__*/_react.default.createElement("div", {
402
- className: (0, _classnames7.default)("".concat(prefixCls, "-empty-icon"))
403
- }, /*#__PURE__*/_react.default.createElement(_Empty.default, {
404
- title: "No Data",
405
- size: "large",
406
- image: _Empty.default.PRESENTED_IMAGE_SIMPLE
407
- }));
339
+ }, [forceScroll, getScrollTarget, onBodyVerticalScroll, setScrollTarget]);
340
+ (0, _react.useEffect)(function () {
341
+ if (!hasNextPage) {
342
+ setLoadMoreLoading(false);
408
343
  }
344
+ }, [hasNextPage]); // 渲染有设置高度的表格
409
345
 
410
- var renderRowList = function renderRowList() {
411
- return data.map(function (item, index) {
412
- var _classnames;
413
-
414
- var row = rows[index];
415
- prepareRow(row);
416
-
417
- var _row$getRowProps = row.getRowProps(),
418
- rowStyle = _row$getRowProps.style,
419
- rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
420
-
421
- return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, rowProps, {
422
- style: _objectSpread({}, rowStyle),
423
- className: (0, _classnames7.default)("".concat(prefixCls, "-row"), (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId), _defineProperty(_classnames, rowClassName, rowClassName), _defineProperty(_classnames, "".concat(prefixCls, "-row-ellipsis"), ellipsis), _classnames)),
424
- onClick: function onClick() {
425
- return onRowClick(row);
426
- },
427
- key: row.id
428
- }), row.cells.map(function (cell) {
429
- return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, cell.getCellProps(), {
430
- className: (0, _classnames7.default)("".concat(prefixCls, "-cell"))
431
- }), cell.render('Cell'));
432
- }));
433
- });
346
+ var renderTableWithHeight = function renderTableWithHeight() {
347
+ var renderNoHeightTableBody = function renderNoHeightTableBody() {
348
+ if (loading && !rows.length) {
349
+ return /*#__PURE__*/_react.default.createElement(_Loading.default, null);
350
+ }
351
+
352
+ if (!loading && !rows.length) {
353
+ return /*#__PURE__*/_react.default.createElement(_Empty.default, null);
354
+ }
355
+
356
+ return /*#__PURE__*/_react.default.createElement("div", {
357
+ style: {
358
+ overflow: 'overlay',
359
+ overflowX: tableClientWidth + SCROLLBAR_SIZE > columnsTotalWidthRef.current ? 'hidden' : 'unset',
360
+ height: tableClientHeight - TABLE_HEAD_ROW_HEIGHT - SCROLLBAR_SIZE
361
+ },
362
+ ref: tableBodyRef,
363
+ onScroll: onBodyScroll
364
+ }, tableRowListNode, loadMoreLoading && /*#__PURE__*/_react.default.createElement(_Loading.default, null));
434
365
  };
435
366
 
436
367
  return /*#__PURE__*/_react.default.createElement("div", {
437
- className: (0, _classnames7.default)("".concat(prefixCls, "-list"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
438
- id: RANDOM_ID,
439
- ref: tableBodyListRef
440
- }, innerScroll ? /*#__PURE__*/_react.default.createElement(_reactInfiniteScrollComponent.default, {
441
- dataLength: rows.length,
442
- next: loadMore,
443
- hasMore: !!hasNextPage,
444
- loader: LoadingNode,
445
- scrollableTarget: RANDOM_ID,
446
- scrollThreshold: scrollThreshold
447
- }, renderRowList()) : renderRowList());
368
+ className: (0, _classnames4.default)("".concat(prefixCls, "-inner-wrap"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), height))
369
+ }, /*#__PURE__*/_react.default.createElement("div", {
370
+ ref: tableHeadRef,
371
+ className: "".concat(prefixCls, "-tableHeadScrollWrap")
372
+ }, tableHeadNode), /*#__PURE__*/_react.default.createElement("div", Object.assign({}, getTableBodyProps(), {
373
+ className: (0, _classnames4.default)("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-tbody-innerScroll"), height))
374
+ }), renderNoHeightTableBody()));
448
375
  };
449
376
 
450
377
  return /*#__PURE__*/_react.default.createElement(_rcResizeObserver.default, {
451
- onResize: function onResize(_ref3) {
452
- var domWidth = _ref3.width;
453
- setWidth(domWidth);
378
+ onResize: function onResize(_ref2) {
379
+ var clientWidth = _ref2.width,
380
+ clientHeight = _ref2.height;
381
+ setTableClientWidth(clientWidth);
382
+ setTableClientHeight(clientHeight);
454
383
  }
455
384
  }, /*#__PURE__*/_react.default.createElement("div", {
456
385
  className: prefixCls,
457
- ref: tableRef
458
- }, /*#__PURE__*/_react.default.createElement("div", Object.assign({}, getTableProps(), {
459
- className: (0, _classnames7.default)("".concat(prefixCls, "-table-wrap"), (_classnames3 = {}, _defineProperty(_classnames3, "".concat(prefixCls, "-column-resizable"), resizeColumn), _defineProperty(_classnames3, "".concat(prefixCls, "-init-loading"), data.length === EMPTY_LENGTH && loading), _defineProperty(_classnames3, "".concat(prefixCls, "-empty"), data.length === EMPTY_LENGTH && loading), _classnames3))
460
- }), /*#__PURE__*/_react.default.createElement("div", {
461
- className: "".concat(prefixCls, "-thead")
462
- }, headerGroups.map(function (headerGroup) {
463
- var _headerGroup$getHeade = headerGroup.getHeaderGroupProps(),
464
- style = _headerGroup$getHeade.style,
465
- headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded2);
466
-
467
- theadRowWidthRef.current = (style === null || style === void 0 ? void 0 : style.width) || DEFAULT_ROW_WIDTH;
468
- return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, headerGroupProps, {
469
- style: _objectSpread(_objectSpread({}, style), {}, {
470
- width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
471
- }),
472
- className: "".concat(prefixCls, "-row")
473
- }), headerGroup.headers.map(function (column) {
474
- var barPorps = resizeColumn ? column.getResizerProps() : {};
475
- return /*#__PURE__*/_react.default.createElement("div", {
476
- className: (0, _classnames7.default)(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell")),
477
- style: getHeaderProps(column).style,
478
- key: column.id
479
- }, /*#__PURE__*/_react.default.createElement("div", Object.assign({
480
- className: "".concat(prefixCls, "-cell-content")
481
- }, getHeaderProps(column), {
482
- style: {
483
- width: '100%'
484
- }
485
- }), column.render('Header'), /*#__PURE__*/_react.default.createElement(SortIcons, {
486
- id: column.id
487
- })), /*#__PURE__*/_react.default.createElement("div", Object.assign({}, barPorps, {
488
- className: (0, _classnames7.default)(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
489
- })));
490
- }));
491
- })), /*#__PURE__*/_react.default.createElement("div", Object.assign({}, getTableBodyProps(), {
492
- className: (0, _classnames7.default)("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
386
+ ref: tableRef,
493
387
  style: {
494
- width: totalColumnsWidth
388
+ height: !height ? 'unset' : height
495
389
  }
496
- }), renderTableBody()))));
390
+ }, /*#__PURE__*/_react.default.createElement("div", Object.assign({}, getTableProps(), {
391
+ className: (0, _classnames4.default)("".concat(prefixCls, "-table-wrap"), (_classnames3 = {}, _defineProperty(_classnames3, "".concat(prefixCls, "-init-loading"), data.length === ZERO && loading), _defineProperty(_classnames3, "".concat(prefixCls, "-empty"), data.length === ZERO && loading), _classnames3))
392
+ }), height ? renderTableWithHeight() : renderTableWithoutHeight())));
497
393
  }
498
394
 
499
395
  var _default = /*#__PURE__*/_react.default.forwardRef(Table);