@aloudata/aloudata-design 0.1.0-beta1 → 0.2.0-beta.11

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 (398) hide show
  1. package/README.md +22 -13
  2. package/es/Button/index.d.ts +49 -0
  3. package/es/Button/index.js +107 -0
  4. package/es/Button/style/index.d.ts +2 -0
  5. package/es/Button/style/index.js +2 -0
  6. package/{src → es}/Button/style/index.less +29 -18
  7. package/es/Dropdown/Button.d.ts +69 -0
  8. package/es/Dropdown/Button.js +39 -0
  9. package/es/Dropdown/index.d.ts +59 -0
  10. package/es/Dropdown/index.js +32 -0
  11. package/es/Dropdown/style/index.d.ts +3 -0
  12. package/es/Dropdown/style/index.js +3 -0
  13. package/{src → es}/Dropdown/style/index.less +0 -0
  14. package/es/Empty/index.d.ts +7 -0
  15. package/es/Empty/index.js +56 -0
  16. package/es/Empty/style/index.d.ts +1 -0
  17. package/es/Empty/style/index.js +1 -0
  18. package/es/Empty/style/index.less +24 -0
  19. package/{src → es}/Icon/iconfont/demo.css +0 -0
  20. package/{src → es}/Icon/iconfont/demo_index.html +95 -3
  21. package/es/Icon/iconfont/iconfont.css +109 -0
  22. package/es/Icon/iconfont/iconfont.js +46 -0
  23. package/{src → es}/Icon/iconfont/iconfont.json +28 -0
  24. package/es/Icon/iconfont/iconfont.ttf +0 -0
  25. package/es/Icon/iconfont/iconfont.woff +0 -0
  26. package/es/Icon/iconfont/iconfont.woff2 +0 -0
  27. package/es/Icon/index.d.ts +11 -0
  28. package/es/Icon/index.js +44 -0
  29. package/{src → es}/Icon/index.less +3 -3
  30. package/es/Input/components/Group/index.d.ts +15 -0
  31. package/es/Input/components/Group/index.js +12 -0
  32. package/es/Input/components/Input/index.d.ts +61 -0
  33. package/es/Input/components/Input/index.js +37 -0
  34. package/es/Input/components/Password/index.d.ts +11 -0
  35. package/es/Input/components/Password/index.js +21 -0
  36. package/es/Input/components/TextArea/index.d.ts +58 -0
  37. package/es/Input/components/TextArea/index.js +24 -0
  38. package/es/Input/index.d.ts +16 -0
  39. package/es/Input/index.js +9 -0
  40. package/es/Input/style/index.d.ts +3 -0
  41. package/es/Input/style/index.js +3 -0
  42. package/{src → es}/Input/style/index.less +9 -4
  43. package/es/Menu/Divider.d.ts +4 -0
  44. package/es/Menu/Divider.js +14 -0
  45. package/es/Menu/MenuItem.d.ts +23 -0
  46. package/es/Menu/MenuItem.js +14 -0
  47. package/es/Menu/SubMenu.d.ts +25 -0
  48. package/es/Menu/SubMenu.js +28 -0
  49. package/es/Menu/index.d.ts +20 -0
  50. package/es/Menu/index.js +30 -0
  51. package/es/Menu/style/index.d.ts +3 -0
  52. package/es/Menu/style/index.js +3 -0
  53. package/{src → es}/Menu/style/index.less +4 -0
  54. package/es/Navigator/components/Menu/index.d.ts +19 -0
  55. package/es/Navigator/components/Menu/index.js +187 -0
  56. package/es/Navigator/index.d.ts +40 -0
  57. package/es/Navigator/index.js +44 -0
  58. package/es/Navigator/style/index.d.ts +2 -0
  59. package/es/Navigator/style/index.js +2 -0
  60. package/es/Navigator/style/index.less +228 -0
  61. package/es/Select/BaseSelect.d.ts +5 -0
  62. package/es/Select/BaseSelect.js +400 -0
  63. package/{src/Select/OptionsList/OptGroup.tsx → es/Select/OptionsList/OptGroup.d.ts} +2 -4
  64. package/es/Select/OptionsList/OptGroup.js +6 -0
  65. package/es/Select/OptionsList/OptionItem/RenderGroup.d.ts +9 -0
  66. package/es/Select/OptionsList/OptionItem/RenderGroup.js +16 -0
  67. package/es/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +8 -0
  68. package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +44 -0
  69. package/es/Select/OptionsList/OptionItem/RenderOption.d.ts +16 -0
  70. package/es/Select/OptionsList/OptionItem/RenderOption.js +79 -0
  71. package/es/Select/OptionsList/OptionItem/RenderTooltip.d.ts +8 -0
  72. package/es/Select/OptionsList/OptionItem/RenderTooltip.js +25 -0
  73. package/es/Select/OptionsList/OptionItem.d.ts +4 -0
  74. package/es/Select/OptionsList/OptionItem.js +4 -0
  75. package/es/Select/OptionsList/Options.d.ts +7 -0
  76. package/es/Select/OptionsList/Options.js +6 -0
  77. package/es/Select/OptionsList/index.d.ts +4 -0
  78. package/es/Select/OptionsList/index.js +187 -0
  79. package/es/Select/Selector/index.d.ts +4 -0
  80. package/es/Select/Selector/index.js +252 -0
  81. package/es/Select/VirtualList.d.ts +5 -0
  82. package/es/Select/VirtualList.js +29 -0
  83. package/es/Select/hooks/useCacheOption.d.ts +9 -0
  84. package/es/Select/hooks/useCacheOption.js +107 -0
  85. package/es/Select/index.d.ts +11 -0
  86. package/es/Select/index.js +8 -0
  87. package/es/Select/interface.d.ts +227 -0
  88. package/es/Select/interface.js +1 -0
  89. package/es/Select/style/index.d.ts +2 -0
  90. package/es/Select/style/index.js +2 -0
  91. package/{src → es}/Select/style/index.less +3 -10
  92. package/es/Select/utils.d.ts +21 -0
  93. package/es/Select/utils.js +193 -0
  94. package/es/Table/index.d.ts +4 -0
  95. package/es/Table/index.js +369 -0
  96. package/es/Table/interface.d.ts +35 -0
  97. package/es/Table/interface.js +1 -0
  98. package/es/Table/react-table-config.d.ts +122 -0
  99. package/es/Table/style/index.d.ts +2 -0
  100. package/es/Table/style/index.js +2 -0
  101. package/es/Table/style/index.less +175 -0
  102. package/es/Tabs/TabPane.d.ts +21 -0
  103. package/es/Tabs/TabPane.js +12 -0
  104. package/es/Tabs/index.d.ts +41 -0
  105. package/es/Tabs/index.js +43 -0
  106. package/es/Tabs/style/index.d.ts +3 -0
  107. package/es/Tabs/style/index.js +3 -0
  108. package/{src → es}/Tabs/style/index.less +0 -0
  109. package/es/Tooltip/index.d.ts +63 -0
  110. package/es/Tooltip/index.js +32 -0
  111. package/es/Tooltip/style/index.d.ts +2 -0
  112. package/es/Tooltip/style/index.js +2 -0
  113. package/{src → es}/Tooltip/style/index.less +0 -0
  114. package/es/_utils/hooks/useControlledState.d.ts +2 -0
  115. package/{lib/Button/demo/loading/index.js → es/_utils/hooks/useControlledState.js} +40 -37
  116. package/es/_utils/hooks/usePrefixCls.d.ts +2 -0
  117. package/es/_utils/hooks/usePrefixCls.js +14 -0
  118. package/es/index.d.ts +20 -0
  119. package/{src/index.ts → es/index.js} +3 -1
  120. package/es/style/index.d.ts +2 -0
  121. package/es/style/index.js +2 -0
  122. package/{src → es}/style/index.less +0 -0
  123. package/{lib/Button/demo/disable → es/style/mixins}/index.less +0 -0
  124. package/{src → es}/style/themes/default/index.less +2 -2
  125. package/{lib/style/themes/default/themeColor.less → es/style/themes/default/themeColor.module.less} +0 -0
  126. package/es/style/themes/default/themeColor.module.less.d.ts +108 -0
  127. package/lib/Button/index.d.ts +0 -1
  128. package/lib/Button/index.js +2 -4
  129. package/lib/Button/style/index.less +29 -18
  130. package/lib/Dropdown/Button.d.ts +1 -1
  131. package/lib/Dropdown/Button.js +2 -2
  132. package/lib/Dropdown/index.d.ts +1 -1
  133. package/lib/Dropdown/index.js +0 -2
  134. package/lib/Dropdown/style/index.d.ts +1 -0
  135. package/lib/Dropdown/style/index.js +2 -0
  136. package/lib/Empty/index.d.ts +7 -0
  137. package/lib/Empty/index.js +69 -0
  138. package/lib/Empty/style/index.d.ts +1 -0
  139. package/lib/Empty/style/index.js +3 -0
  140. package/lib/Empty/style/index.less +24 -0
  141. package/lib/Icon/iconfont/demo_index.html +95 -3
  142. package/lib/Icon/iconfont/iconfont.css +19 -3
  143. package/lib/Icon/iconfont/iconfont.js +5 -5
  144. package/lib/Icon/iconfont/iconfont.json +28 -0
  145. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  146. package/lib/Icon/iconfont/iconfont.woff +0 -0
  147. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  148. package/lib/Icon/index.js +5 -3
  149. package/lib/Icon/index.less +3 -3
  150. package/lib/Input/components/Group/index.d.ts +2 -2
  151. package/lib/Input/components/Input/index.d.ts +61 -0
  152. package/lib/Input/components/Input/index.js +50 -0
  153. package/lib/Input/components/Password/index.d.ts +5 -4
  154. package/lib/Input/components/Password/index.js +10 -8
  155. package/lib/Input/components/TextArea/index.d.ts +10 -4
  156. package/lib/Input/components/TextArea/index.js +18 -7
  157. package/lib/Input/index.d.ts +14 -63
  158. package/lib/Input/index.js +4 -44
  159. package/lib/Input/style/index.d.ts +1 -0
  160. package/lib/Input/style/index.js +2 -0
  161. package/lib/Input/style/index.less +9 -4
  162. package/lib/Menu/Divider.d.ts +0 -1
  163. package/lib/Menu/Divider.js +0 -2
  164. package/lib/Menu/MenuItem.d.ts +7 -1
  165. package/lib/Menu/MenuItem.js +0 -2
  166. package/lib/Menu/SubMenu.d.ts +0 -1
  167. package/lib/Menu/SubMenu.js +0 -2
  168. package/lib/Menu/index.d.ts +1 -1
  169. package/lib/Menu/index.js +0 -2
  170. package/lib/Menu/style/index.d.ts +1 -0
  171. package/lib/Menu/style/index.js +2 -0
  172. package/lib/Menu/style/index.less +4 -0
  173. package/lib/Navigator/components/Menu/index.d.ts +19 -0
  174. package/lib/Navigator/components/Menu/index.js +205 -0
  175. package/lib/Navigator/index.d.ts +40 -0
  176. package/lib/Navigator/index.js +62 -0
  177. package/lib/Navigator/style/index.d.ts +2 -0
  178. package/lib/Navigator/style/index.js +5 -0
  179. package/lib/Navigator/style/index.less +228 -0
  180. package/lib/Select/OptionsList/OptionItem/RenderGroup.d.ts +9 -0
  181. package/lib/Select/OptionsList/OptionItem/RenderGroup.js +27 -0
  182. package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +8 -0
  183. package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +58 -0
  184. package/lib/Select/OptionsList/OptionItem/RenderOption.d.ts +16 -0
  185. package/lib/Select/OptionsList/OptionItem/RenderOption.js +94 -0
  186. package/lib/Select/OptionsList/OptionItem/RenderTooltip.d.ts +8 -0
  187. package/lib/Select/OptionsList/OptionItem/RenderTooltip.js +37 -0
  188. package/lib/Select/OptionsList/OptionItem.d.ts +4 -35
  189. package/lib/Select/OptionsList/OptionItem.js +26 -172
  190. package/lib/Select/OptionsList/Options.d.ts +2 -2
  191. package/lib/Select/OptionsList/index.js +1 -1
  192. package/lib/Select/Selector/index.d.ts +2 -2
  193. package/lib/Select/Selector/index.js +13 -10
  194. package/lib/Select/index.d.ts +0 -1
  195. package/lib/Select/index.js +0 -2
  196. package/lib/Select/interface.d.ts +8 -2
  197. package/lib/Select/style/index.less +3 -10
  198. package/lib/Table/index.d.ts +4 -0
  199. package/lib/Table/index.js +394 -0
  200. package/lib/Table/interface.d.ts +35 -0
  201. package/lib/Table/interface.js +5 -0
  202. package/lib/Table/react-table-config.d.ts +122 -0
  203. package/lib/Table/style/index.d.ts +2 -0
  204. package/lib/Table/style/index.js +5 -0
  205. package/lib/Table/style/index.less +175 -0
  206. package/lib/Tabs/index.d.ts +1 -1
  207. package/lib/Tabs/index.js +4 -4
  208. package/lib/Tabs/style/index.d.ts +1 -0
  209. package/lib/Tabs/style/index.js +2 -0
  210. package/lib/Tooltip/index.d.ts +1 -1
  211. package/lib/Tooltip/index.js +3 -3
  212. package/lib/index.d.ts +12 -0
  213. package/lib/index.js +16 -0
  214. package/lib/style/index.d.ts +1 -1
  215. package/lib/style/index.js +1 -1
  216. package/lib/style/themes/default/index.less +2 -2
  217. package/{src/style/themes/default/themeColor.less → lib/style/themes/default/themeColor.module.less} +0 -0
  218. package/lib/style/themes/default/themeColor.module.less.d.ts +108 -0
  219. package/package.json +33 -8
  220. package/.editorconfig +0 -16
  221. package/.eslintrc.js +0 -43
  222. package/.fatherrc.ts +0 -16
  223. package/.prettierignore +0 -7
  224. package/.prettierrc.js +0 -1
  225. package/.stylelintrc.json +0 -36
  226. package/.umirc.ts +0 -15
  227. package/commitlint.config.js +0 -21
  228. package/docs/index.md +0 -21
  229. package/jest/setupTests.js +0 -1
  230. package/lib/Button/demo/Icon/index.d.ts +0 -3
  231. package/lib/Button/demo/Icon/index.js +0 -82
  232. package/lib/Button/demo/Icon/index.less +0 -6
  233. package/lib/Button/demo/basic/index.d.ts +0 -4
  234. package/lib/Button/demo/basic/index.js +0 -73
  235. package/lib/Button/demo/basic/index.less +0 -7
  236. package/lib/Button/demo/disable/index.d.ts +0 -3
  237. package/lib/Button/demo/disable/index.js +0 -37
  238. package/lib/Button/demo/href/index.d.ts +0 -2
  239. package/lib/Button/demo/href/index.js +0 -30
  240. package/lib/Button/demo/loading/index.d.ts +0 -3
  241. package/lib/Button/demo/loading/index.less +0 -6
  242. package/lib/Dropdown/demo/basic/index.d.ts +0 -4
  243. package/lib/Dropdown/demo/basic/index.js +0 -35
  244. package/lib/Dropdown/demo/button/index.d.ts +0 -3
  245. package/lib/Dropdown/demo/button/index.js +0 -182
  246. package/lib/Dropdown/demo/button/index.less +0 -9
  247. package/lib/Dropdown/demo/placement/index.d.ts +0 -2
  248. package/lib/Dropdown/demo/placement/index.js +0 -56
  249. package/lib/Dropdown/demo/subMenu/index.d.ts +0 -2
  250. package/lib/Dropdown/demo/subMenu/index.js +0 -59
  251. package/lib/Dropdown/demo/trigger/index.d.ts +0 -2
  252. package/lib/Dropdown/demo/trigger/index.js +0 -32
  253. package/lib/Input/demo/allowClear/index.d.ts +0 -3
  254. package/lib/Input/demo/allowClear/index.js +0 -25
  255. package/lib/Input/demo/allowClear/index.less +0 -0
  256. package/lib/Input/demo/basic/index.d.ts +0 -4
  257. package/lib/Input/demo/basic/index.js +0 -80
  258. package/lib/Input/demo/basic/index.less +0 -6
  259. package/lib/Input/demo/gourp/index.d.ts +0 -2
  260. package/lib/Input/demo/gourp/index.js +0 -81
  261. package/lib/Input/demo/password/index.d.ts +0 -3
  262. package/lib/Input/demo/password/index.js +0 -35
  263. package/lib/Input/demo/password/index.less +0 -0
  264. package/lib/Input/demo/prefix/index.d.ts +0 -3
  265. package/lib/Input/demo/prefix/index.js +0 -32
  266. package/lib/Input/demo/prefix/index.less +0 -0
  267. package/lib/Input/demo/showCount/index.d.ts +0 -3
  268. package/lib/Input/demo/showCount/index.js +0 -31
  269. package/lib/Input/demo/showCount/index.less +0 -0
  270. package/lib/Input/demo/textArea/autoSize.d.ts +0 -2
  271. package/lib/Input/demo/textArea/autoSize.js +0 -63
  272. package/lib/Select/demo/disabled/index.d.ts +0 -2
  273. package/lib/Select/demo/disabled/index.js +0 -64
  274. package/lib/Select/demo/multiple/index.d.ts +0 -2
  275. package/lib/Select/demo/multiple/index.js +0 -154
  276. package/lib/Select/demo/options/index.d.ts +0 -2
  277. package/lib/Select/demo/options/index.js +0 -69
  278. package/lib/Select/demo/single/index.d.ts +0 -2
  279. package/lib/Select/demo/single/index.js +0 -99
  280. package/lib/Tabs/demo/adaptHeight/index.d.ts +0 -3
  281. package/lib/Tabs/demo/adaptHeight/index.js +0 -34
  282. package/lib/Tabs/demo/adaptHeight/index.less +0 -3
  283. package/lib/Tabs/demo/basic/index.d.ts +0 -4
  284. package/lib/Tabs/demo/basic/index.js +0 -67
  285. package/lib/Tabs/demo/basic/index.less +0 -5
  286. package/lib/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  287. package/lib/Tabs/demo/horizontalScroll/index.js +0 -45
  288. package/lib/Tabs/demo/horizontalScroll/index.less +0 -3
  289. package/lib/Tooltip/demo/basic/index.d.ts +0 -2
  290. package/lib/Tooltip/demo/basic/index.js +0 -20
  291. package/lib/Tooltip/demo/overflow/index.d.ts +0 -2
  292. package/lib/Tooltip/demo/overflow/index.js +0 -20
  293. package/lib/Tooltip/demo/placement/index.d.ts +0 -6
  294. package/lib/Tooltip/demo/placement/index.js +0 -86
  295. package/lib/Tooltip/demo/placement/index.less +0 -7
  296. package/lib/Tooltip/demo/trigger/index.d.ts +0 -3
  297. package/lib/Tooltip/demo/trigger/index.js +0 -34
  298. package/lib/Tooltip/demo/trigger/index.less +0 -5
  299. package/public/favicon.ico +0 -0
  300. package/src/Button/demo/Icon/index.less +0 -6
  301. package/src/Button/demo/Icon/index.tsx +0 -41
  302. package/src/Button/demo/basic/index.less +0 -7
  303. package/src/Button/demo/basic/index.tsx +0 -26
  304. package/src/Button/demo/disable/index.less +0 -0
  305. package/src/Button/demo/disable/index.tsx +0 -16
  306. package/src/Button/demo/href/index.tsx +0 -14
  307. package/src/Button/demo/loading/index.less +0 -6
  308. package/src/Button/demo/loading/index.tsx +0 -21
  309. package/src/Button/index.md +0 -25
  310. package/src/Button/index.test.tsx +0 -58
  311. package/src/Button/index.tsx +0 -136
  312. package/src/Button/style/index.ts +0 -2
  313. package/src/Dropdown/Button.tsx +0 -93
  314. package/src/Dropdown/demo/basic/index.tsx +0 -20
  315. package/src/Dropdown/demo/button/index.less +0 -9
  316. package/src/Dropdown/demo/button/index.tsx +0 -98
  317. package/src/Dropdown/demo/placement/index.tsx +0 -47
  318. package/src/Dropdown/demo/subMenu/index.tsx +0 -35
  319. package/src/Dropdown/demo/trigger/index.tsx +0 -19
  320. package/src/Dropdown/index.md +0 -35
  321. package/src/Dropdown/index.test.tsx +0 -185
  322. package/src/Dropdown/index.tsx +0 -71
  323. package/src/Dropdown/style/index.ts +0 -2
  324. package/src/Icon/iconfont/iconfont.css +0 -93
  325. package/src/Icon/iconfont/iconfont.js +0 -1
  326. package/src/Icon/iconfont/iconfont.ttf +0 -0
  327. package/src/Icon/iconfont/iconfont.woff +0 -0
  328. package/src/Icon/iconfont/iconfont.woff2 +0 -0
  329. package/src/Icon/index.tsx +0 -38
  330. package/src/Input/components/Group/index.tsx +0 -21
  331. package/src/Input/components/Password/index.tsx +0 -23
  332. package/src/Input/components/TextArea/index.tsx +0 -57
  333. package/src/Input/demo/allowClear/index.less +0 -0
  334. package/src/Input/demo/allowClear/index.tsx +0 -10
  335. package/src/Input/demo/basic/index.less +0 -6
  336. package/src/Input/demo/basic/index.tsx +0 -25
  337. package/src/Input/demo/gourp/index.tsx +0 -30
  338. package/src/Input/demo/password/index.less +0 -0
  339. package/src/Input/demo/password/index.tsx +0 -11
  340. package/src/Input/demo/prefix/index.less +0 -0
  341. package/src/Input/demo/prefix/index.tsx +0 -13
  342. package/src/Input/demo/showCount/index.less +0 -0
  343. package/src/Input/demo/showCount/index.tsx +0 -16
  344. package/src/Input/demo/textArea/autoSize.tsx +0 -21
  345. package/src/Input/index.md +0 -37
  346. package/src/Input/index.test.tsx +0 -78
  347. package/src/Input/index.tsx +0 -91
  348. package/src/Input/style/index.ts +0 -2
  349. package/src/Menu/Divider.tsx +0 -12
  350. package/src/Menu/MenuItem.tsx +0 -24
  351. package/src/Menu/SubMenu.tsx +0 -37
  352. package/src/Menu/index.md +0 -36
  353. package/src/Menu/index.test.tsx +0 -144
  354. package/src/Menu/index.tsx +0 -27
  355. package/src/Menu/style/index.ts +0 -2
  356. package/src/Select/BaseSelect.tsx +0 -321
  357. package/src/Select/OptionsList/OptionItem.tsx +0 -151
  358. package/src/Select/OptionsList/Options.tsx +0 -11
  359. package/src/Select/OptionsList/index.tsx +0 -169
  360. package/src/Select/Selector/index.tsx +0 -211
  361. package/src/Select/VirtualList.tsx +0 -36
  362. package/src/Select/demo/disabled/index.tsx +0 -44
  363. package/src/Select/demo/multiple/index.tsx +0 -77
  364. package/src/Select/demo/options/index.tsx +0 -63
  365. package/src/Select/demo/single/index.tsx +0 -50
  366. package/src/Select/hooks/useCacheOption.ts +0 -67
  367. package/src/Select/index.md +0 -72
  368. package/src/Select/index.tsx +0 -23
  369. package/src/Select/interface.ts +0 -231
  370. package/src/Select/style/index.ts +0 -2
  371. package/src/Select/utils.tsx +0 -133
  372. package/src/Tabs/TabPane.tsx +0 -28
  373. package/src/Tabs/demo/adaptHeight/index.less +0 -3
  374. package/src/Tabs/demo/adaptHeight/index.tsx +0 -33
  375. package/src/Tabs/demo/basic/index.less +0 -5
  376. package/src/Tabs/demo/basic/index.tsx +0 -30
  377. package/src/Tabs/demo/horizontalScroll/index.less +0 -3
  378. package/src/Tabs/demo/horizontalScroll/index.tsx +0 -36
  379. package/src/Tabs/index.md +0 -30
  380. package/src/Tabs/index.test.tsx +0 -100
  381. package/src/Tabs/index.tsx +0 -64
  382. package/src/Tabs/style/index.ts +0 -2
  383. package/src/Tooltip/demo/basic/index.tsx +0 -10
  384. package/src/Tooltip/demo/overflow/index.tsx +0 -10
  385. package/src/Tooltip/demo/placement/index.less +0 -7
  386. package/src/Tooltip/demo/placement/index.tsx +0 -60
  387. package/src/Tooltip/demo/trigger/index.less +0 -5
  388. package/src/Tooltip/demo/trigger/index.tsx +0 -22
  389. package/src/Tooltip/index.md +0 -28
  390. package/src/Tooltip/index.test.tsx +0 -152
  391. package/src/Tooltip/index.tsx +0 -113
  392. package/src/Tooltip/style/index.ts +0 -2
  393. package/src/_utils/hooks/useControlledState.ts +0 -39
  394. package/src/_utils/hooks/usePrefixCls.ts +0 -11
  395. package/src/style/index.ts +0 -2
  396. package/src/style/mixins/index.less +0 -0
  397. package/tsconfig.json +0 -13
  398. package/typings.d.ts +0 -3
@@ -130,7 +130,8 @@
130
130
  // box-shadow: 0 0 6px 0 @color-box-shadow-focused;
131
131
 
132
132
  .@{select-prefix-cls-legacy} {
133
- &-item-all {
133
+ &-item-all,
134
+ &-item {
134
135
  opacity: 0.5;
135
136
  }
136
137
  }
@@ -165,6 +166,7 @@
165
166
  line-height: 22px;
166
167
  white-space: nowrap;
167
168
  text-overflow: ellipsis;
169
+ color: @NL0;
168
170
  }
169
171
  }
170
172
 
@@ -351,15 +353,6 @@
351
353
  }
352
354
  }
353
355
 
354
- &-single,
355
- &-focused {
356
- .@{select-prefix-cls-legacy} {
357
- &-item {
358
- opacity: 0.5;
359
- }
360
- }
361
- }
362
-
363
356
  // rc-trigger
364
357
  &-dropdown {
365
358
  position: absolute;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { IOption } from './interface';
3
+ interface IGroup {
4
+ groupLabel?: string;
5
+ groupValue?: string | number;
6
+ }
7
+ export declare const customOptionKeyPrefix = "select_custom_option_";
8
+ export declare const customOptionKey: string;
9
+ export declare function convertNodeToOption(node: React.ReactElement, group: IGroup): IOption;
10
+ export declare const getFlattenOptions: (data: IOption[], hasGroup: boolean) => IOption[];
11
+ export declare function convertChildrenToData(nodes: React.ReactElement[], group?: {}): IOption[];
12
+ export declare function handleOptions(mergedOptions: IOption[], setCacheOptions: (options: IOption[]) => void, updateGroup: (value: boolean) => void): {
13
+ flattenOptions: IOption[];
14
+ isGroup: boolean;
15
+ };
16
+ export declare const defaultLabelRenderer: (input: string, prefix: string) => (option: IOption, isGroup: boolean) => React.ReactNode;
17
+ export declare const defaultOptionLabelRenderer: (value: string | number, option?: IOption | undefined) => {};
18
+ export declare const defaultSearchPredicate: (input: string) => (o: IOption) => boolean;
19
+ export declare const defaultMatchPredicate: (input: string) => (o: IOption) => boolean;
20
+ export declare const CustomOption: (value: string | number, withGroup?: boolean, id?: string) => IOption;
21
+ export {};
@@ -0,0 +1,193 @@
1
+ var _excluded = ["value", "children"],
2
+ _excluded2 = ["options"];
3
+
4
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
+
6
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+
8
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
9
+
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+
12
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
+
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ import React from 'react';
27
+ import { concat, uniqueId } from 'lodash';
28
+ var ZERO_INDEX = 0;
29
+ var ungroupedOptionKeyPrefix = 'select_isungrouped_option_';
30
+ var ungroupedOptionKey = uniqueId(ungroupedOptionKeyPrefix);
31
+ var ungroupedOptionLabel = '未分组';
32
+ export var customOptionKeyPrefix = 'select_custom_option_';
33
+ export var customOptionKey = uniqueId(customOptionKeyPrefix); // ReactNode To Options
34
+
35
+ export function convertNodeToOption(node, group) {
36
+ var _node$props = node.props,
37
+ value = _node$props.value,
38
+ children = _node$props.children,
39
+ restProps = _objectWithoutProperties(_node$props, _excluded);
40
+
41
+ var groupValue = group.groupValue,
42
+ groupLabel = group.groupLabel;
43
+
44
+ if (groupLabel && groupLabel) {
45
+ return _objectSpread({
46
+ value: value,
47
+ label: children !== undefined ? children : value,
48
+ groupValue: groupValue,
49
+ groupLabel: groupLabel
50
+ }, restProps);
51
+ }
52
+
53
+ return _objectSpread({
54
+ value: value,
55
+ label: children !== undefined ? children : value
56
+ }, restProps);
57
+ }
58
+ export var getFlattenOptions = function getFlattenOptions(data, hasGroup) {
59
+ var groupMap = new Map();
60
+
61
+ if (!hasGroup) {
62
+ return data;
63
+ }
64
+
65
+ data === null || data === void 0 ? void 0 : data.map(function (cur) {
66
+ var gValue = groupMap.get(cur.groupValue);
67
+
68
+ if (gValue) {
69
+ var options = gValue.options,
70
+ rest = _objectWithoutProperties(gValue, _excluded2);
71
+
72
+ return groupMap.set(cur.groupValue, _objectSpread({
73
+ options: [].concat(_toConsumableArray(options), [cur])
74
+ }, rest));
75
+ }
76
+
77
+ return groupMap.set(cur.groupValue, {
78
+ label: cur.groupLabel,
79
+ value: cur.groupValue,
80
+ isSelectOptGroup: true,
81
+ options: [cur]
82
+ });
83
+ });
84
+ var flattenOption = [];
85
+ groupMap.forEach(function (value) {
86
+ flattenOption.push(value); // @ts-ignore
87
+
88
+ flattenOption.push.apply(flattenOption, _toConsumableArray(value.options));
89
+ });
90
+ return flattenOption;
91
+ };
92
+ export function convertChildrenToData(nodes) {
93
+ var group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
94
+ var nodeOptions = [];
95
+ React.Children.forEach(nodes, function (node) {
96
+ if (! /*#__PURE__*/React.isValidElement(node)) {
97
+ return;
98
+ }
99
+
100
+ var isSelectOptGroup = node.type.isSelectOptGroup,
101
+ _node$props2 = node.props,
102
+ children = _node$props2.children,
103
+ label = _node$props2.label,
104
+ value = _node$props2.value; // 联合类型
105
+
106
+ if (!isSelectOptGroup) {
107
+ // option
108
+ nodeOptions.push(convertNodeToOption(node, group));
109
+ } else {
110
+ // Group
111
+ nodeOptions = concat(nodeOptions, convertChildrenToData(children, {
112
+ groupLabel: label,
113
+ groupValue: value
114
+ }));
115
+ }
116
+ });
117
+ return nodeOptions;
118
+ } // optionsMap flattenOptions
119
+
120
+ export function handleOptions(mergedOptions, setCacheOptions, updateGroup) {
121
+ var isGroup = !!mergedOptions.find(function (v) {
122
+ return Object.prototype.hasOwnProperty.call(v, 'groupValue');
123
+ });
124
+ var flattenOptions = [];
125
+ mergedOptions.forEach(function (option) {
126
+ var optionGroupLabel = option.groupLabel,
127
+ optionGroupValue = option.groupValue;
128
+
129
+ if (isGroup && !optionGroupValue && !optionGroupLabel) {
130
+ var ungroupedOption = _objectSpread(_objectSpread({}, option), {}, {
131
+ groupLabel: ungroupedOptionLabel,
132
+ groupValue: ungroupedOptionKey
133
+ });
134
+
135
+ flattenOptions.push(ungroupedOption);
136
+ } else {
137
+ flattenOptions.push(option);
138
+ }
139
+ });
140
+ updateGroup(isGroup);
141
+ setCacheOptions(flattenOptions);
142
+ return {
143
+ flattenOptions: flattenOptions,
144
+ isGroup: isGroup
145
+ };
146
+ } // provide search matching hightlight;
147
+
148
+ export var defaultLabelRenderer = function defaultLabelRenderer(input, prefix) {
149
+ return function (option, isGroup) {
150
+ var title = option.title,
151
+ label = option.label;
152
+
153
+ if (isGroup || typeof label !== 'string') {
154
+ return title || label;
155
+ }
156
+
157
+ var index = label.indexOf(input);
158
+ return /*#__PURE__*/React.createElement("div", {
159
+ style: {
160
+ display: 'inline-block',
161
+ lineHeight: '40px'
162
+ }
163
+ }, label.slice(ZERO_INDEX, index), /*#__PURE__*/React.createElement("span", {
164
+ className: "".concat(prefix, "-search-highlight")
165
+ }, label.slice(index, index + input.length)), label.slice(index + input.length));
166
+ };
167
+ };
168
+ export var defaultOptionLabelRenderer = function defaultOptionLabelRenderer(value, option) {
169
+ return (option === null || option === void 0 ? void 0 : option.title) || (option === null || option === void 0 ? void 0 : option.label) || value;
170
+ };
171
+ export var defaultSearchPredicate = function defaultSearchPredicate(input) {
172
+ return function (o) {
173
+ return typeof o.label === 'string' ? o.label.includes(input) : true;
174
+ };
175
+ };
176
+ export var defaultMatchPredicate = function defaultMatchPredicate(input) {
177
+ return function (o) {
178
+ return o.label === input;
179
+ };
180
+ };
181
+ export var CustomOption = function CustomOption(value) {
182
+ var withGroup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
183
+ var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : customOptionKeyPrefix;
184
+ return withGroup ? {
185
+ value: value,
186
+ label: value.toString(),
187
+ groupValue: id,
188
+ groupLabel: '自由输入'
189
+ } : {
190
+ value: value,
191
+ label: value.toString()
192
+ };
193
+ };
@@ -0,0 +1,4 @@
1
+ import { ReactElement } from 'react';
2
+ import { ITableProps } from './interface';
3
+ declare function Table<T extends Record<string, unknown>>({ columns, data, total, renderHeaderLeft, renderHeaderRight, onRowSelected, loadMore, hasNextPage, loading, sortable, defaultSort, resizeColumn, sortDirections: allSortDirections, showHeader, onChange, }: ITableProps<T>): ReactElement;
4
+ export default Table;
@@ -0,0 +1,369 @@
1
+ var _excluded = ["style"],
2
+ _excluded2 = ["style"];
3
+
4
+ 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; }
5
+
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
+
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
+
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+
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
+
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+
20
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
+
22
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
23
+
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+
26
+ /// <reference types ='./react-table-config' />
27
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
28
+ import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
29
+ import usePrefixCls from '../_utils/hooks/usePrefixCls';
30
+ import { FixedSizeList } from 'react-window';
31
+ import InfiniteLoader from 'react-window-infinite-loader';
32
+ import classnames from 'classnames';
33
+ import Icon from '../Icon';
34
+ import Empty from '../Empty';
35
+ import _ from 'lodash';
36
+ var DEFAULT_ROW_HEIGHT = 40;
37
+ var ARRAY_FIRST_INDEX = 0;
38
+ var DEFAULT_ROW_WIDTH = 0;
39
+ var DEFAULT_BODY_HEIGHT = 0;
40
+
41
+ function Table(_ref) {
42
+ var columns = _ref.columns,
43
+ data = _ref.data,
44
+ total = _ref.total,
45
+ renderHeaderLeft = _ref.renderHeaderLeft,
46
+ renderHeaderRight = _ref.renderHeaderRight,
47
+ onRowSelected = _ref.onRowSelected,
48
+ _ref$loadMore = _ref.loadMore,
49
+ loadMore = _ref$loadMore === void 0 ? function () {} : _ref$loadMore,
50
+ hasNextPage = _ref.hasNextPage,
51
+ loading = _ref.loading,
52
+ _ref$sortable = _ref.sortable,
53
+ sortable = _ref$sortable === void 0 ? false : _ref$sortable,
54
+ defaultSort = _ref.defaultSort,
55
+ _ref$resizeColumn = _ref.resizeColumn,
56
+ resizeColumn = _ref$resizeColumn === void 0 ? false : _ref$resizeColumn,
57
+ allSortDirections = _ref.sortDirections,
58
+ _ref$showHeader = _ref.showHeader,
59
+ showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
60
+ _ref$onChange = _ref.onChange,
61
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange;
62
+
63
+ var _React$useState = React.useState(null),
64
+ _React$useState2 = _slicedToArray(_React$useState, 2),
65
+ selectedRowId = _React$useState2[0],
66
+ setSelectedRowId = _React$useState2[1];
67
+
68
+ var tableBodyRef = useRef(null);
69
+
70
+ var _useState = useState(DEFAULT_BODY_HEIGHT),
71
+ _useState2 = _slicedToArray(_useState, 2),
72
+ bodyClientHeight = _useState2[0],
73
+ setBodyClientHeight = _useState2[1];
74
+
75
+ useEffect(function () {
76
+ if (tableBodyRef.current) {
77
+ setBodyClientHeight(tableBodyRef.current.clientHeight);
78
+ }
79
+ }, []);
80
+ var newColumns = useMemo(function () {
81
+ return columns.map(function (column) {
82
+ return _objectSpread(_objectSpread({}, column), {}, {
83
+ Header: column.title,
84
+ disableSortBy: !sortable || typeof column.sorter === 'boolean',
85
+ accessor: column.dataIndex,
86
+ Cell: function Cell(_ref2) {
87
+ var row = _ref2.row,
88
+ value = _ref2.value;
89
+ return typeof column.render === 'function' ? column.render(value, row.original, row.index) : value;
90
+ }
91
+ });
92
+ });
93
+ }, [columns, sortable]);
94
+
95
+ var getInitialSortDirection = function getInitialSortDirection() {
96
+ if (defaultSort && defaultSort.id) {
97
+ return defaultSort;
98
+ }
99
+
100
+ if (sortable) {
101
+ return {
102
+ id: newColumns[ARRAY_FIRST_INDEX].accessor,
103
+ desc: false
104
+ };
105
+ }
106
+
107
+ return {
108
+ id: '',
109
+ desc: false
110
+ };
111
+ };
112
+
113
+ var _React$useState3 = React.useState(getInitialSortDirection()),
114
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
115
+ sortDirection = _React$useState4[0],
116
+ setSortDirection = _React$useState4[1];
117
+
118
+ var _useTable = useTable({
119
+ columns: newColumns,
120
+ data: data,
121
+ disableMultiSort: true,
122
+ disableSortBy: !sortable,
123
+ initialState: {
124
+ sortBy: sortDirection.id ? [sortDirection] : []
125
+ }
126
+ }, useBlockLayout, useSortBy, useRowSelect, useResizeColumns),
127
+ getTableProps = _useTable.getTableProps,
128
+ getTableBodyProps = _useTable.getTableBodyProps,
129
+ headerGroups = _useTable.headerGroups,
130
+ rows = _useTable.rows,
131
+ prepareRow = _useTable.prepareRow,
132
+ setSortBy = _useTable.setSortBy;
133
+
134
+ var theadRowWidthRef = React.useRef(DEFAULT_ROW_WIDTH);
135
+ var prefixCls = usePrefixCls('block-table');
136
+ var onRowClick = useCallback(function (row) {
137
+ if (!onRowSelected) {
138
+ return;
139
+ }
140
+
141
+ setSelectedRowId(row.id);
142
+ onRowSelected(row.original);
143
+ }, [onRowSelected]);
144
+ var itemCount = hasNextPage ? data.length + 1 : data.length;
145
+ var loadMoreItems = loading ? function () {} : loadMore;
146
+
147
+ var isItemLoaded = function isItemLoaded(index) {
148
+ return !hasNextPage || index < data.length;
149
+ };
150
+
151
+ var RenderRow = function RenderRow(_ref3) {
152
+ var index = _ref3.index,
153
+ style = _ref3.style;
154
+
155
+ if (!isItemLoaded(index)) {
156
+ return /*#__PURE__*/React.createElement("div", {
157
+ style: style,
158
+ className: classnames("".concat(prefixCls, "-loading"))
159
+ }, /*#__PURE__*/React.createElement(Icon, {
160
+ type: "waiting",
161
+ size: 16
162
+ }), "Loading");
163
+ }
164
+
165
+ var row = rows[index];
166
+ prepareRow(row);
167
+
168
+ var _row$getRowProps = row.getRowProps(),
169
+ rowStyle = _row$getRowProps.style,
170
+ rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
171
+
172
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
173
+ style: _objectSpread(_objectSpread(_objectSpread({}, style), rowStyle), {}, {
174
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
175
+ }),
176
+ className: classnames("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
177
+ onClick: function onClick() {
178
+ return onRowClick(row);
179
+ }
180
+ }), row.cells.map(function (cell) {
181
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
182
+ className: classnames("".concat(prefixCls, "-cell"))
183
+ }), cell.render('Cell'));
184
+ }));
185
+ };
186
+
187
+ var renderHeader = function renderHeader(len) {
188
+ return /*#__PURE__*/React.createElement("div", {
189
+ className: classnames("".concat(prefixCls, "-header"))
190
+ }, renderHeaderLeft ? renderHeaderLeft() : /*#__PURE__*/React.createElement("span", {
191
+ className: classnames("".concat(prefixCls, "-header-left"))
192
+ }, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
193
+ className: classnames("".concat(prefixCls, "-header-right"))
194
+ }, renderHeaderRight ? renderHeaderRight() : null));
195
+ };
196
+
197
+ var getNextSortDesc = function getNextSortDesc(currentDesc) {
198
+ var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
199
+ var sortOrder = arguments.length > 2 ? arguments[2] : undefined;
200
+ var descMap = new Map([['ascend', false], ['descend', true]]);
201
+ var directions = allSortDirections || sortDirections;
202
+
203
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
204
+ return descMap.get(sortOrder);
205
+ }
206
+
207
+ if (typeof currentDesc === 'undefined') {
208
+ return descMap.get(directions[ARRAY_FIRST_INDEX]);
209
+ }
210
+
211
+ var direction = currentDesc ? 'descend' : 'ascend';
212
+
213
+ var index = _.findIndex(directions, function (item) {
214
+ return item === direction;
215
+ });
216
+
217
+ var nextIndex = index + 1;
218
+ return descMap.get(directions[nextIndex]);
219
+ };
220
+
221
+ var getHeaderProps = function getHeaderProps(column) {
222
+ // @ts-ignore
223
+ var id = column.id,
224
+ isSortedDesc = column.isSortedDesc,
225
+ canSort = column.canSort,
226
+ sorter = column.sorter,
227
+ sortOrder = column.sortOrder,
228
+ sortDirections = column.sortDirections;
229
+ var toggleProps = column.getSortByToggleProps();
230
+
231
+ if (canSort) {
232
+ // client sort
233
+ return _objectSpread(_objectSpread({}, column.getHeaderProps(_objectSpread({}, toggleProps))), {}, {
234
+ onClick: function onClick(e) {
235
+ e.stopPropagation();
236
+
237
+ if (typeof toggleProps.onClick === 'function') {
238
+ // toggleProps.onClick(e);
239
+ var desc = getNextSortDesc(isSortedDesc, sortDirections, sortOrder);
240
+ var sortBy = {
241
+ id: typeof desc === 'undefined' ? '' : id,
242
+ desc: desc
243
+ };
244
+ setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
245
+ setSortDirection(sortBy);
246
+ onChange(sortBy);
247
+ }
248
+ }
249
+ });
250
+ }
251
+
252
+ if (sorter) {
253
+ // server sort
254
+ return _objectSpread(_objectSpread({}, column.getHeaderProps({
255
+ style: {
256
+ cursor: 'pointer'
257
+ }
258
+ })), {}, {
259
+ onClick: function onClick(e) {
260
+ e.stopPropagation(); // 需要触发onChange
261
+ // debugger;
262
+
263
+ var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
264
+ var sortBy = {
265
+ id: typeof desc === 'boolean' ? id : '',
266
+ desc: desc
267
+ };
268
+ setSortDirection(sortBy);
269
+ onChange(sortBy);
270
+ }
271
+ });
272
+ }
273
+
274
+ return column.getHeaderProps();
275
+ };
276
+
277
+ var SortIcons = function SortIcons(_ref4) {
278
+ var id = _ref4.id;
279
+ var currentSortId = sortDirection.id,
280
+ desc = sortDirection.desc;
281
+
282
+ if (id !== currentSortId || !sortable) {
283
+ return null;
284
+ }
285
+
286
+ return desc ? /*#__PURE__*/React.createElement(Icon, {
287
+ className: "".concat(prefixCls, "-sortIcon"),
288
+ type: "sort_descending",
289
+ size: 12
290
+ }) : /*#__PURE__*/React.createElement(Icon, {
291
+ className: "".concat(prefixCls, "-sortIcon"),
292
+ type: "sort_ascending",
293
+ size: 12
294
+ });
295
+ };
296
+
297
+ var renderTableBody = function renderTableBody() {
298
+ if (!loading && !rows.length) {
299
+ return /*#__PURE__*/React.createElement(Empty, {
300
+ description: "\u5F53\u524D\u65E0\u6570\u636E"
301
+ });
302
+ }
303
+
304
+ if (loadMoreItems) {
305
+ return /*#__PURE__*/React.createElement(InfiniteLoader, {
306
+ isItemLoaded: isItemLoaded,
307
+ itemCount: itemCount,
308
+ loadMoreItems: loadMoreItems
309
+ }, function (_ref5) {
310
+ var onItemsRendered = _ref5.onItemsRendered,
311
+ ref = _ref5.ref;
312
+ return /*#__PURE__*/React.createElement(FixedSizeList, {
313
+ itemCount: itemCount,
314
+ onItemsRendered: onItemsRendered,
315
+ height: bodyClientHeight,
316
+ itemSize: DEFAULT_ROW_HEIGHT,
317
+ width: resizeColumn ? theadRowWidthRef.current : '100%',
318
+ ref: ref,
319
+ className: "".concat(prefixCls, "-list")
320
+ }, RenderRow);
321
+ });
322
+ }
323
+
324
+ return /*#__PURE__*/React.createElement(FixedSizeList, {
325
+ itemCount: itemCount,
326
+ height: bodyClientHeight,
327
+ itemSize: DEFAULT_ROW_HEIGHT,
328
+ width: resizeColumn ? theadRowWidthRef.current : '100%',
329
+ className: "".concat(prefixCls, "-list")
330
+ }, RenderRow);
331
+ };
332
+
333
+ return /*#__PURE__*/React.createElement("div", {
334
+ className: prefixCls
335
+ }, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
336
+ className: classnames("".concat(prefixCls, "-table-wrap"), _defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
337
+ }), /*#__PURE__*/React.createElement("div", {
338
+ className: "".concat(prefixCls, "-thead")
339
+ }, headerGroups.map(function (headerGroup) {
340
+ var _headerGroup$getHeade = headerGroup.getHeaderGroupProps(),
341
+ style = _headerGroup$getHeade.style,
342
+ headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded2);
343
+
344
+ theadRowWidthRef.current = (style === null || style === void 0 ? void 0 : style.width) || DEFAULT_ROW_WIDTH;
345
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, headerGroupProps), {}, {
346
+ style: _objectSpread(_objectSpread({}, style), {}, {
347
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
348
+ }),
349
+ className: "".concat(prefixCls, "-row")
350
+ }), headerGroup.headers.map(function (column) {
351
+ var barPorps = resizeColumn ? column.getResizerProps() : {};
352
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
353
+ // {...column.getHeaderProps(column.getSortByToggleProps())}
354
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell"))
355
+ }, getHeaderProps(column)), {}, {
356
+ key: column.id
357
+ }), column.render('Header'), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, barPorps), {}, {
358
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
359
+ })), /*#__PURE__*/React.createElement(SortIcons, {
360
+ id: column.id
361
+ }));
362
+ }));
363
+ })), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableBodyProps()), {}, {
364
+ className: classnames("".concat(prefixCls, "-tbody")),
365
+ ref: tableBodyRef
366
+ }), renderTableBody())));
367
+ }
368
+
369
+ export default Table;
@@ -0,0 +1,35 @@
1
+ /// <reference types="react" />
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
+ }
19
+ export interface ITableProps<T extends object> {
20
+ columns: IColumn<T>[];
21
+ data: T[];
22
+ total?: number;
23
+ onRowSelected?: (row: T) => void;
24
+ loadMore?: (startIndex: number, stopIndex: number) => 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
+ }
@@ -0,0 +1 @@
1
+ export {};