@aloudata/aloudata-design 0.2.0-beta.1 → 0.2.0-beta.10

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 (301) 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 +23 -13
  4. package/es/Dropdown/Button.d.ts +0 -1
  5. package/es/Dropdown/Button.js +0 -1
  6. package/es/Dropdown/index.d.ts +1 -1
  7. package/es/Dropdown/index.js +0 -1
  8. package/es/Empty/index.d.ts +0 -1
  9. package/es/Empty/index.js +0 -1
  10. package/es/Empty/style/index.less +2 -1
  11. package/es/Icon/iconfont/demo_index.html +49 -3
  12. package/es/Icon/iconfont/iconfont.css +11 -3
  13. package/es/Icon/iconfont/iconfont.js +5 -5
  14. package/es/Icon/iconfont/iconfont.json +14 -0
  15. package/es/Icon/iconfont/iconfont.ttf +0 -0
  16. package/es/Icon/iconfont/iconfont.woff +0 -0
  17. package/es/Icon/iconfont/iconfont.woff2 +0 -0
  18. package/es/Icon/index.js +3 -1
  19. package/es/Icon/index.less +2 -2
  20. package/es/Input/components/Group/index.d.ts +3 -2
  21. package/es/Input/components/Input/index.d.ts +61 -0
  22. package/es/Input/components/Input/index.js +37 -0
  23. package/es/Input/components/Password/index.d.ts +5 -3
  24. package/es/Input/components/Password/index.js +5 -4
  25. package/es/Input/components/TextArea/index.d.ts +9 -4
  26. package/es/Input/components/TextArea/index.js +16 -6
  27. package/es/Input/index.d.ts +14 -63
  28. package/es/Input/index.js +4 -41
  29. package/es/Input/style/index.less +5 -3
  30. package/es/Menu/Divider.d.ts +1 -1
  31. package/es/Menu/Divider.js +0 -1
  32. package/es/Menu/MenuItem.d.ts +7 -1
  33. package/es/Menu/MenuItem.js +0 -1
  34. package/es/Menu/SubMenu.d.ts +0 -1
  35. package/es/Menu/SubMenu.js +0 -1
  36. package/es/Menu/index.d.ts +1 -1
  37. package/es/Menu/index.js +0 -1
  38. package/es/Navigator/index.d.ts +0 -1
  39. package/es/Navigator/index.js +0 -1
  40. package/es/Navigator/style/index.less +13 -9
  41. package/es/Select/index.d.ts +0 -1
  42. package/es/Select/index.js +0 -1
  43. package/es/Table/index.d.ts +1 -2
  44. package/es/Table/index.js +205 -56
  45. package/es/Table/interface.d.ts +28 -6
  46. package/es/Table/react-table-config.d.ts +122 -0
  47. package/es/Table/style/index.less +66 -26
  48. package/es/Tabs/index.d.ts +1 -1
  49. package/es/Tabs/index.js +0 -1
  50. package/es/Tooltip/index.d.ts +0 -1
  51. package/es/Tooltip/index.js +0 -1
  52. package/es/index.d.ts +10 -0
  53. package/es/style/themes/default/index.less +1 -1
  54. package/lib/Button/index.d.ts +0 -1
  55. package/lib/Button/index.js +0 -2
  56. package/lib/Button/style/index.less +23 -13
  57. package/lib/Dropdown/Button.d.ts +0 -1
  58. package/lib/Dropdown/Button.js +0 -2
  59. package/lib/Dropdown/index.d.ts +1 -1
  60. package/lib/Dropdown/index.js +0 -2
  61. package/lib/Empty/index.d.ts +0 -1
  62. package/lib/Empty/index.js +0 -2
  63. package/lib/Empty/style/index.less +2 -1
  64. package/lib/Icon/iconfont/demo_index.html +49 -3
  65. package/lib/Icon/iconfont/iconfont.css +11 -3
  66. package/lib/Icon/iconfont/iconfont.js +5 -5
  67. package/lib/Icon/iconfont/iconfont.json +14 -0
  68. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  69. package/lib/Icon/iconfont/iconfont.woff +0 -0
  70. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  71. package/lib/Icon/index.js +5 -3
  72. package/lib/Icon/index.less +2 -2
  73. package/lib/Input/components/Group/index.d.ts +3 -2
  74. package/lib/Input/components/Input/index.d.ts +61 -0
  75. package/lib/Input/components/Input/index.js +50 -0
  76. package/lib/Input/components/Password/index.d.ts +5 -3
  77. package/lib/Input/components/Password/index.js +10 -8
  78. package/lib/Input/components/TextArea/index.d.ts +9 -4
  79. package/lib/Input/components/TextArea/index.js +18 -7
  80. package/lib/Input/index.d.ts +14 -63
  81. package/lib/Input/index.js +4 -44
  82. package/lib/Input/style/index.less +5 -3
  83. package/lib/Menu/Divider.d.ts +1 -1
  84. package/lib/Menu/Divider.js +0 -2
  85. package/lib/Menu/MenuItem.d.ts +7 -1
  86. package/lib/Menu/MenuItem.js +0 -2
  87. package/lib/Menu/SubMenu.d.ts +0 -1
  88. package/lib/Menu/SubMenu.js +0 -2
  89. package/lib/Menu/index.d.ts +1 -1
  90. package/lib/Menu/index.js +0 -2
  91. package/lib/Navigator/index.d.ts +0 -1
  92. package/lib/Navigator/index.js +0 -2
  93. package/lib/Navigator/style/index.less +13 -9
  94. package/lib/Select/index.d.ts +0 -1
  95. package/lib/Select/index.js +0 -2
  96. package/lib/Table/index.d.ts +1 -2
  97. package/lib/Table/index.js +212 -62
  98. package/lib/Table/interface.d.ts +28 -6
  99. package/lib/Table/react-table-config.d.ts +122 -0
  100. package/lib/Table/style/index.less +66 -26
  101. package/lib/Tabs/index.d.ts +1 -1
  102. package/lib/Tabs/index.js +0 -2
  103. package/lib/Tooltip/index.d.ts +0 -1
  104. package/lib/Tooltip/index.js +0 -2
  105. package/lib/index.d.ts +10 -0
  106. package/lib/style/themes/default/index.less +1 -1
  107. package/package.json +11 -2
  108. package/es/Button/demo/Icon/index.d.ts +0 -3
  109. package/es/Button/demo/Icon/index.js +0 -67
  110. package/es/Button/demo/Icon/index.less +0 -6
  111. package/es/Button/demo/basic/index.d.ts +0 -4
  112. package/es/Button/demo/basic/index.js +0 -57
  113. package/es/Button/demo/basic/index.less +0 -6
  114. package/es/Button/demo/disable/index.d.ts +0 -3
  115. package/es/Button/demo/disable/index.js +0 -23
  116. package/es/Button/demo/disable/index.less +0 -0
  117. package/es/Button/demo/href/index.d.ts +0 -2
  118. package/es/Button/demo/href/index.js +0 -17
  119. package/es/Button/demo/loading/index.d.ts +0 -3
  120. package/es/Button/demo/loading/index.js +0 -37
  121. package/es/Button/demo/loading/index.less +0 -6
  122. package/es/Dropdown/demo/basic/index.d.ts +0 -4
  123. package/es/Dropdown/demo/basic/index.js +0 -18
  124. package/es/Dropdown/demo/button/index.d.ts +0 -3
  125. package/es/Dropdown/demo/button/index.js +0 -159
  126. package/es/Dropdown/demo/button/index.less +0 -9
  127. package/es/Dropdown/demo/placement/index.d.ts +0 -2
  128. package/es/Dropdown/demo/placement/index.js +0 -40
  129. package/es/Dropdown/demo/subMenu/index.d.ts +0 -2
  130. package/es/Dropdown/demo/subMenu/index.js +0 -42
  131. package/es/Dropdown/demo/trigger/index.d.ts +0 -2
  132. package/es/Dropdown/demo/trigger/index.js +0 -17
  133. package/es/Input/demo/allowClear/index.d.ts +0 -3
  134. package/es/Input/demo/allowClear/index.js +0 -11
  135. package/es/Input/demo/allowClear/index.less +0 -0
  136. package/es/Input/demo/basic/index.d.ts +0 -4
  137. package/es/Input/demo/basic/index.js +0 -65
  138. package/es/Input/demo/basic/index.less +0 -6
  139. package/es/Input/demo/gourp/index.d.ts +0 -2
  140. package/es/Input/demo/gourp/index.js +0 -67
  141. package/es/Input/demo/password/index.d.ts +0 -3
  142. package/es/Input/demo/password/index.js +0 -21
  143. package/es/Input/demo/password/index.less +0 -0
  144. package/es/Input/demo/prefix/index.d.ts +0 -3
  145. package/es/Input/demo/prefix/index.js +0 -17
  146. package/es/Input/demo/prefix/index.less +0 -0
  147. package/es/Input/demo/showCount/index.d.ts +0 -3
  148. package/es/Input/demo/showCount/index.js +0 -17
  149. package/es/Input/demo/showCount/index.less +0 -0
  150. package/es/Input/demo/textArea/autoSize.d.ts +0 -2
  151. package/es/Input/demo/textArea/autoSize.js +0 -50
  152. package/es/Navigator/demo/basic/index.d.ts +0 -4
  153. package/es/Navigator/demo/basic/index.js +0 -45
  154. package/es/Navigator/demo/basic/index.less +0 -3
  155. package/es/Navigator/demo/example/index.d.ts +0 -4
  156. package/es/Navigator/demo/example/index.js +0 -153
  157. package/es/Navigator/demo/example/index.less +0 -10
  158. package/es/Navigator/demo/logo.png +0 -0
  159. package/es/Navigator/demo/menuWithFooter/index.d.ts +0 -4
  160. package/es/Navigator/demo/menuWithFooter/index.js +0 -73
  161. package/es/Navigator/demo/menuWithFooter/index.less +0 -3
  162. package/es/Navigator/demo/subMenu/index.d.ts +0 -4
  163. package/es/Navigator/demo/subMenu/index.js +0 -71
  164. package/es/Navigator/demo/subMenu/index.less +0 -3
  165. package/es/Select/demo/disabled/index.d.ts +0 -2
  166. package/es/Select/demo/disabled/index.js +0 -50
  167. package/es/Select/demo/multiple/index.d.ts +0 -2
  168. package/es/Select/demo/multiple/index.js +0 -140
  169. package/es/Select/demo/options/index.d.ts +0 -2
  170. package/es/Select/demo/options/index.js +0 -55
  171. package/es/Select/demo/single/index.d.ts +0 -3
  172. package/es/Select/demo/single/index.js +0 -89
  173. package/es/Select/demo/single/index.less +0 -5
  174. package/es/Table/demo/basic/createData.d.ts +0 -9
  175. package/es/Table/demo/basic/createData.js +0 -18
  176. package/es/Table/demo/basic/index.d.ts +0 -2
  177. package/es/Table/demo/basic/index.js +0 -64
  178. package/es/Table/demo/editCell/index.d.ts +0 -2
  179. package/es/Table/demo/editCell/index.js +0 -39
  180. package/es/Table/demo/renderHeaderRight/index.d.ts +0 -2
  181. package/es/Table/demo/renderHeaderRight/index.js +0 -37
  182. package/es/Table/demo/rowSelect/index.d.ts +0 -2
  183. package/es/Table/demo/rowSelect/index.js +0 -40
  184. package/es/Table/demo/virtualList/index.d.ts +0 -2
  185. package/es/Table/demo/virtualList/index.js +0 -88
  186. package/es/Tabs/demo/adaptHeight/index.d.ts +0 -3
  187. package/es/Tabs/demo/adaptHeight/index.js +0 -19
  188. package/es/Tabs/demo/adaptHeight/index.less +0 -3
  189. package/es/Tabs/demo/basic/index.d.ts +0 -4
  190. package/es/Tabs/demo/basic/index.js +0 -44
  191. package/es/Tabs/demo/basic/index.less +0 -5
  192. package/es/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  193. package/es/Tabs/demo/horizontalScroll/index.js +0 -30
  194. package/es/Tabs/demo/horizontalScroll/index.less +0 -3
  195. package/es/Tooltip/demo/basic/index.d.ts +0 -2
  196. package/es/Tooltip/demo/basic/index.js +0 -7
  197. package/es/Tooltip/demo/overflow/index.d.ts +0 -2
  198. package/es/Tooltip/demo/overflow/index.js +0 -7
  199. package/es/Tooltip/demo/placement/index.d.ts +0 -6
  200. package/es/Tooltip/demo/placement/index.js +0 -70
  201. package/es/Tooltip/demo/placement/index.less +0 -7
  202. package/es/Tooltip/demo/trigger/index.d.ts +0 -3
  203. package/es/Tooltip/demo/trigger/index.js +0 -20
  204. package/es/Tooltip/demo/trigger/index.less +0 -5
  205. package/lib/Button/demo/Icon/index.d.ts +0 -3
  206. package/lib/Button/demo/Icon/index.js +0 -82
  207. package/lib/Button/demo/Icon/index.less +0 -6
  208. package/lib/Button/demo/basic/index.d.ts +0 -4
  209. package/lib/Button/demo/basic/index.js +0 -73
  210. package/lib/Button/demo/basic/index.less +0 -6
  211. package/lib/Button/demo/disable/index.d.ts +0 -3
  212. package/lib/Button/demo/disable/index.js +0 -37
  213. package/lib/Button/demo/disable/index.less +0 -0
  214. package/lib/Button/demo/href/index.d.ts +0 -2
  215. package/lib/Button/demo/href/index.js +0 -30
  216. package/lib/Button/demo/loading/index.d.ts +0 -3
  217. package/lib/Button/demo/loading/index.js +0 -51
  218. package/lib/Button/demo/loading/index.less +0 -6
  219. package/lib/Dropdown/demo/basic/index.d.ts +0 -4
  220. package/lib/Dropdown/demo/basic/index.js +0 -35
  221. package/lib/Dropdown/demo/button/index.d.ts +0 -3
  222. package/lib/Dropdown/demo/button/index.js +0 -182
  223. package/lib/Dropdown/demo/button/index.less +0 -9
  224. package/lib/Dropdown/demo/placement/index.d.ts +0 -2
  225. package/lib/Dropdown/demo/placement/index.js +0 -56
  226. package/lib/Dropdown/demo/subMenu/index.d.ts +0 -2
  227. package/lib/Dropdown/demo/subMenu/index.js +0 -59
  228. package/lib/Dropdown/demo/trigger/index.d.ts +0 -2
  229. package/lib/Dropdown/demo/trigger/index.js +0 -32
  230. package/lib/Input/demo/allowClear/index.d.ts +0 -3
  231. package/lib/Input/demo/allowClear/index.js +0 -25
  232. package/lib/Input/demo/allowClear/index.less +0 -0
  233. package/lib/Input/demo/basic/index.d.ts +0 -4
  234. package/lib/Input/demo/basic/index.js +0 -80
  235. package/lib/Input/demo/basic/index.less +0 -6
  236. package/lib/Input/demo/gourp/index.d.ts +0 -2
  237. package/lib/Input/demo/gourp/index.js +0 -81
  238. package/lib/Input/demo/password/index.d.ts +0 -3
  239. package/lib/Input/demo/password/index.js +0 -35
  240. package/lib/Input/demo/password/index.less +0 -0
  241. package/lib/Input/demo/prefix/index.d.ts +0 -3
  242. package/lib/Input/demo/prefix/index.js +0 -32
  243. package/lib/Input/demo/prefix/index.less +0 -0
  244. package/lib/Input/demo/showCount/index.d.ts +0 -3
  245. package/lib/Input/demo/showCount/index.js +0 -31
  246. package/lib/Input/demo/showCount/index.less +0 -0
  247. package/lib/Input/demo/textArea/autoSize.d.ts +0 -2
  248. package/lib/Input/demo/textArea/autoSize.js +0 -63
  249. package/lib/Navigator/demo/basic/index.d.ts +0 -4
  250. package/lib/Navigator/demo/basic/index.js +0 -62
  251. package/lib/Navigator/demo/basic/index.less +0 -3
  252. package/lib/Navigator/demo/example/index.d.ts +0 -4
  253. package/lib/Navigator/demo/example/index.js +0 -179
  254. package/lib/Navigator/demo/example/index.less +0 -10
  255. package/lib/Navigator/demo/logo.png +0 -0
  256. package/lib/Navigator/demo/menuWithFooter/index.d.ts +0 -4
  257. package/lib/Navigator/demo/menuWithFooter/index.js +0 -92
  258. package/lib/Navigator/demo/menuWithFooter/index.less +0 -3
  259. package/lib/Navigator/demo/subMenu/index.d.ts +0 -4
  260. package/lib/Navigator/demo/subMenu/index.js +0 -88
  261. package/lib/Navigator/demo/subMenu/index.less +0 -3
  262. package/lib/Select/demo/disabled/index.d.ts +0 -2
  263. package/lib/Select/demo/disabled/index.js +0 -64
  264. package/lib/Select/demo/multiple/index.d.ts +0 -2
  265. package/lib/Select/demo/multiple/index.js +0 -154
  266. package/lib/Select/demo/options/index.d.ts +0 -2
  267. package/lib/Select/demo/options/index.js +0 -69
  268. package/lib/Select/demo/single/index.d.ts +0 -3
  269. package/lib/Select/demo/single/index.js +0 -103
  270. package/lib/Select/demo/single/index.less +0 -5
  271. package/lib/Table/demo/basic/createData.d.ts +0 -9
  272. package/lib/Table/demo/basic/createData.js +0 -23
  273. package/lib/Table/demo/basic/index.d.ts +0 -2
  274. package/lib/Table/demo/basic/index.js +0 -80
  275. package/lib/Table/demo/editCell/index.d.ts +0 -2
  276. package/lib/Table/demo/editCell/index.js +0 -54
  277. package/lib/Table/demo/renderHeaderRight/index.d.ts +0 -2
  278. package/lib/Table/demo/renderHeaderRight/index.js +0 -52
  279. package/lib/Table/demo/rowSelect/index.d.ts +0 -2
  280. package/lib/Table/demo/rowSelect/index.js +0 -55
  281. package/lib/Table/demo/virtualList/index.d.ts +0 -2
  282. package/lib/Table/demo/virtualList/index.js +0 -103
  283. package/lib/Tabs/demo/adaptHeight/index.d.ts +0 -3
  284. package/lib/Tabs/demo/adaptHeight/index.js +0 -34
  285. package/lib/Tabs/demo/adaptHeight/index.less +0 -3
  286. package/lib/Tabs/demo/basic/index.d.ts +0 -4
  287. package/lib/Tabs/demo/basic/index.js +0 -67
  288. package/lib/Tabs/demo/basic/index.less +0 -5
  289. package/lib/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  290. package/lib/Tabs/demo/horizontalScroll/index.js +0 -45
  291. package/lib/Tabs/demo/horizontalScroll/index.less +0 -3
  292. package/lib/Tooltip/demo/basic/index.d.ts +0 -2
  293. package/lib/Tooltip/demo/basic/index.js +0 -20
  294. package/lib/Tooltip/demo/overflow/index.d.ts +0 -2
  295. package/lib/Tooltip/demo/overflow/index.js +0 -20
  296. package/lib/Tooltip/demo/placement/index.d.ts +0 -6
  297. package/lib/Tooltip/demo/placement/index.js +0 -86
  298. package/lib/Tooltip/demo/placement/index.less +0 -7
  299. package/lib/Tooltip/demo/trigger/index.d.ts +0 -3
  300. package/lib/Tooltip/demo/trigger/index.js +0 -34
  301. package/lib/Tooltip/demo/trigger/index.less +0 -5
@@ -17,14 +17,14 @@ var _reactWindow = require("react-window");
17
17
 
18
18
  var _reactWindowInfiniteLoader = _interopRequireDefault(require("react-window-infinite-loader"));
19
19
 
20
- var _classnames3 = _interopRequireDefault(require("classnames"));
21
-
22
- require("./style");
20
+ var _classnames6 = _interopRequireDefault(require("classnames"));
23
21
 
24
22
  var _Icon = _interopRequireDefault(require("../Icon"));
25
23
 
26
24
  var _Empty = _interopRequireDefault(require("../Empty"));
27
25
 
26
+ var _lodash = _interopRequireDefault(require("lodash"));
27
+
28
28
  var _excluded = ["style"],
29
29
  _excluded2 = ["style"];
30
30
 
@@ -38,6 +38,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
38
38
 
39
39
  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; }
40
40
 
41
+ 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; }
42
+
43
+ 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; }
44
+
45
+ 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; }
46
+
41
47
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
42
48
 
43
49
  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."); }
@@ -50,13 +56,9 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
50
56
 
51
57
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
52
58
 
53
- 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; }
54
-
55
- 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; }
56
-
57
- 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; }
58
-
59
59
  var DEFAULT_ROW_HEIGHT = 40;
60
+ var ARRAY_FIRST_INDEX = 0;
61
+ var DEFAULT_ROW_WIDTH = 0;
60
62
 
61
63
  function Table(_ref) {
62
64
  var columns = _ref.columns,
@@ -69,40 +71,80 @@ function Table(_ref) {
69
71
  _ref$loadMore = _ref.loadMore,
70
72
  loadMore = _ref$loadMore === void 0 ? function () {} : _ref$loadMore,
71
73
  hasNextPage = _ref.hasNextPage,
72
- loading = _ref.loading;
74
+ loading = _ref.loading,
75
+ _ref$sortable = _ref.sortable,
76
+ sortable = _ref$sortable === void 0 ? false : _ref$sortable,
77
+ defaultSort = _ref.defaultSort,
78
+ _ref$resizeColumn = _ref.resizeColumn,
79
+ resizeColumn = _ref$resizeColumn === void 0 ? false : _ref$resizeColumn,
80
+ allSortDirections = _ref.sortDirections,
81
+ _ref$showHeader = _ref.showHeader,
82
+ showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
83
+ _ref$onChange = _ref.onChange,
84
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange;
85
+
86
+ var _React$useState = _react.default.useState(null),
87
+ _React$useState2 = _slicedToArray(_React$useState, 2),
88
+ selectedRowId = _React$useState2[0],
89
+ setSelectedRowId = _React$useState2[1];
90
+
73
91
  var newColumns = (0, _react.useMemo)(function () {
74
92
  return columns.map(function (column) {
75
- // @ts-ignore
76
- if (column.Cell) {
77
- return _objectSpread(_objectSpread({}, column), {}, {
78
- // @ts-ignore
79
- Cell: function Cell(instance) {
80
- // eslint-disable-next-line
81
- return column.Cell(instance.row.original);
82
- }
83
- });
84
- }
85
-
86
- return column;
93
+ return _objectSpread(_objectSpread({}, column), {}, {
94
+ Header: column.title,
95
+ disableSortBy: !sortable || typeof column.sorter === 'boolean',
96
+ accessor: column.dataIndex,
97
+ Cell: function Cell(_ref2) {
98
+ var row = _ref2.row,
99
+ value = _ref2.value;
100
+ return typeof column.render === 'function' ? column.render(value, row.original, row.index) : value;
101
+ }
102
+ });
87
103
  });
88
- }, [columns]);
104
+ }, [columns, sortable]);
105
+
106
+ var getInitialSortDirection = function getInitialSortDirection() {
107
+ if (defaultSort && defaultSort.id) {
108
+ return defaultSort;
109
+ }
110
+
111
+ if (sortable) {
112
+ return {
113
+ id: newColumns[ARRAY_FIRST_INDEX].accessor,
114
+ desc: false
115
+ };
116
+ }
117
+
118
+ return {
119
+ id: '',
120
+ desc: false
121
+ };
122
+ };
123
+
124
+ var _React$useState3 = _react.default.useState(getInitialSortDirection()),
125
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
126
+ sortDirection = _React$useState4[0],
127
+ setSortDirection = _React$useState4[1];
89
128
 
90
129
  var _useTable = (0, _reactTable.useTable)({
91
130
  columns: newColumns,
92
- data: data
93
- }, _reactTable.useBlockLayout, _reactTable.useRowSelect),
131
+ data: data,
132
+ disableMultiSort: true,
133
+ disableSortBy: !sortable,
134
+ initialState: {
135
+ sortBy: sortDirection.id ? [sortDirection] : []
136
+ }
137
+ }, _reactTable.useBlockLayout, _reactTable.useSortBy, _reactTable.useRowSelect, _reactTable.useResizeColumns),
94
138
  getTableProps = _useTable.getTableProps,
95
139
  getTableBodyProps = _useTable.getTableBodyProps,
96
140
  headerGroups = _useTable.headerGroups,
97
141
  rows = _useTable.rows,
98
- prepareRow = _useTable.prepareRow;
142
+ prepareRow = _useTable.prepareRow,
143
+ setSortBy = _useTable.setSortBy;
99
144
 
100
- var _React$useState = _react.default.useState(null),
101
- _React$useState2 = _slicedToArray(_React$useState, 2),
102
- selectedRowId = _React$useState2[0],
103
- setSelectedRowId = _React$useState2[1];
145
+ var theadRowWidthRef = _react.default.useRef(DEFAULT_ROW_WIDTH);
104
146
 
105
- var prefixCls = (0, _usePrefixCls.default)('blockTable');
147
+ var prefixCls = (0, _usePrefixCls.default)('block-table');
106
148
 
107
149
  function getTbodyStyle() {
108
150
  if (scrollY) {
@@ -117,8 +159,7 @@ function Table(_ref) {
117
159
  var onRowClick = (0, _react.useCallback)(function (row) {
118
160
  if (!onRowSelected) {
119
161
  return;
120
- } // @ts-ignore
121
-
162
+ }
122
163
 
123
164
  setSelectedRowId(row.id);
124
165
  onRowSelected(row.original);
@@ -130,14 +171,14 @@ function Table(_ref) {
130
171
  return !hasNextPage || index < data.length;
131
172
  };
132
173
 
133
- var RenderRow = function RenderRow(_ref2) {
134
- var index = _ref2.index,
135
- style = _ref2.style;
174
+ var RenderRow = function RenderRow(_ref3) {
175
+ var index = _ref3.index,
176
+ style = _ref3.style;
136
177
 
137
178
  if (!isItemLoaded(index)) {
138
179
  return /*#__PURE__*/_react.default.createElement("div", {
139
180
  style: style,
140
- className: (0, _classnames3.default)("".concat(prefixCls, "-loading"))
181
+ className: (0, _classnames6.default)("".concat(prefixCls, "-loading"))
141
182
  }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
142
183
  type: "waiting",
143
184
  size: 16
@@ -152,53 +193,162 @@ function Table(_ref) {
152
193
  rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
153
194
 
154
195
  return /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
155
- style: _objectSpread(_objectSpread({}, style), {}, {
156
- display: rowStyle === null || rowStyle === void 0 ? void 0 : rowStyle.display
196
+ style: _objectSpread(_objectSpread(_objectSpread({}, style), rowStyle), {}, {
197
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
157
198
  }),
158
- className: (0, _classnames3.default)("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
199
+ className: (0, _classnames6.default)("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
159
200
  onClick: function onClick() {
160
201
  return onRowClick(row);
161
202
  }
162
203
  }), row.cells.map(function (cell) {
163
204
  return /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
164
- className: (0, _classnames3.default)("".concat(prefixCls, "-cell"))
205
+ className: (0, _classnames6.default)("".concat(prefixCls, "-cell"))
165
206
  }), cell.render('Cell'));
166
207
  }));
167
208
  };
168
209
 
169
210
  var renderHeader = function renderHeader(len) {
170
211
  return /*#__PURE__*/_react.default.createElement("div", {
171
- className: (0, _classnames3.default)("".concat(prefixCls, "-header"))
212
+ className: (0, _classnames6.default)("".concat(prefixCls, "-header"))
172
213
  }, renderHeaderLeft ? renderHeaderLeft() : /*#__PURE__*/_react.default.createElement("span", {
173
- className: (0, _classnames3.default)("".concat(prefixCls, "-header-left"))
174
- }, "\u5171", total || len, "\u6761"), /*#__PURE__*/_react.default.createElement("div", {
175
- className: (0, _classnames3.default)("".concat(prefixCls, "-header-right"))
214
+ className: (0, _classnames6.default)("".concat(prefixCls, "-header-left"))
215
+ }, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/_react.default.createElement("div", {
216
+ className: (0, _classnames6.default)("".concat(prefixCls, "-header-right"))
176
217
  }, renderHeaderRight ? renderHeaderRight() : null));
177
218
  };
178
219
 
220
+ var getNextSortDesc = function getNextSortDesc(currentDesc) {
221
+ var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
222
+ var sortOrder = arguments.length > 2 ? arguments[2] : undefined;
223
+ var descMap = new Map([['ascend', false], ['descend', true]]);
224
+ var directions = allSortDirections || sortDirections;
225
+
226
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
227
+ return descMap.get(sortOrder);
228
+ }
229
+
230
+ if (typeof currentDesc === 'undefined') {
231
+ return descMap.get(directions[ARRAY_FIRST_INDEX]);
232
+ }
233
+
234
+ var direction = currentDesc ? 'descend' : 'ascend';
235
+
236
+ var index = _lodash.default.findIndex(directions, function (item) {
237
+ return item === direction;
238
+ });
239
+
240
+ var nextIndex = index + 1;
241
+ return descMap.get(directions[nextIndex]);
242
+ };
243
+
244
+ var getHeaderProps = function getHeaderProps(column) {
245
+ // @ts-ignore
246
+ var id = column.id,
247
+ isSortedDesc = column.isSortedDesc,
248
+ canSort = column.canSort,
249
+ sorter = column.sorter,
250
+ sortOrder = column.sortOrder,
251
+ sortDirections = column.sortDirections;
252
+ var toggleProps = column.getSortByToggleProps();
253
+
254
+ if (canSort) {
255
+ // client sort
256
+ return _objectSpread(_objectSpread({}, column.getHeaderProps(_objectSpread({}, toggleProps))), {}, {
257
+ onClick: function onClick(e) {
258
+ e.stopPropagation();
259
+
260
+ if (typeof toggleProps.onClick === 'function') {
261
+ // toggleProps.onClick(e);
262
+ var desc = getNextSortDesc(isSortedDesc, sortDirections, sortOrder);
263
+ var sortBy = {
264
+ id: typeof desc === 'undefined' ? '' : id,
265
+ desc: desc
266
+ };
267
+ setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
268
+ setSortDirection(sortBy);
269
+ onChange(sortBy);
270
+ }
271
+ }
272
+ });
273
+ }
274
+
275
+ if (sorter) {
276
+ // server sort
277
+ return _objectSpread(_objectSpread({}, column.getHeaderProps({
278
+ style: {
279
+ cursor: 'pointer'
280
+ }
281
+ })), {}, {
282
+ onClick: function onClick(e) {
283
+ e.stopPropagation(); // 需要触发onChange
284
+ // debugger;
285
+
286
+ var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
287
+ var sortBy = {
288
+ id: typeof desc === 'boolean' ? id : '',
289
+ desc: desc
290
+ };
291
+ setSortDirection(sortBy);
292
+ onChange(sortBy);
293
+ }
294
+ });
295
+ }
296
+
297
+ return column.getHeaderProps();
298
+ };
299
+
300
+ var SortIcons = function SortIcons(_ref4) {
301
+ var id = _ref4.id;
302
+ var currentSortId = sortDirection.id,
303
+ desc = sortDirection.desc;
304
+
305
+ if (id !== currentSortId || !sortable) {
306
+ return null;
307
+ }
308
+
309
+ return desc ? /*#__PURE__*/_react.default.createElement(_Icon.default, {
310
+ className: "".concat(prefixCls, "-sortIcon"),
311
+ type: "sort_descending",
312
+ size: 12
313
+ }) : /*#__PURE__*/_react.default.createElement(_Icon.default, {
314
+ className: "".concat(prefixCls, "-sortIcon"),
315
+ type: "sort_ascending",
316
+ size: 12
317
+ });
318
+ };
319
+
179
320
  return /*#__PURE__*/_react.default.createElement("div", {
180
321
  className: prefixCls
181
- }, renderHeader(data.length), /*#__PURE__*/_react.default.createElement("div", _objectSpread({}, getTableProps()), /*#__PURE__*/_react.default.createElement("div", {
182
- className: (0, _classnames3.default)("".concat(prefixCls, "-thead"))
322
+ }, showHeader && renderHeader(data.length), /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
323
+ className: (0, _classnames6.default)(_defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
324
+ }), /*#__PURE__*/_react.default.createElement("div", {
325
+ className: "".concat(prefixCls, "-thead")
183
326
  }, headerGroups.map(function (headerGroup) {
184
327
  var _headerGroup$getHeade = headerGroup.getHeaderGroupProps(),
185
328
  style = _headerGroup$getHeade.style,
186
329
  headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded2);
187
330
 
331
+ theadRowWidthRef.current = (style === null || style === void 0 ? void 0 : style.width) || DEFAULT_ROW_WIDTH;
188
332
  return /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, headerGroupProps), {}, {
189
- style: {
190
- display: style === null || style === void 0 ? void 0 : style.display
191
- },
192
- className: (0, _classnames3.default)("".concat(prefixCls, "-row"))
333
+ style: _objectSpread(_objectSpread({}, style), {}, {
334
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
335
+ }),
336
+ className: "".concat(prefixCls, "-row")
193
337
  }), headerGroup.headers.map(function (column) {
194
- return /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, column.getHeaderProps()), {}, {
195
- className: (0, _classnames3.default)("".concat(prefixCls, "-cell"))
196
- }), /*#__PURE__*/_react.default.createElement("div", {
197
- className: (0, _classnames3.default)("".concat(prefixCls, "-dragBar"))
198
- }), column.render('Header'));
338
+ var barPorps = resizeColumn ? column.getResizerProps() : {};
339
+ return /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({
340
+ // {...column.getHeaderProps(column.getSortByToggleProps())}
341
+ className: (0, _classnames6.default)(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell"))
342
+ }, getHeaderProps(column)), {}, {
343
+ key: column.id
344
+ }), column.render('Header'), /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, barPorps), {}, {
345
+ className: (0, _classnames6.default)(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
346
+ })), /*#__PURE__*/_react.default.createElement(SortIcons, {
347
+ id: column.id
348
+ }));
199
349
  }));
200
350
  })), /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, getTableBodyProps()), {}, {
201
- className: (0, _classnames3.default)("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-tbody-scroll"), !loadMoreItems)),
351
+ className: (0, _classnames6.default)("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-tbody-scroll"), !loadMoreItems)),
202
352
  style: getTbodyStyle()
203
353
  }), !loading && !rows.length && /*#__PURE__*/_react.default.createElement(_Empty.default, {
204
354
  description: "\u5F53\u524D\u65E0\u6570\u636E"
@@ -206,17 +356,17 @@ function Table(_ref) {
206
356
  isItemLoaded: isItemLoaded,
207
357
  itemCount: itemCount,
208
358
  loadMoreItems: loadMoreItems
209
- }, function (_ref3) {
210
- var onItemsRendered = _ref3.onItemsRendered,
211
- ref = _ref3.ref;
359
+ }, function (_ref5) {
360
+ var onItemsRendered = _ref5.onItemsRendered,
361
+ ref = _ref5.ref;
212
362
  return /*#__PURE__*/_react.default.createElement(_reactWindow.FixedSizeList, {
213
363
  itemCount: itemCount,
214
364
  onItemsRendered: onItemsRendered,
215
365
  height: scrollY || data.length * DEFAULT_ROW_HEIGHT,
216
366
  itemSize: DEFAULT_ROW_HEIGHT,
217
- width: "100%",
367
+ width: resizeColumn ? theadRowWidthRef.current : '100%',
218
368
  ref: ref,
219
- className: (0, _classnames3.default)("".concat(prefixCls, "-list"))
369
+ className: "".concat(prefixCls, "-list")
220
370
  }, RenderRow);
221
371
  }))));
222
372
  }
@@ -1,14 +1,36 @@
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;
10
+ dataIndex: string;
11
+ render?: (value: any, row: Record<string, T>, 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
23
  scrollY?: number;
8
24
  onRowSelected?: (row: T) => void;
9
25
  loadMore?: (startIndex: number, stopIndex: number) => void | Promise<void>;
10
- hasNextPage: boolean;
11
- loading: boolean;
12
- renderHeaderLeft: () => React.ReactNode;
13
- renderHeaderRight: () => React.ReactNode;
26
+ hasNextPage?: boolean;
27
+ loading?: boolean;
28
+ renderHeaderLeft?: () => React.ReactNode;
29
+ renderHeaderRight?: () => React.ReactNode;
30
+ sortable?: boolean;
31
+ onChange?: (sort: ISort<T>) => void;
32
+ defaultSort?: ISort<T>;
33
+ sortDirections?: Array<'ascend' | 'descend'>;
34
+ resizeColumn?: boolean;
35
+ showHeader?: boolean;
14
36
  }
@@ -0,0 +1,122 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import {
3
+ UseColumnOrderInstanceProps,
4
+ UseColumnOrderState,
5
+ UseExpandedHooks,
6
+ UseExpandedInstanceProps,
7
+ UseExpandedOptions,
8
+ UseExpandedRowProps,
9
+ UseExpandedState,
10
+ UseFiltersColumnOptions,
11
+ UseFiltersColumnProps,
12
+ UseFiltersInstanceProps,
13
+ UseFiltersOptions,
14
+ UseFiltersState,
15
+ UseGlobalFiltersColumnOptions,
16
+ UseGlobalFiltersInstanceProps,
17
+ UseGlobalFiltersOptions,
18
+ UseGlobalFiltersState,
19
+ UseGroupByCellProps,
20
+ UseGroupByColumnOptions,
21
+ UseGroupByColumnProps,
22
+ UseGroupByHooks,
23
+ UseGroupByInstanceProps,
24
+ UseGroupByOptions,
25
+ UseGroupByRowProps,
26
+ UseGroupByState,
27
+ UsePaginationInstanceProps,
28
+ UsePaginationOptions,
29
+ UsePaginationState,
30
+ UseResizeColumnsColumnOptions,
31
+ UseResizeColumnsColumnProps,
32
+ UseResizeColumnsOptions,
33
+ UseResizeColumnsState,
34
+ UseRowSelectHooks,
35
+ UseRowSelectInstanceProps,
36
+ UseRowSelectOptions,
37
+ UseRowSelectRowProps,
38
+ UseRowSelectState,
39
+ UseRowStateCellProps,
40
+ UseRowStateInstanceProps,
41
+ UseRowStateOptions,
42
+ UseRowStateRowProps,
43
+ UseRowStateState,
44
+ UseSortByColumnOptions,
45
+ UseSortByColumnProps,
46
+ UseSortByHooks,
47
+ UseSortByInstanceProps,
48
+ UseSortByOptions,
49
+ UseSortByState
50
+ } from 'react-table';
51
+
52
+ declare module 'react-table' {
53
+ // take this file as-is, or comment out the sections that don't apply to your plugin configuration
54
+
55
+ export interface TableOptions<D extends Record<string, unknown>>
56
+ extends UseExpandedOptions<D>,
57
+ UseFiltersOptions<D>,
58
+ UseGlobalFiltersOptions<D>,
59
+ UseGroupByOptions<D>,
60
+ UsePaginationOptions<D>,
61
+ UseResizeColumnsOptions<D>,
62
+ UseRowSelectOptions<D>,
63
+ UseRowStateOptions<D>,
64
+ UseSortByOptions<D>,
65
+ // note that having Record here allows you to add anything to the options, this matches the spirit of the
66
+ // underlying js library, but might be cleaner if it's replaced by a more specific type that matches your
67
+ // feature set, this is a safe default.
68
+ Record<string, unknown> {}
69
+
70
+ export interface Hooks<D extends Record<string, unknown> = Record<string, unknown>>
71
+ extends UseExpandedHooks<D>,
72
+ UseGroupByHooks<D>,
73
+ UseRowSelectHooks<D>,
74
+ UseSortByHooks<D> {}
75
+
76
+ export interface TableInstance<D extends Record<string, unknown> = Record<string, unknown>>
77
+ extends UseColumnOrderInstanceProps<D>,
78
+ UseExpandedInstanceProps<D>,
79
+ UseFiltersInstanceProps<D>,
80
+ UseGlobalFiltersInstanceProps<D>,
81
+ UseGroupByInstanceProps<D>,
82
+ UsePaginationInstanceProps<D>,
83
+ UseRowSelectInstanceProps<D>,
84
+ UseRowStateInstanceProps<D>,
85
+ UseSortByInstanceProps<D> {}
86
+
87
+ export interface TableState<D extends Record<string, unknown> = Record<string, unknown>>
88
+ extends UseColumnOrderState<D>,
89
+ UseExpandedState<D>,
90
+ UseFiltersState<D>,
91
+ UseGlobalFiltersState<D>,
92
+ UseGroupByState<D>,
93
+ UsePaginationState<D>,
94
+ UseResizeColumnsState<D>,
95
+ UseRowSelectState<D>,
96
+ UseRowStateState<D>,
97
+ UseSortByState<D> {}
98
+
99
+ export interface ColumnInterface<D extends Record<string, unknown> = Record<string, unknown>>
100
+ extends UseFiltersColumnOptions<D>,
101
+ UseGlobalFiltersColumnOptions<D>,
102
+ UseGroupByColumnOptions<D>,
103
+ UseResizeColumnsColumnOptions<D>,
104
+ UseSortByColumnOptions<D> {}
105
+
106
+ export interface ColumnInstance<D extends Record<string, unknown> = Record<string, unknown>>
107
+ extends UseFiltersColumnProps<D>,
108
+ UseGroupByColumnProps<D>,
109
+ UseResizeColumnsColumnProps<D>,
110
+ UseSortByColumnProps<D> {}
111
+
112
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
113
+ export interface Cell<D extends Record<string, unknown> = Record<string, unknown>, V = unknown>
114
+ extends UseGroupByCellProps<D>,
115
+ UseRowStateCellProps<D> {}
116
+
117
+ export interface Row<D extends Record<string, unknown> = Record<string, unknown>>
118
+ extends UseExpandedRowProps<D>,
119
+ UseGroupByRowProps<D>,
120
+ UseRowSelectRowProps<D>,
121
+ UseRowStateRowProps<D> {}
122
+ }