@aloudata/aloudata-design 0.2.0-beta.2 → 0.2.0-beta.20

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 (343) hide show
  1. package/es/Button/index.d.ts +0 -1
  2. package/es/Button/index.js +0 -1
  3. package/es/Button/style/index.less +25 -14
  4. package/es/Dropdown/Button.d.ts +1 -1
  5. package/es/Dropdown/Button.js +2 -2
  6. package/es/Dropdown/index.d.ts +1 -1
  7. package/es/Dropdown/index.js +0 -1
  8. package/es/Dropdown/style/index.d.ts +1 -0
  9. package/es/Dropdown/style/index.js +1 -0
  10. package/es/Empty/index.d.ts +0 -1
  11. package/es/Empty/index.js +0 -1
  12. package/es/Empty/style/index.less +2 -1
  13. package/es/Icon/iconfont/demo_index.html +49 -3
  14. package/es/Icon/iconfont/iconfont.css +11 -3
  15. package/es/Icon/iconfont/iconfont.js +5 -5
  16. package/es/Icon/iconfont/iconfont.json +14 -0
  17. package/es/Icon/iconfont/iconfont.ttf +0 -0
  18. package/es/Icon/iconfont/iconfont.woff +0 -0
  19. package/es/Icon/iconfont/iconfont.woff2 +0 -0
  20. package/es/Icon/index.js +3 -1
  21. package/es/Icon/index.less +2 -2
  22. package/es/Input/components/Group/index.d.ts +3 -2
  23. package/es/Input/components/Input/index.d.ts +66 -0
  24. package/es/Input/components/Input/index.js +37 -0
  25. package/es/Input/components/Password/index.d.ts +5 -4
  26. package/es/Input/components/Password/index.js +5 -4
  27. package/es/Input/components/TextArea/index.d.ts +10 -4
  28. package/es/Input/components/TextArea/index.js +16 -6
  29. package/es/Input/index.d.ts +14 -63
  30. package/es/Input/index.js +4 -41
  31. package/es/Input/style/index.d.ts +1 -0
  32. package/es/Input/style/index.js +1 -0
  33. package/es/Input/style/index.less +36 -5
  34. package/es/Menu/Divider.d.ts +1 -1
  35. package/es/Menu/Divider.js +0 -1
  36. package/es/Menu/MenuItem.d.ts +7 -1
  37. package/es/Menu/MenuItem.js +0 -1
  38. package/es/Menu/SubMenu.d.ts +0 -1
  39. package/es/Menu/SubMenu.js +0 -1
  40. package/es/Menu/index.d.ts +1 -1
  41. package/es/Menu/index.js +0 -1
  42. package/es/Menu/style/index.d.ts +1 -0
  43. package/es/Menu/style/index.js +1 -0
  44. package/es/Navigator/components/Menu/index.js +2 -2
  45. package/es/Navigator/index.d.ts +0 -1
  46. package/es/Navigator/index.js +0 -1
  47. package/es/Navigator/style/index.less +13 -9
  48. package/es/Select/BaseSelect.js +0 -2
  49. package/es/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +1 -0
  50. package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +1 -0
  51. package/es/Select/OptionsList/index.js +12 -19
  52. package/es/Select/Selector/index.js +7 -5
  53. package/es/Select/index.d.ts +0 -1
  54. package/es/Select/index.js +0 -1
  55. package/es/Select/interface.d.ts +3 -0
  56. package/es/Select/style/index.less +39 -7
  57. package/es/Table/index.d.ts +3 -4
  58. package/es/Table/index.js +390 -127
  59. package/es/Table/interface.d.ts +36 -8
  60. package/es/Table/react-table-config.d.ts +122 -0
  61. package/es/Table/style/index.less +139 -51
  62. package/es/Tabs/index.d.ts +1 -1
  63. package/es/Tabs/index.js +7 -5
  64. package/es/Tabs/style/index.d.ts +1 -0
  65. package/es/Tabs/style/index.js +1 -0
  66. package/es/Tabs/style/index.less +8 -1
  67. package/es/Tooltip/index.d.ts +0 -1
  68. package/es/Tooltip/index.js +0 -1
  69. package/es/index.d.ts +10 -0
  70. package/es/style/index.d.ts +1 -1
  71. package/es/style/index.js +1 -1
  72. package/es/style/themes/default/index.less +1 -1
  73. package/lib/Button/index.d.ts +0 -1
  74. package/lib/Button/index.js +0 -2
  75. package/lib/Button/style/index.less +25 -14
  76. package/lib/Dropdown/Button.d.ts +1 -1
  77. package/lib/Dropdown/Button.js +2 -2
  78. package/lib/Dropdown/index.d.ts +1 -1
  79. package/lib/Dropdown/index.js +0 -2
  80. package/lib/Dropdown/style/index.d.ts +1 -0
  81. package/lib/Dropdown/style/index.js +2 -0
  82. package/lib/Empty/index.d.ts +0 -1
  83. package/lib/Empty/index.js +0 -2
  84. package/lib/Empty/style/index.less +2 -1
  85. package/lib/Icon/iconfont/demo_index.html +49 -3
  86. package/lib/Icon/iconfont/iconfont.css +11 -3
  87. package/lib/Icon/iconfont/iconfont.js +5 -5
  88. package/lib/Icon/iconfont/iconfont.json +14 -0
  89. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  90. package/lib/Icon/iconfont/iconfont.woff +0 -0
  91. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  92. package/lib/Icon/index.js +5 -3
  93. package/lib/Icon/index.less +2 -2
  94. package/lib/Input/components/Group/index.d.ts +3 -2
  95. package/lib/Input/components/Input/index.d.ts +66 -0
  96. package/lib/Input/components/Input/index.js +50 -0
  97. package/lib/Input/components/Password/index.d.ts +5 -4
  98. package/lib/Input/components/Password/index.js +10 -8
  99. package/lib/Input/components/TextArea/index.d.ts +10 -4
  100. package/lib/Input/components/TextArea/index.js +18 -7
  101. package/lib/Input/index.d.ts +14 -63
  102. package/lib/Input/index.js +4 -44
  103. package/lib/Input/style/index.d.ts +1 -0
  104. package/lib/Input/style/index.js +2 -0
  105. package/lib/Input/style/index.less +36 -5
  106. package/lib/Menu/Divider.d.ts +1 -1
  107. package/lib/Menu/Divider.js +0 -2
  108. package/lib/Menu/MenuItem.d.ts +7 -1
  109. package/lib/Menu/MenuItem.js +0 -2
  110. package/lib/Menu/SubMenu.d.ts +0 -1
  111. package/lib/Menu/SubMenu.js +0 -2
  112. package/lib/Menu/index.d.ts +1 -1
  113. package/lib/Menu/index.js +0 -2
  114. package/lib/Menu/style/index.d.ts +1 -0
  115. package/lib/Menu/style/index.js +2 -0
  116. package/lib/Navigator/components/Menu/index.js +2 -2
  117. package/lib/Navigator/index.d.ts +0 -1
  118. package/lib/Navigator/index.js +0 -2
  119. package/lib/Navigator/style/index.less +13 -9
  120. package/lib/Select/BaseSelect.js +0 -2
  121. package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +1 -0
  122. package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +2 -0
  123. package/lib/Select/OptionsList/index.js +11 -19
  124. package/lib/Select/Selector/index.js +7 -5
  125. package/lib/Select/index.d.ts +0 -1
  126. package/lib/Select/index.js +0 -2
  127. package/lib/Select/interface.d.ts +3 -0
  128. package/lib/Select/style/index.less +39 -7
  129. package/lib/Table/index.d.ts +3 -4
  130. package/lib/Table/index.js +396 -131
  131. package/lib/Table/interface.d.ts +36 -8
  132. package/lib/Table/react-table-config.d.ts +122 -0
  133. package/lib/Table/style/index.less +139 -51
  134. package/lib/Tabs/index.d.ts +1 -1
  135. package/lib/Tabs/index.js +6 -5
  136. package/lib/Tabs/style/index.d.ts +1 -0
  137. package/lib/Tabs/style/index.js +2 -0
  138. package/lib/Tabs/style/index.less +8 -1
  139. package/lib/Tooltip/index.d.ts +0 -1
  140. package/lib/Tooltip/index.js +0 -2
  141. package/lib/index.d.ts +10 -0
  142. package/lib/style/index.d.ts +1 -1
  143. package/lib/style/index.js +1 -1
  144. package/lib/style/themes/default/index.less +1 -1
  145. package/package.json +15 -4
  146. package/es/Button/demo/Icon/index.d.ts +0 -3
  147. package/es/Button/demo/Icon/index.js +0 -67
  148. package/es/Button/demo/Icon/index.less +0 -6
  149. package/es/Button/demo/basic/index.d.ts +0 -4
  150. package/es/Button/demo/basic/index.js +0 -57
  151. package/es/Button/demo/basic/index.less +0 -6
  152. package/es/Button/demo/disable/index.d.ts +0 -3
  153. package/es/Button/demo/disable/index.js +0 -23
  154. package/es/Button/demo/disable/index.less +0 -0
  155. package/es/Button/demo/href/index.d.ts +0 -2
  156. package/es/Button/demo/href/index.js +0 -17
  157. package/es/Button/demo/loading/index.d.ts +0 -3
  158. package/es/Button/demo/loading/index.js +0 -37
  159. package/es/Button/demo/loading/index.less +0 -6
  160. package/es/Dropdown/demo/basic/index.d.ts +0 -4
  161. package/es/Dropdown/demo/basic/index.js +0 -18
  162. package/es/Dropdown/demo/button/index.d.ts +0 -3
  163. package/es/Dropdown/demo/button/index.js +0 -159
  164. package/es/Dropdown/demo/button/index.less +0 -9
  165. package/es/Dropdown/demo/placement/index.d.ts +0 -2
  166. package/es/Dropdown/demo/placement/index.js +0 -40
  167. package/es/Dropdown/demo/subMenu/index.d.ts +0 -2
  168. package/es/Dropdown/demo/subMenu/index.js +0 -42
  169. package/es/Dropdown/demo/trigger/index.d.ts +0 -2
  170. package/es/Dropdown/demo/trigger/index.js +0 -17
  171. package/es/Input/demo/allowClear/index.d.ts +0 -3
  172. package/es/Input/demo/allowClear/index.js +0 -11
  173. package/es/Input/demo/allowClear/index.less +0 -0
  174. package/es/Input/demo/basic/index.d.ts +0 -4
  175. package/es/Input/demo/basic/index.js +0 -65
  176. package/es/Input/demo/basic/index.less +0 -14
  177. package/es/Input/demo/gourp/index.d.ts +0 -2
  178. package/es/Input/demo/gourp/index.js +0 -67
  179. package/es/Input/demo/password/index.d.ts +0 -3
  180. package/es/Input/demo/password/index.js +0 -21
  181. package/es/Input/demo/password/index.less +0 -0
  182. package/es/Input/demo/prefix/index.d.ts +0 -3
  183. package/es/Input/demo/prefix/index.js +0 -17
  184. package/es/Input/demo/prefix/index.less +0 -0
  185. package/es/Input/demo/showCount/index.d.ts +0 -3
  186. package/es/Input/demo/showCount/index.js +0 -17
  187. package/es/Input/demo/showCount/index.less +0 -0
  188. package/es/Input/demo/textArea/autoSize.d.ts +0 -2
  189. package/es/Input/demo/textArea/autoSize.js +0 -50
  190. package/es/Navigator/demo/basic/index.d.ts +0 -4
  191. package/es/Navigator/demo/basic/index.js +0 -45
  192. package/es/Navigator/demo/basic/index.less +0 -3
  193. package/es/Navigator/demo/example/index.d.ts +0 -4
  194. package/es/Navigator/demo/example/index.js +0 -153
  195. package/es/Navigator/demo/example/index.less +0 -10
  196. package/es/Navigator/demo/logo.png +0 -0
  197. package/es/Navigator/demo/menuWithFooter/index.d.ts +0 -4
  198. package/es/Navigator/demo/menuWithFooter/index.js +0 -73
  199. package/es/Navigator/demo/menuWithFooter/index.less +0 -3
  200. package/es/Navigator/demo/subMenu/index.d.ts +0 -4
  201. package/es/Navigator/demo/subMenu/index.js +0 -71
  202. package/es/Navigator/demo/subMenu/index.less +0 -3
  203. package/es/Select/demo/disabled/index.d.ts +0 -2
  204. package/es/Select/demo/disabled/index.js +0 -50
  205. package/es/Select/demo/multiple/index.d.ts +0 -2
  206. package/es/Select/demo/multiple/index.js +0 -140
  207. package/es/Select/demo/options/index.d.ts +0 -2
  208. package/es/Select/demo/options/index.js +0 -55
  209. package/es/Select/demo/single/index.d.ts +0 -3
  210. package/es/Select/demo/single/index.js +0 -89
  211. package/es/Select/demo/single/index.less +0 -5
  212. package/es/Table/demo/basic/createData.d.ts +0 -9
  213. package/es/Table/demo/basic/createData.js +0 -18
  214. package/es/Table/demo/basic/index.d.ts +0 -2
  215. package/es/Table/demo/basic/index.js +0 -64
  216. package/es/Table/demo/editCell/index.d.ts +0 -2
  217. package/es/Table/demo/editCell/index.js +0 -39
  218. package/es/Table/demo/renderHeaderRight/index.d.ts +0 -2
  219. package/es/Table/demo/renderHeaderRight/index.js +0 -37
  220. package/es/Table/demo/rowSelect/index.d.ts +0 -2
  221. package/es/Table/demo/rowSelect/index.js +0 -40
  222. package/es/Table/demo/sort/index.d.ts +0 -2
  223. package/es/Table/demo/sort/index.js +0 -32
  224. package/es/Table/demo/virtualList/index.d.ts +0 -2
  225. package/es/Table/demo/virtualList/index.js +0 -88
  226. package/es/Tabs/demo/adaptHeight/index.d.ts +0 -3
  227. package/es/Tabs/demo/adaptHeight/index.js +0 -19
  228. package/es/Tabs/demo/adaptHeight/index.less +0 -3
  229. package/es/Tabs/demo/basic/index.d.ts +0 -4
  230. package/es/Tabs/demo/basic/index.js +0 -44
  231. package/es/Tabs/demo/basic/index.less +0 -5
  232. package/es/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  233. package/es/Tabs/demo/horizontalScroll/index.js +0 -30
  234. package/es/Tabs/demo/horizontalScroll/index.less +0 -3
  235. package/es/Tooltip/demo/basic/index.d.ts +0 -2
  236. package/es/Tooltip/demo/basic/index.js +0 -7
  237. package/es/Tooltip/demo/overflow/index.d.ts +0 -2
  238. package/es/Tooltip/demo/overflow/index.js +0 -7
  239. package/es/Tooltip/demo/placement/index.d.ts +0 -6
  240. package/es/Tooltip/demo/placement/index.js +0 -70
  241. package/es/Tooltip/demo/placement/index.less +0 -7
  242. package/es/Tooltip/demo/trigger/index.d.ts +0 -3
  243. package/es/Tooltip/demo/trigger/index.js +0 -20
  244. package/es/Tooltip/demo/trigger/index.less +0 -5
  245. package/lib/Button/demo/Icon/index.d.ts +0 -3
  246. package/lib/Button/demo/Icon/index.js +0 -82
  247. package/lib/Button/demo/Icon/index.less +0 -6
  248. package/lib/Button/demo/basic/index.d.ts +0 -4
  249. package/lib/Button/demo/basic/index.js +0 -73
  250. package/lib/Button/demo/basic/index.less +0 -6
  251. package/lib/Button/demo/disable/index.d.ts +0 -3
  252. package/lib/Button/demo/disable/index.js +0 -37
  253. package/lib/Button/demo/disable/index.less +0 -0
  254. package/lib/Button/demo/href/index.d.ts +0 -2
  255. package/lib/Button/demo/href/index.js +0 -30
  256. package/lib/Button/demo/loading/index.d.ts +0 -3
  257. package/lib/Button/demo/loading/index.js +0 -51
  258. package/lib/Button/demo/loading/index.less +0 -6
  259. package/lib/Dropdown/demo/basic/index.d.ts +0 -4
  260. package/lib/Dropdown/demo/basic/index.js +0 -35
  261. package/lib/Dropdown/demo/button/index.d.ts +0 -3
  262. package/lib/Dropdown/demo/button/index.js +0 -182
  263. package/lib/Dropdown/demo/button/index.less +0 -9
  264. package/lib/Dropdown/demo/placement/index.d.ts +0 -2
  265. package/lib/Dropdown/demo/placement/index.js +0 -56
  266. package/lib/Dropdown/demo/subMenu/index.d.ts +0 -2
  267. package/lib/Dropdown/demo/subMenu/index.js +0 -59
  268. package/lib/Dropdown/demo/trigger/index.d.ts +0 -2
  269. package/lib/Dropdown/demo/trigger/index.js +0 -32
  270. package/lib/Input/demo/allowClear/index.d.ts +0 -3
  271. package/lib/Input/demo/allowClear/index.js +0 -25
  272. package/lib/Input/demo/allowClear/index.less +0 -0
  273. package/lib/Input/demo/basic/index.d.ts +0 -4
  274. package/lib/Input/demo/basic/index.js +0 -80
  275. package/lib/Input/demo/basic/index.less +0 -14
  276. package/lib/Input/demo/gourp/index.d.ts +0 -2
  277. package/lib/Input/demo/gourp/index.js +0 -81
  278. package/lib/Input/demo/password/index.d.ts +0 -3
  279. package/lib/Input/demo/password/index.js +0 -35
  280. package/lib/Input/demo/password/index.less +0 -0
  281. package/lib/Input/demo/prefix/index.d.ts +0 -3
  282. package/lib/Input/demo/prefix/index.js +0 -32
  283. package/lib/Input/demo/prefix/index.less +0 -0
  284. package/lib/Input/demo/showCount/index.d.ts +0 -3
  285. package/lib/Input/demo/showCount/index.js +0 -31
  286. package/lib/Input/demo/showCount/index.less +0 -0
  287. package/lib/Input/demo/textArea/autoSize.d.ts +0 -2
  288. package/lib/Input/demo/textArea/autoSize.js +0 -63
  289. package/lib/Navigator/demo/basic/index.d.ts +0 -4
  290. package/lib/Navigator/demo/basic/index.js +0 -62
  291. package/lib/Navigator/demo/basic/index.less +0 -3
  292. package/lib/Navigator/demo/example/index.d.ts +0 -4
  293. package/lib/Navigator/demo/example/index.js +0 -179
  294. package/lib/Navigator/demo/example/index.less +0 -10
  295. package/lib/Navigator/demo/logo.png +0 -0
  296. package/lib/Navigator/demo/menuWithFooter/index.d.ts +0 -4
  297. package/lib/Navigator/demo/menuWithFooter/index.js +0 -92
  298. package/lib/Navigator/demo/menuWithFooter/index.less +0 -3
  299. package/lib/Navigator/demo/subMenu/index.d.ts +0 -4
  300. package/lib/Navigator/demo/subMenu/index.js +0 -88
  301. package/lib/Navigator/demo/subMenu/index.less +0 -3
  302. package/lib/Select/demo/disabled/index.d.ts +0 -2
  303. package/lib/Select/demo/disabled/index.js +0 -64
  304. package/lib/Select/demo/multiple/index.d.ts +0 -2
  305. package/lib/Select/demo/multiple/index.js +0 -154
  306. package/lib/Select/demo/options/index.d.ts +0 -2
  307. package/lib/Select/demo/options/index.js +0 -69
  308. package/lib/Select/demo/single/index.d.ts +0 -3
  309. package/lib/Select/demo/single/index.js +0 -103
  310. package/lib/Select/demo/single/index.less +0 -5
  311. package/lib/Table/demo/basic/createData.d.ts +0 -9
  312. package/lib/Table/demo/basic/createData.js +0 -23
  313. package/lib/Table/demo/basic/index.d.ts +0 -2
  314. package/lib/Table/demo/basic/index.js +0 -80
  315. package/lib/Table/demo/editCell/index.d.ts +0 -2
  316. package/lib/Table/demo/editCell/index.js +0 -54
  317. package/lib/Table/demo/renderHeaderRight/index.d.ts +0 -2
  318. package/lib/Table/demo/renderHeaderRight/index.js +0 -52
  319. package/lib/Table/demo/rowSelect/index.d.ts +0 -2
  320. package/lib/Table/demo/rowSelect/index.js +0 -55
  321. package/lib/Table/demo/sort/index.d.ts +0 -2
  322. package/lib/Table/demo/sort/index.js +0 -47
  323. package/lib/Table/demo/virtualList/index.d.ts +0 -2
  324. package/lib/Table/demo/virtualList/index.js +0 -103
  325. package/lib/Tabs/demo/adaptHeight/index.d.ts +0 -3
  326. package/lib/Tabs/demo/adaptHeight/index.js +0 -34
  327. package/lib/Tabs/demo/adaptHeight/index.less +0 -3
  328. package/lib/Tabs/demo/basic/index.d.ts +0 -4
  329. package/lib/Tabs/demo/basic/index.js +0 -67
  330. package/lib/Tabs/demo/basic/index.less +0 -5
  331. package/lib/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  332. package/lib/Tabs/demo/horizontalScroll/index.js +0 -45
  333. package/lib/Tabs/demo/horizontalScroll/index.less +0 -3
  334. package/lib/Tooltip/demo/basic/index.d.ts +0 -2
  335. package/lib/Tooltip/demo/basic/index.js +0 -20
  336. package/lib/Tooltip/demo/overflow/index.d.ts +0 -2
  337. package/lib/Tooltip/demo/overflow/index.js +0 -20
  338. package/lib/Tooltip/demo/placement/index.d.ts +0 -6
  339. package/lib/Tooltip/demo/placement/index.js +0 -86
  340. package/lib/Tooltip/demo/placement/index.less +0 -7
  341. package/lib/Tooltip/demo/trigger/index.d.ts +0 -3
  342. package/lib/Tooltip/demo/trigger/index.js +0 -34
  343. package/lib/Tooltip/demo/trigger/index.less +0 -5
package/es/Table/index.js CHANGED
@@ -5,6 +5,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
5
5
 
6
6
  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; }
7
7
 
8
+ 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; }
9
+
10
+ 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; }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
8
14
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
15
 
10
16
  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."); }
@@ -17,185 +23,442 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
17
23
 
18
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
25
 
20
- 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; }
21
-
22
- 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; }
23
-
24
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
-
26
- // @ts-nocheck
27
- import React, { useCallback, useMemo } from 'react';
28
- import { useTable, useBlockLayout, useRowSelect } from 'react-table';
29
- import usePrefixCls from '../_utils/hooks/usePrefixCls';
30
- import { FixedSizeList } from 'react-window';
31
- import InfiniteLoader from 'react-window-infinite-loader';
26
+ /* eslint-disable no-unneeded-ternary */
27
+ /// <reference types ='./react-table-config' />
28
+ import _ from 'lodash';
32
29
  import classnames from 'classnames';
33
- import './style';
34
30
  import Icon from '../Icon';
31
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
32
+ import usePrefixCls from '../_utils/hooks/usePrefixCls';
33
+ import InfiniteScroll from 'react-infinite-scroll-component';
35
34
  import Empty from '../Empty';
36
- var DEFAULT_ROW_HEIGHT = 40;
35
+ import ResizeObserver from 'rc-resize-observer';
36
+ import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
37
+ var ARRAY_FIRST_INDEX = 0;
38
+ var DEFAULT_ROW_WIDTH = 0;
39
+ var DEFAULT_BODY_HEIGHT = 0;
37
40
 
38
- function Table(_ref) {
41
+ function Table(_ref, ref) {
39
42
  var columns = _ref.columns,
40
43
  data = _ref.data,
41
44
  total = _ref.total,
42
45
  renderHeaderLeft = _ref.renderHeaderLeft,
43
46
  renderHeaderRight = _ref.renderHeaderRight,
44
- scrollY = _ref.scrollY,
45
47
  onRowSelected = _ref.onRowSelected,
46
- _ref$loadMore = _ref.loadMore,
47
- loadMore = _ref$loadMore === void 0 ? function () {} : _ref$loadMore,
48
+ loadMore = _ref.loadMore,
49
+ loading = _ref.loading,
48
50
  hasNextPage = _ref.hasNextPage,
49
- loading = _ref.loading;
50
- var newColumns = useMemo(function () {
51
- return columns.map(function (column) {
52
- // @ts-ignore
53
- if (column.Cell) {
54
- return _objectSpread(_objectSpread({}, column), {}, {
55
- // @ts-ignore
56
- Cell: function Cell(instance) {
57
- // eslint-disable-next-line
58
- return column.Cell(instance.row.original);
59
- }
60
- });
61
- }
62
-
63
- return column;
64
- });
65
- }, [columns]);
66
-
67
- var _useTable = useTable({
68
- columns: newColumns,
69
- data: data
70
- }, useBlockLayout, useRowSelect),
71
- getTableProps = _useTable.getTableProps,
72
- getTableBodyProps = _useTable.getTableBodyProps,
73
- headerGroups = _useTable.headerGroups,
74
- rows = _useTable.rows,
75
- prepareRow = _useTable.prepareRow;
51
+ _ref$sortable = _ref.sortable,
52
+ sortable = _ref$sortable === void 0 ? false : _ref$sortable,
53
+ defaultSort = _ref.defaultSort,
54
+ _ref$resizeColumn = _ref.resizeColumn,
55
+ resizeColumn = _ref$resizeColumn === void 0 ? false : _ref$resizeColumn,
56
+ allSortDirections = _ref.sortDirections,
57
+ _ref$showHeader = _ref.showHeader,
58
+ showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
59
+ _ref$onChange = _ref.onChange,
60
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
61
+ _ref$innerScroll = _ref.innerScroll,
62
+ innerScroll = _ref$innerScroll === void 0 ? false : _ref$innerScroll,
63
+ _ref$scrollThreshold = _ref.scrollThreshold,
64
+ scrollThreshold = _ref$scrollThreshold === void 0 ? '150px' : _ref$scrollThreshold,
65
+ _ref$rowClassName = _ref.rowClassName,
66
+ rowClassName = _ref$rowClassName === void 0 ? '' : _ref$rowClassName,
67
+ _ref$ellipsis = _ref.ellipsis,
68
+ ellipsis = _ref$ellipsis === void 0 ? true : _ref$ellipsis,
69
+ renderEmpty = _ref.renderEmpty,
70
+ rowKey = _ref.rowKey;
76
71
 
77
72
  var _React$useState = React.useState(null),
78
73
  _React$useState2 = _slicedToArray(_React$useState, 2),
79
74
  selectedRowId = _React$useState2[0],
80
75
  setSelectedRowId = _React$useState2[1];
81
76
 
82
- var prefixCls = usePrefixCls('blockTable');
77
+ var tableBodyListRef = useRef(null);
78
+ var tableRef = useRef(null);
79
+
80
+ var _useState = useState(DEFAULT_BODY_HEIGHT),
81
+ _useState2 = _slicedToArray(_useState, 2),
82
+ tableClientWidth = _useState2[0],
83
+ setTableClientWidth = _useState2[1];
83
84
 
84
- function getTbodyStyle() {
85
- if (scrollY) {
85
+ var RANDOM_ID = "INNER_SCROLL_ID_".concat(Math.random());
86
+
87
+ var _useState3 = useState(DEFAULT_ROW_WIDTH),
88
+ _useState4 = _slicedToArray(_useState3, 2),
89
+ width = _useState4[0],
90
+ setWidth = _useState4[1]; // 如果页面整体宽度变化则重新计算
91
+
92
+
93
+ useEffect(function () {
94
+ if (tableRef.current) {
95
+ setTableClientWidth(tableRef.current.clientWidth);
96
+ }
97
+ }, [width]);
98
+ var initialColumnsWidthMap = useMemo(function () {
99
+ var map = new Map();
100
+
101
+ if (tableClientWidth !== DEFAULT_BODY_HEIGHT) {
102
+ var noGivenColumns = 0;
103
+ var givenColumnsTotalWidth = 0;
104
+ columns.forEach(function (column) {
105
+ if (column.width) {
106
+ map.set(column.dataIndex, column.width);
107
+ givenColumnsTotalWidth += column.width;
108
+ } else {
109
+ noGivenColumns += 1;
110
+ }
111
+ });
112
+ var averageWidth = (tableClientWidth - givenColumnsTotalWidth) / noGivenColumns;
86
113
  return {
87
- height: "".concat(scrollY, "px")
114
+ columnMap: map,
115
+ averageWidth: averageWidth
88
116
  };
89
117
  }
90
118
 
91
- return {};
92
- }
119
+ columns.forEach(function (column) {
120
+ if (column.width) {
121
+ map.set(column.dataIndex, column.width);
122
+ }
123
+ });
124
+ return {
125
+ columnMap: map,
126
+ averageWidth: DEFAULT_ROW_WIDTH
127
+ };
128
+ }, [columns, tableClientWidth]);
129
+ var newColumns = useMemo(function () {
130
+ return columns.map(function (column) {
131
+ return _objectSpread(_objectSpread({}, column), {}, {
132
+ width: initialColumnsWidthMap.columnMap.get(column.dataIndex) || initialColumnsWidthMap.averageWidth,
133
+ Header: column.title ? column.title : function () {
134
+ return null;
135
+ },
136
+ disableSortBy: !sortable || typeof column.sorter === 'boolean',
137
+ accessor: column.dataIndex,
138
+ Cell: function Cell(_ref2) {
139
+ var row = _ref2.row,
140
+ value = _ref2.value;
141
+ return typeof column.render === 'function' ? column.render(value, row.original, row.index) : value;
142
+ }
143
+ });
144
+ });
145
+ }, [columns, sortable, initialColumnsWidthMap]); // 默认排序的对象
93
146
 
94
- var onRowClick = useCallback(function (row) {
95
- if (!onRowSelected) {
96
- return;
97
- } // @ts-ignore
147
+ var defaultSortObject = {
148
+ id: newColumns[ARRAY_FIRST_INDEX].accessor,
149
+ desc: newColumns[ARRAY_FIRST_INDEX].sortOrder && newColumns[ARRAY_FIRST_INDEX].sortOrder === 'descend' ? true : false
150
+ }; // 如果支持排序 但是没有默认排序 则默认按第一列倒叙排序
98
151
 
152
+ var getInitialSortDirection = function getInitialSortDirection() {
153
+ if (defaultSort && defaultSort.id) {
154
+ return defaultSort;
155
+ }
99
156
 
100
- setSelectedRowId(row.id);
101
- onRowSelected(row.original);
102
- }, [onRowSelected]);
103
- var itemCount = hasNextPage ? data.length + 1 : data.length;
104
- var loadMoreItems = loading ? function () {} : loadMore;
157
+ if (sortable) {
158
+ return defaultSortObject;
159
+ }
105
160
 
106
- var isItemLoaded = function isItemLoaded(index) {
107
- return !hasNextPage || index < data.length;
161
+ return {
162
+ id: '',
163
+ desc: false
164
+ };
108
165
  };
109
166
 
110
- var RenderRow = function RenderRow(_ref2) {
111
- var index = _ref2.index,
112
- style = _ref2.style;
167
+ var _React$useState3 = React.useState(getInitialSortDirection()),
168
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
169
+ sortDirection = _React$useState4[0],
170
+ setSortDirection = _React$useState4[1];
113
171
 
114
- if (!isItemLoaded(index)) {
115
- return /*#__PURE__*/React.createElement("div", {
116
- style: style,
117
- className: classnames("".concat(prefixCls, "-loading"))
118
- }, /*#__PURE__*/React.createElement(Icon, {
119
- type: "waiting",
120
- size: 16
121
- }), "Loading");
172
+ var getInitSortBy = function getInitSortBy() {
173
+ if (!(sortDirection === null || sortDirection === void 0 ? void 0 : sortDirection.id)) {
174
+ return [];
122
175
  }
123
176
 
124
- var row = rows[index];
125
- prepareRow(row);
177
+ var sortColumn = newColumns.find(function (column) {
178
+ return column.accessor === sortDirection.id;
179
+ });
126
180
 
127
- var _row$getRowProps = row.getRowProps(),
128
- rowStyle = _row$getRowProps.style,
129
- rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
181
+ if (sortColumn === null || sortColumn === void 0 ? void 0 : sortColumn.sorter) {
182
+ return [];
183
+ }
130
184
 
131
- return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
132
- style: _objectSpread(_objectSpread({}, style), {}, {
133
- display: rowStyle === null || rowStyle === void 0 ? void 0 : rowStyle.display
134
- }),
135
- className: classnames("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
136
- onClick: function onClick() {
137
- return onRowClick(row);
138
- }
139
- }), row.cells.map(function (cell) {
140
- return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
141
- className: classnames("".concat(prefixCls, "-cell"))
142
- }), cell.render('Cell'));
143
- }));
185
+ return [sortDirection];
144
186
  };
145
187
 
188
+ var _useTable = useTable({
189
+ columns: newColumns,
190
+ data: data,
191
+ disableMultiSort: true,
192
+ disableSortBy: !sortable,
193
+ getRowId: rowKey,
194
+ initialState: {
195
+ sortBy: getInitSortBy()
196
+ }
197
+ }, useBlockLayout, useSortBy, useRowSelect, useResizeColumns),
198
+ getTableProps = _useTable.getTableProps,
199
+ getTableBodyProps = _useTable.getTableBodyProps,
200
+ headerGroups = _useTable.headerGroups,
201
+ rows = _useTable.rows,
202
+ prepareRow = _useTable.prepareRow,
203
+ setSortBy = _useTable.setSortBy,
204
+ totalColumnsWidth = _useTable.totalColumnsWidth;
205
+
206
+ var theadRowWidthRef = React.useRef(DEFAULT_ROW_WIDTH);
207
+ var prefixCls = usePrefixCls('block-table');
208
+ var onRowClick = useCallback(function (row) {
209
+ if (!onRowSelected) {
210
+ return;
211
+ }
212
+
213
+ setSelectedRowId(row.id);
214
+ onRowSelected(row.original);
215
+ }, [onRowSelected]);
216
+
146
217
  var renderHeader = function renderHeader(len) {
147
218
  return /*#__PURE__*/React.createElement("div", {
148
219
  className: classnames("".concat(prefixCls, "-header"))
149
220
  }, renderHeaderLeft ? renderHeaderLeft() : /*#__PURE__*/React.createElement("span", {
150
221
  className: classnames("".concat(prefixCls, "-header-left"))
151
- }, "\u5171", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
222
+ }, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
152
223
  className: classnames("".concat(prefixCls, "-header-right"))
153
224
  }, renderHeaderRight ? renderHeaderRight() : null));
225
+ }; // 排序的方向 倒叙{ id: 'xx', desc: true }、正序{ id: 'xx', desc: false }、无序 { id: '', desc: undefined }
226
+ // 获取排序方向以及排序的id
227
+
228
+
229
+ var getSortBy = function getSortBy(id) {
230
+ var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
231
+ var // 如果传了sortDirections,则使用传入的,否则使用默认的
232
+ sortOrder = arguments.length > 2 ? arguments[2] : undefined;
233
+ var res = {
234
+ id: id,
235
+ desc: undefined // 给个默认的排序
236
+
237
+ };
238
+ var isSameCol = sortDirection.id === id;
239
+ var descMap = new Map([['ascend', false], ['descend', true]]);
240
+ var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
241
+
242
+ if (!isSameCol) {
243
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
244
+ res.desc = descMap.get(sortOrder);
245
+ } else {
246
+ res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
247
+ }
248
+
249
+ return res;
250
+ } // 如果是同一列
251
+ // 如果列给了默认的sortOrder则不在变化
252
+
253
+
254
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
255
+ res.desc = descMap.get(sortOrder);
256
+ return res;
257
+ } // 在所有方向上 往后取一个
258
+
259
+
260
+ var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
261
+
262
+ var index = _.findIndex(directions, function (item) {
263
+ return item === lastSortDirection;
264
+ });
265
+
266
+ var nextIndex = index + 1;
267
+ res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
268
+
269
+ if (res.desc === undefined) {
270
+ res.id = '';
271
+ }
272
+
273
+ return res;
154
274
  };
155
275
 
156
- return /*#__PURE__*/React.createElement("div", {
157
- className: prefixCls
158
- }, renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread({}, getTableProps()), /*#__PURE__*/React.createElement("div", {
159
- className: classnames("".concat(prefixCls, "-thead"))
276
+ var getHeaderProps = function getHeaderProps(column) {
277
+ // @ts-ignore
278
+ var id = column.id,
279
+ canSort = column.canSort,
280
+ sorter = column.sorter,
281
+ sortOrder = column.sortOrder,
282
+ sortDirections = column.sortDirections;
283
+ var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
284
+
285
+ if (canSort) {
286
+ // client sort
287
+ return _objectSpread(_objectSpread({}, column.getHeaderProps(_objectSpread({}, toggleProps))), {}, {
288
+ onClick: function onClick(e) {
289
+ e.stopPropagation();
290
+
291
+ if (typeof toggleProps.onClick === 'function') {
292
+ var sortBy = getSortBy(id, sortDirections, sortOrder);
293
+ setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
294
+
295
+ setSortDirection(sortBy);
296
+ onChange(sortBy);
297
+ }
298
+ }
299
+ });
300
+ } // 当列设置sorter属性时,则为服务端排序
301
+
302
+
303
+ if (sorter) {
304
+ // server sort
305
+ return _objectSpread(_objectSpread({}, column.getHeaderProps({
306
+ style: {
307
+ cursor: 'pointer'
308
+ }
309
+ })), {}, {
310
+ onClick: function onClick(e) {
311
+ e.stopPropagation();
312
+ var sortBy = getSortBy(id, sortDirections, sortOrder);
313
+ setSortDirection(sortBy);
314
+ onChange(sortBy);
315
+ }
316
+ });
317
+ }
318
+
319
+ return column.getHeaderProps();
320
+ };
321
+
322
+ var SortIcons = function SortIcons(_ref3) {
323
+ var id = _ref3.id;
324
+ var currentSortId = sortDirection.id,
325
+ desc = sortDirection.desc;
326
+
327
+ if (id !== currentSortId || !sortable) {
328
+ return null;
329
+ }
330
+
331
+ return desc ? /*#__PURE__*/React.createElement(Icon, {
332
+ className: "".concat(prefixCls, "-sortIcon"),
333
+ type: "sort_descending",
334
+ size: 12
335
+ }) : /*#__PURE__*/React.createElement(Icon, {
336
+ className: "".concat(prefixCls, "-sortIcon"),
337
+ type: "sort_ascending",
338
+ size: 12
339
+ });
340
+ };
341
+
342
+ var scrollToTop = function scrollToTop() {
343
+ var INITIAL_OFFSET_TOP = 0;
344
+
345
+ if (tableBodyListRef && tableBodyListRef.current) {
346
+ tableBodyListRef.current.scrollTop = INITIAL_OFFSET_TOP;
347
+ }
348
+ };
349
+
350
+ React.useImperativeHandle(ref, function () {
351
+ return {
352
+ backToTop: function backToTop() {
353
+ scrollToTop();
354
+ }
355
+ };
356
+ });
357
+ var LoadingNode = /*#__PURE__*/React.createElement("div", {
358
+ className: classnames("".concat(prefixCls, "-loading"))
359
+ }, /*#__PURE__*/React.createElement(Icon, {
360
+ type: "waiting",
361
+ size: 16
362
+ }), "Loading");
363
+
364
+ var renderTableBody = function renderTableBody() {
365
+ if (loading && !rows.length) {
366
+ return LoadingNode;
367
+ }
368
+
369
+ if (!loading && !rows.length) {
370
+ return renderEmpty ? renderEmpty() : /*#__PURE__*/React.createElement(Empty, {
371
+ description: "\u5F53\u524D\u65E0\u6570\u636E"
372
+ });
373
+ }
374
+
375
+ var renderRowList = function renderRowList() {
376
+ return data.map(function (item, index) {
377
+ var _classnames;
378
+
379
+ var row = rows[index];
380
+ prepareRow(row);
381
+
382
+ var _row$getRowProps = row.getRowProps(),
383
+ rowStyle = _row$getRowProps.style,
384
+ rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
385
+
386
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
387
+ style: _objectSpread({}, rowStyle),
388
+ className: classnames("".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)),
389
+ onClick: function onClick() {
390
+ return onRowClick(row);
391
+ },
392
+ key: row.id
393
+ }), row.cells.map(function (cell) {
394
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
395
+ className: classnames("".concat(prefixCls, "-cell"))
396
+ }), cell.render('Cell'));
397
+ }));
398
+ });
399
+ };
400
+
401
+ return /*#__PURE__*/React.createElement("div", {
402
+ className: classnames("".concat(prefixCls, "-list"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
403
+ id: RANDOM_ID,
404
+ ref: tableBodyListRef
405
+ }, innerScroll ? /*#__PURE__*/React.createElement(InfiniteScroll, {
406
+ dataLength: rows.length,
407
+ next: loadMore,
408
+ hasMore: !!hasNextPage,
409
+ loader: LoadingNode,
410
+ scrollableTarget: RANDOM_ID,
411
+ scrollThreshold: scrollThreshold
412
+ }, renderRowList()) : renderRowList());
413
+ };
414
+
415
+ return /*#__PURE__*/React.createElement(ResizeObserver, {
416
+ onResize: function onResize(_ref4) {
417
+ var domWidth = _ref4.width;
418
+ setWidth(domWidth);
419
+ }
420
+ }, /*#__PURE__*/React.createElement("div", {
421
+ className: prefixCls,
422
+ ref: tableRef
423
+ }, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
424
+ className: classnames("".concat(prefixCls, "-table-wrap"), _defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
425
+ }), /*#__PURE__*/React.createElement("div", {
426
+ className: "".concat(prefixCls, "-thead")
160
427
  }, headerGroups.map(function (headerGroup) {
161
428
  var _headerGroup$getHeade = headerGroup.getHeaderGroupProps(),
162
429
  style = _headerGroup$getHeade.style,
163
430
  headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded2);
164
431
 
432
+ theadRowWidthRef.current = (style === null || style === void 0 ? void 0 : style.width) || DEFAULT_ROW_WIDTH;
165
433
  return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, headerGroupProps), {}, {
166
- style: {
167
- display: style === null || style === void 0 ? void 0 : style.display
168
- },
169
- className: classnames("".concat(prefixCls, "-row"))
434
+ style: _objectSpread(_objectSpread({}, style), {}, {
435
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
436
+ }),
437
+ className: "".concat(prefixCls, "-row")
170
438
  }), headerGroup.headers.map(function (column) {
171
- return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, column.getHeaderProps()), {}, {
172
- className: classnames("".concat(prefixCls, "-cell"))
173
- }), /*#__PURE__*/React.createElement("div", {
174
- className: classnames("".concat(prefixCls, "-dragBar"))
175
- }), column.render('Header'));
439
+ var barPorps = resizeColumn ? column.getResizerProps() : {};
440
+ return /*#__PURE__*/React.createElement("div", {
441
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell")),
442
+ style: getHeaderProps(column).style,
443
+ key: column.id
444
+ }, /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
445
+ className: "".concat(prefixCls, "-cell-content")
446
+ }, getHeaderProps(column)), {}, {
447
+ style: {
448
+ width: '100%'
449
+ }
450
+ }), column.render('Header'), /*#__PURE__*/React.createElement(SortIcons, {
451
+ id: column.id
452
+ })), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, barPorps), {}, {
453
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
454
+ })));
176
455
  }));
177
456
  })), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableBodyProps()), {}, {
178
- className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-tbody-scroll"), !loadMoreItems)),
179
- style: getTbodyStyle()
180
- }), !loading && !rows.length && /*#__PURE__*/React.createElement(Empty, {
181
- description: "\u5F53\u524D\u65E0\u6570\u636E"
182
- }), /*#__PURE__*/React.createElement(InfiniteLoader, {
183
- isItemLoaded: isItemLoaded,
184
- itemCount: itemCount,
185
- loadMoreItems: loadMoreItems
186
- }, function (_ref3) {
187
- var onItemsRendered = _ref3.onItemsRendered,
188
- ref = _ref3.ref;
189
- return /*#__PURE__*/React.createElement(FixedSizeList, {
190
- itemCount: itemCount,
191
- onItemsRendered: onItemsRendered,
192
- height: scrollY || data.length * DEFAULT_ROW_HEIGHT,
193
- itemSize: DEFAULT_ROW_HEIGHT,
194
- width: "100%",
195
- ref: ref,
196
- className: classnames("".concat(prefixCls, "-list"))
197
- }, RenderRow);
198
- }))));
457
+ className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
458
+ style: {
459
+ width: totalColumnsWidth
460
+ }
461
+ }), renderTableBody()))));
199
462
  }
200
463
 
201
- export default Table;
464
+ export default /*#__PURE__*/React.forwardRef(Table);
@@ -1,14 +1,42 @@
1
1
  /// <reference types="react" />
2
- import { Column } from 'react-table';
2
+ import { Row, IdType } from 'react-table';
3
+ export declare type TSortOrder = 'ascend' | 'descend' | false;
4
+ export interface ISort<T> {
5
+ id: IdType<T>;
6
+ desc?: boolean;
7
+ }
8
+ export interface IColumn<T extends object> {
9
+ title: string | null;
10
+ dataIndex: string;
11
+ render?: (value: any, row: any, index: number) => React.ReactNode;
12
+ width?: number;
13
+ minWidth?: number;
14
+ sorter?: boolean | 'string' | 'number' | 'basic' | 'datetime' | 'alphanumeric' | ((rowA: Row<T>, rowB: Row<T>, columnId: IdType<T>, desc?: boolean) => number);
15
+ sortOrder?: TSortOrder;
16
+ sortDirections?: Array<'ascend' | 'descend'>;
17
+ selected?: boolean;
18
+ }
3
19
  export interface ITableProps<T extends object> {
4
- columns: Column<T>[];
20
+ columns: IColumn<T>[];
5
21
  data: T[];
6
22
  total?: number;
7
- scrollY?: number;
8
23
  onRowSelected?: (row: T) => void;
9
- loadMore?: (startIndex: number, stopIndex: number) => void | Promise<void>;
10
- hasNextPage: boolean;
11
- loading: boolean;
12
- renderHeaderLeft: () => React.ReactNode;
13
- renderHeaderRight: () => React.ReactNode;
24
+ loadMore?: () => void | Promise<void>;
25
+ hasNextPage?: boolean;
26
+ loading?: boolean;
27
+ renderHeaderLeft?: () => React.ReactNode;
28
+ renderHeaderRight?: () => React.ReactNode;
29
+ sortable?: boolean;
30
+ onChange?: (sort: ISort<T>) => void;
31
+ defaultSort?: ISort<T>;
32
+ sortDirections?: Array<'ascend' | 'descend'>;
33
+ resizeColumn?: boolean;
34
+ showHeader?: boolean;
35
+ innerScroll?: boolean;
36
+ ref?: React.RefObject<unknown>;
37
+ scrollThreshold?: string | number;
38
+ rowKey?: ((row: any) => string);
39
+ rowClassName?: string;
40
+ ellipsis?: boolean;
41
+ renderEmpty?: () => React.ReactNode;
14
42
  }