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

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 (402) hide show
  1. package/README.md +22 -13
  2. package/es/Button/demo/Icon/index.d.ts +3 -0
  3. package/es/Button/demo/Icon/index.js +67 -0
  4. package/{src → es}/Button/demo/Icon/index.less +0 -0
  5. package/es/Button/demo/basic/index.d.ts +4 -0
  6. package/es/Button/demo/basic/index.js +57 -0
  7. package/{src → es}/Button/demo/basic/index.less +0 -1
  8. package/es/Button/demo/disable/index.d.ts +3 -0
  9. package/es/Button/demo/disable/index.js +23 -0
  10. package/{src → es}/Button/demo/disable/index.less +0 -0
  11. package/es/Button/demo/href/index.d.ts +2 -0
  12. package/es/Button/demo/href/index.js +17 -0
  13. package/es/Button/demo/loading/index.d.ts +3 -0
  14. package/es/Button/demo/loading/index.js +37 -0
  15. package/{src → es}/Button/demo/loading/index.less +0 -0
  16. package/es/Button/index.d.ts +50 -0
  17. package/es/Button/index.js +108 -0
  18. package/es/Button/style/index.d.ts +2 -0
  19. package/es/Button/style/index.js +2 -0
  20. package/{src → es}/Button/style/index.less +5 -5
  21. package/es/Dropdown/Button.d.ts +69 -0
  22. package/es/Dropdown/Button.js +39 -0
  23. package/es/Dropdown/demo/basic/index.d.ts +4 -0
  24. package/es/Dropdown/demo/basic/index.js +18 -0
  25. package/es/Dropdown/demo/button/index.d.ts +3 -0
  26. package/es/Dropdown/demo/button/index.js +159 -0
  27. package/{src → es}/Dropdown/demo/button/index.less +0 -0
  28. package/es/Dropdown/demo/placement/index.d.ts +2 -0
  29. package/es/Dropdown/demo/placement/index.js +40 -0
  30. package/es/Dropdown/demo/subMenu/index.d.ts +2 -0
  31. package/es/Dropdown/demo/subMenu/index.js +42 -0
  32. package/es/Dropdown/demo/trigger/index.d.ts +2 -0
  33. package/es/Dropdown/demo/trigger/index.js +17 -0
  34. package/es/Dropdown/index.d.ts +59 -0
  35. package/es/Dropdown/index.js +33 -0
  36. package/es/Dropdown/style/index.d.ts +2 -0
  37. package/es/Dropdown/style/index.js +2 -0
  38. package/{src → es}/Dropdown/style/index.less +0 -0
  39. package/es/Empty/index.d.ts +8 -0
  40. package/es/Empty/index.js +57 -0
  41. package/es/Empty/style/index.d.ts +1 -0
  42. package/es/Empty/style/index.js +1 -0
  43. package/es/Empty/style/index.less +23 -0
  44. package/{src → es}/Icon/iconfont/demo.css +0 -0
  45. package/{src → es}/Icon/iconfont/demo_index.html +49 -3
  46. package/es/Icon/iconfont/iconfont.css +101 -0
  47. package/es/Icon/iconfont/iconfont.js +46 -0
  48. package/{src → es}/Icon/iconfont/iconfont.json +14 -0
  49. package/es/Icon/iconfont/iconfont.ttf +0 -0
  50. package/es/Icon/iconfont/iconfont.woff +0 -0
  51. package/es/Icon/iconfont/iconfont.woff2 +0 -0
  52. package/es/Icon/index.d.ts +11 -0
  53. package/es/Icon/index.js +42 -0
  54. package/{src → es}/Icon/index.less +3 -3
  55. package/es/Input/components/Group/index.d.ts +14 -0
  56. package/es/Input/components/Group/index.js +12 -0
  57. package/es/Input/components/Password/index.d.ts +9 -0
  58. package/es/Input/components/Password/index.js +20 -0
  59. package/es/Input/components/TextArea/index.d.ts +52 -0
  60. package/es/Input/components/TextArea/index.js +14 -0
  61. package/es/Input/demo/allowClear/index.d.ts +3 -0
  62. package/es/Input/demo/allowClear/index.js +11 -0
  63. package/{src → es}/Input/demo/allowClear/index.less +0 -0
  64. package/es/Input/demo/basic/index.d.ts +4 -0
  65. package/es/Input/demo/basic/index.js +65 -0
  66. package/{src → es}/Input/demo/basic/index.less +1 -1
  67. package/es/Input/demo/gourp/index.d.ts +2 -0
  68. package/es/Input/demo/gourp/index.js +67 -0
  69. package/es/Input/demo/password/index.d.ts +3 -0
  70. package/es/Input/demo/password/index.js +21 -0
  71. package/{src → es}/Input/demo/password/index.less +0 -0
  72. package/es/Input/demo/prefix/index.d.ts +3 -0
  73. package/es/Input/demo/prefix/index.js +17 -0
  74. package/{src → es}/Input/demo/prefix/index.less +0 -0
  75. package/es/Input/demo/showCount/index.d.ts +3 -0
  76. package/es/Input/demo/showCount/index.js +17 -0
  77. package/{src → es}/Input/demo/showCount/index.less +0 -0
  78. package/es/Input/demo/textArea/autoSize.d.ts +2 -0
  79. package/es/Input/demo/textArea/autoSize.js +50 -0
  80. package/es/Input/index.d.ts +65 -0
  81. package/es/Input/index.js +46 -0
  82. package/es/Input/style/index.d.ts +2 -0
  83. package/es/Input/style/index.js +2 -0
  84. package/{src → es}/Input/style/index.less +4 -1
  85. package/es/Menu/Divider.d.ts +4 -0
  86. package/es/Menu/Divider.js +15 -0
  87. package/es/Menu/MenuItem.d.ts +17 -0
  88. package/es/Menu/MenuItem.js +15 -0
  89. package/es/Menu/SubMenu.d.ts +26 -0
  90. package/es/Menu/SubMenu.js +29 -0
  91. package/es/Menu/index.d.ts +20 -0
  92. package/es/Menu/index.js +31 -0
  93. package/es/Menu/style/index.d.ts +2 -0
  94. package/es/Menu/style/index.js +2 -0
  95. package/{src → es}/Menu/style/index.less +4 -0
  96. package/es/Navigator/components/Menu/index.d.ts +19 -0
  97. package/es/Navigator/components/Menu/index.js +187 -0
  98. package/es/Navigator/demo/basic/index.d.ts +4 -0
  99. package/es/Navigator/demo/basic/index.js +45 -0
  100. package/es/Navigator/demo/basic/index.less +3 -0
  101. package/es/Navigator/demo/example/index.d.ts +4 -0
  102. package/es/Navigator/demo/example/index.js +153 -0
  103. package/es/Navigator/demo/example/index.less +10 -0
  104. package/es/Navigator/demo/logo.png +0 -0
  105. package/es/Navigator/demo/menuWithFooter/index.d.ts +4 -0
  106. package/es/Navigator/demo/menuWithFooter/index.js +73 -0
  107. package/es/Navigator/demo/menuWithFooter/index.less +3 -0
  108. package/es/Navigator/demo/subMenu/index.d.ts +4 -0
  109. package/es/Navigator/demo/subMenu/index.js +71 -0
  110. package/es/Navigator/demo/subMenu/index.less +3 -0
  111. package/es/Navigator/index.d.ts +41 -0
  112. package/es/Navigator/index.js +45 -0
  113. package/es/Navigator/style/index.d.ts +2 -0
  114. package/es/Navigator/style/index.js +2 -0
  115. package/es/Navigator/style/index.less +224 -0
  116. package/es/Select/BaseSelect.d.ts +5 -0
  117. package/es/Select/BaseSelect.js +400 -0
  118. package/{src/Select/OptionsList/OptGroup.tsx → es/Select/OptionsList/OptGroup.d.ts} +2 -4
  119. package/es/Select/OptionsList/OptGroup.js +6 -0
  120. package/es/Select/OptionsList/OptionItem/RenderGroup.d.ts +9 -0
  121. package/es/Select/OptionsList/OptionItem/RenderGroup.js +16 -0
  122. package/es/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +8 -0
  123. package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +44 -0
  124. package/es/Select/OptionsList/OptionItem/RenderOption.d.ts +16 -0
  125. package/es/Select/OptionsList/OptionItem/RenderOption.js +79 -0
  126. package/es/Select/OptionsList/OptionItem/RenderTooltip.d.ts +8 -0
  127. package/es/Select/OptionsList/OptionItem/RenderTooltip.js +25 -0
  128. package/es/Select/OptionsList/OptionItem.d.ts +4 -0
  129. package/es/Select/OptionsList/OptionItem.js +4 -0
  130. package/es/Select/OptionsList/Options.d.ts +7 -0
  131. package/es/Select/OptionsList/Options.js +6 -0
  132. package/es/Select/OptionsList/index.d.ts +4 -0
  133. package/es/Select/OptionsList/index.js +187 -0
  134. package/es/Select/Selector/index.d.ts +4 -0
  135. package/es/Select/Selector/index.js +252 -0
  136. package/es/Select/VirtualList.d.ts +5 -0
  137. package/es/Select/VirtualList.js +29 -0
  138. package/es/Select/demo/disabled/index.d.ts +2 -0
  139. package/es/Select/demo/disabled/index.js +50 -0
  140. package/es/Select/demo/multiple/index.d.ts +2 -0
  141. package/es/Select/demo/multiple/index.js +140 -0
  142. package/es/Select/demo/options/index.d.ts +2 -0
  143. package/es/Select/demo/options/index.js +55 -0
  144. package/es/Select/demo/single/index.d.ts +3 -0
  145. package/es/Select/demo/single/index.js +89 -0
  146. package/es/Select/demo/single/index.less +5 -0
  147. package/es/Select/hooks/useCacheOption.d.ts +9 -0
  148. package/es/Select/hooks/useCacheOption.js +107 -0
  149. package/es/Select/index.d.ts +12 -0
  150. package/es/Select/index.js +9 -0
  151. package/es/Select/interface.d.ts +227 -0
  152. package/es/Select/interface.js +1 -0
  153. package/es/Select/style/index.d.ts +2 -0
  154. package/es/Select/style/index.js +2 -0
  155. package/{src → es}/Select/style/index.less +3 -10
  156. package/es/Select/utils.d.ts +21 -0
  157. package/es/Select/utils.js +193 -0
  158. package/es/Table/demo/basic/createData.d.ts +9 -0
  159. package/es/Table/demo/basic/createData.js +18 -0
  160. package/es/Table/demo/basic/index.d.ts +2 -0
  161. package/es/Table/demo/basic/index.js +64 -0
  162. package/es/Table/demo/editCell/index.d.ts +2 -0
  163. package/es/Table/demo/editCell/index.js +39 -0
  164. package/es/Table/demo/renderHeaderRight/index.d.ts +2 -0
  165. package/es/Table/demo/renderHeaderRight/index.js +37 -0
  166. package/es/Table/demo/rowSelect/index.d.ts +2 -0
  167. package/es/Table/demo/rowSelect/index.js +40 -0
  168. package/es/Table/demo/virtualList/index.d.ts +2 -0
  169. package/es/Table/demo/virtualList/index.js +88 -0
  170. package/es/Table/index.d.ts +5 -0
  171. package/es/Table/index.js +201 -0
  172. package/es/Table/interface.d.ts +14 -0
  173. package/es/Table/interface.js +1 -0
  174. package/es/Table/style/index.d.ts +2 -0
  175. package/es/Table/style/index.js +2 -0
  176. package/es/Table/style/index.less +111 -0
  177. package/es/Tabs/TabPane.d.ts +21 -0
  178. package/es/Tabs/TabPane.js +12 -0
  179. package/es/Tabs/demo/adaptHeight/index.d.ts +3 -0
  180. package/es/Tabs/demo/adaptHeight/index.js +19 -0
  181. package/{src → es}/Tabs/demo/adaptHeight/index.less +0 -0
  182. package/es/Tabs/demo/basic/index.d.ts +4 -0
  183. package/es/Tabs/demo/basic/index.js +44 -0
  184. package/{src → es}/Tabs/demo/basic/index.less +0 -0
  185. package/es/Tabs/demo/horizontalScroll/index.d.ts +3 -0
  186. package/es/Tabs/demo/horizontalScroll/index.js +30 -0
  187. package/{src → es}/Tabs/demo/horizontalScroll/index.less +0 -0
  188. package/es/Tabs/index.d.ts +41 -0
  189. package/es/Tabs/index.js +42 -0
  190. package/es/Tabs/style/index.d.ts +2 -0
  191. package/es/Tabs/style/index.js +2 -0
  192. package/{src → es}/Tabs/style/index.less +0 -0
  193. package/es/Tooltip/demo/basic/index.d.ts +2 -0
  194. package/es/Tooltip/demo/basic/index.js +7 -0
  195. package/es/Tooltip/demo/overflow/index.d.ts +2 -0
  196. package/es/Tooltip/demo/overflow/index.js +7 -0
  197. package/es/Tooltip/demo/placement/index.d.ts +6 -0
  198. package/es/Tooltip/demo/placement/index.js +70 -0
  199. package/{src → es}/Tooltip/demo/placement/index.less +0 -0
  200. package/es/Tooltip/demo/trigger/index.d.ts +3 -0
  201. package/es/Tooltip/demo/trigger/index.js +20 -0
  202. package/{src → es}/Tooltip/demo/trigger/index.less +0 -0
  203. package/es/Tooltip/index.d.ts +64 -0
  204. package/es/Tooltip/index.js +33 -0
  205. package/es/Tooltip/style/index.d.ts +2 -0
  206. package/es/Tooltip/style/index.js +2 -0
  207. package/{src → es}/Tooltip/style/index.less +0 -0
  208. package/es/_utils/hooks/useControlledState.d.ts +2 -0
  209. package/es/_utils/hooks/useControlledState.js +54 -0
  210. package/es/_utils/hooks/usePrefixCls.d.ts +2 -0
  211. package/es/_utils/hooks/usePrefixCls.js +14 -0
  212. package/es/index.d.ts +10 -0
  213. package/{src/index.ts → es/index.js} +3 -1
  214. package/es/style/index.d.ts +2 -0
  215. package/{src/style/index.ts → es/style/index.js} +0 -0
  216. package/{src → es}/style/index.less +0 -0
  217. package/{src → es}/style/mixins/index.less +0 -0
  218. package/{src → es}/style/themes/default/index.less +1 -1
  219. package/{lib/style/themes/default/themeColor.less → es/style/themes/default/themeColor.module.less} +0 -0
  220. package/es/style/themes/default/themeColor.module.less.d.ts +108 -0
  221. package/lib/Button/demo/basic/index.less +0 -1
  222. package/lib/Button/index.js +2 -2
  223. package/lib/Button/style/index.less +5 -5
  224. package/lib/Dropdown/demo/button/index.js +1 -1
  225. package/lib/Empty/index.d.ts +8 -0
  226. package/lib/Empty/index.js +71 -0
  227. package/lib/Empty/style/index.d.ts +1 -0
  228. package/lib/Empty/style/index.js +3 -0
  229. package/lib/Empty/style/index.less +23 -0
  230. package/lib/Icon/iconfont/demo_index.html +49 -3
  231. package/lib/Icon/iconfont/iconfont.css +11 -3
  232. package/lib/Icon/iconfont/iconfont.js +1 -1
  233. package/lib/Icon/iconfont/iconfont.json +14 -0
  234. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  235. package/lib/Icon/iconfont/iconfont.woff +0 -0
  236. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  237. package/lib/Icon/index.less +3 -3
  238. package/lib/Input/components/Group/index.d.ts +0 -1
  239. package/lib/Input/components/Password/index.d.ts +0 -1
  240. package/lib/Input/demo/basic/index.less +1 -1
  241. package/lib/Input/style/index.less +4 -1
  242. package/lib/Menu/Divider.d.ts +0 -1
  243. package/lib/Menu/style/index.less +4 -0
  244. package/lib/Navigator/components/Menu/index.d.ts +19 -0
  245. package/lib/Navigator/components/Menu/index.js +205 -0
  246. package/lib/Navigator/demo/basic/index.d.ts +4 -0
  247. package/lib/Navigator/demo/basic/index.js +62 -0
  248. package/lib/Navigator/demo/basic/index.less +3 -0
  249. package/lib/Navigator/demo/example/index.d.ts +4 -0
  250. package/lib/Navigator/demo/example/index.js +179 -0
  251. package/lib/Navigator/demo/example/index.less +10 -0
  252. package/lib/Navigator/demo/logo.png +0 -0
  253. package/lib/Navigator/demo/menuWithFooter/index.d.ts +4 -0
  254. package/lib/Navigator/demo/menuWithFooter/index.js +92 -0
  255. package/lib/Navigator/demo/menuWithFooter/index.less +3 -0
  256. package/lib/Navigator/demo/subMenu/index.d.ts +4 -0
  257. package/lib/Navigator/demo/subMenu/index.js +88 -0
  258. package/lib/Navigator/demo/subMenu/index.less +3 -0
  259. package/lib/Navigator/index.d.ts +41 -0
  260. package/lib/Navigator/index.js +64 -0
  261. package/lib/Navigator/style/index.d.ts +2 -0
  262. package/lib/Navigator/style/index.js +5 -0
  263. package/lib/Navigator/style/index.less +224 -0
  264. package/lib/Select/OptionsList/OptionItem/RenderGroup.d.ts +9 -0
  265. package/lib/Select/OptionsList/OptionItem/RenderGroup.js +27 -0
  266. package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +8 -0
  267. package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +58 -0
  268. package/lib/Select/OptionsList/OptionItem/RenderOption.d.ts +16 -0
  269. package/lib/Select/OptionsList/OptionItem/RenderOption.js +94 -0
  270. package/lib/Select/OptionsList/OptionItem/RenderTooltip.d.ts +8 -0
  271. package/lib/Select/OptionsList/OptionItem/RenderTooltip.js +37 -0
  272. package/lib/Select/OptionsList/OptionItem.d.ts +4 -35
  273. package/lib/Select/OptionsList/OptionItem.js +26 -172
  274. package/lib/Select/OptionsList/Options.d.ts +2 -2
  275. package/lib/Select/OptionsList/index.js +1 -1
  276. package/lib/Select/Selector/index.d.ts +2 -2
  277. package/lib/Select/Selector/index.js +13 -10
  278. package/lib/Select/demo/single/index.d.ts +1 -0
  279. package/lib/Select/demo/single/index.js +5 -1
  280. package/lib/Select/demo/single/index.less +5 -0
  281. package/lib/Select/interface.d.ts +8 -2
  282. package/lib/Select/style/index.less +3 -10
  283. package/lib/Table/demo/basic/createData.d.ts +9 -0
  284. package/lib/Table/demo/basic/createData.js +23 -0
  285. package/lib/Table/demo/basic/index.d.ts +2 -0
  286. package/lib/Table/demo/basic/index.js +80 -0
  287. package/lib/Table/demo/editCell/index.d.ts +2 -0
  288. package/lib/Table/demo/editCell/index.js +54 -0
  289. package/lib/Table/demo/renderHeaderRight/index.d.ts +2 -0
  290. package/lib/Table/demo/renderHeaderRight/index.js +52 -0
  291. package/lib/Table/demo/rowSelect/index.d.ts +2 -0
  292. package/lib/Table/demo/rowSelect/index.js +55 -0
  293. package/lib/Table/demo/virtualList/index.d.ts +2 -0
  294. package/lib/Table/demo/virtualList/index.js +103 -0
  295. package/lib/Table/index.d.ts +5 -0
  296. package/lib/Table/index.js +225 -0
  297. package/lib/Table/interface.d.ts +14 -0
  298. package/lib/Table/interface.js +5 -0
  299. package/lib/Table/style/index.d.ts +2 -0
  300. package/lib/Table/style/index.js +5 -0
  301. package/lib/Table/style/index.less +111 -0
  302. package/lib/Tooltip/index.d.ts +1 -0
  303. package/lib/Tooltip/index.js +3 -1
  304. package/lib/index.d.ts +2 -0
  305. package/lib/index.js +16 -0
  306. package/lib/style/themes/default/index.less +1 -1
  307. package/{src/style/themes/default/themeColor.less → lib/style/themes/default/themeColor.module.less} +0 -0
  308. package/lib/style/themes/default/themeColor.module.less.d.ts +108 -0
  309. package/package.json +24 -8
  310. package/.editorconfig +0 -16
  311. package/.eslintrc.js +0 -43
  312. package/.fatherrc.ts +0 -16
  313. package/.prettierignore +0 -7
  314. package/.prettierrc.js +0 -1
  315. package/.stylelintrc.json +0 -36
  316. package/.umirc.ts +0 -15
  317. package/commitlint.config.js +0 -21
  318. package/docs/index.md +0 -21
  319. package/jest/setupTests.js +0 -1
  320. package/public/favicon.ico +0 -0
  321. package/src/Button/demo/Icon/index.tsx +0 -41
  322. package/src/Button/demo/basic/index.tsx +0 -26
  323. package/src/Button/demo/disable/index.tsx +0 -16
  324. package/src/Button/demo/href/index.tsx +0 -14
  325. package/src/Button/demo/loading/index.tsx +0 -21
  326. package/src/Button/index.md +0 -25
  327. package/src/Button/index.test.tsx +0 -58
  328. package/src/Button/index.tsx +0 -136
  329. package/src/Button/style/index.ts +0 -2
  330. package/src/Dropdown/Button.tsx +0 -93
  331. package/src/Dropdown/demo/basic/index.tsx +0 -20
  332. package/src/Dropdown/demo/button/index.tsx +0 -98
  333. package/src/Dropdown/demo/placement/index.tsx +0 -47
  334. package/src/Dropdown/demo/subMenu/index.tsx +0 -35
  335. package/src/Dropdown/demo/trigger/index.tsx +0 -19
  336. package/src/Dropdown/index.md +0 -35
  337. package/src/Dropdown/index.test.tsx +0 -185
  338. package/src/Dropdown/index.tsx +0 -71
  339. package/src/Dropdown/style/index.ts +0 -2
  340. package/src/Icon/iconfont/iconfont.css +0 -93
  341. package/src/Icon/iconfont/iconfont.js +0 -1
  342. package/src/Icon/iconfont/iconfont.ttf +0 -0
  343. package/src/Icon/iconfont/iconfont.woff +0 -0
  344. package/src/Icon/iconfont/iconfont.woff2 +0 -0
  345. package/src/Icon/index.tsx +0 -38
  346. package/src/Input/components/Group/index.tsx +0 -21
  347. package/src/Input/components/Password/index.tsx +0 -23
  348. package/src/Input/components/TextArea/index.tsx +0 -57
  349. package/src/Input/demo/allowClear/index.tsx +0 -10
  350. package/src/Input/demo/basic/index.tsx +0 -25
  351. package/src/Input/demo/gourp/index.tsx +0 -30
  352. package/src/Input/demo/password/index.tsx +0 -11
  353. package/src/Input/demo/prefix/index.tsx +0 -13
  354. package/src/Input/demo/showCount/index.tsx +0 -16
  355. package/src/Input/demo/textArea/autoSize.tsx +0 -21
  356. package/src/Input/index.md +0 -37
  357. package/src/Input/index.test.tsx +0 -78
  358. package/src/Input/index.tsx +0 -91
  359. package/src/Input/style/index.ts +0 -2
  360. package/src/Menu/Divider.tsx +0 -12
  361. package/src/Menu/MenuItem.tsx +0 -24
  362. package/src/Menu/SubMenu.tsx +0 -37
  363. package/src/Menu/index.md +0 -36
  364. package/src/Menu/index.test.tsx +0 -144
  365. package/src/Menu/index.tsx +0 -27
  366. package/src/Menu/style/index.ts +0 -2
  367. package/src/Select/BaseSelect.tsx +0 -321
  368. package/src/Select/OptionsList/OptionItem.tsx +0 -151
  369. package/src/Select/OptionsList/Options.tsx +0 -11
  370. package/src/Select/OptionsList/index.tsx +0 -169
  371. package/src/Select/Selector/index.tsx +0 -211
  372. package/src/Select/VirtualList.tsx +0 -36
  373. package/src/Select/demo/disabled/index.tsx +0 -44
  374. package/src/Select/demo/multiple/index.tsx +0 -77
  375. package/src/Select/demo/options/index.tsx +0 -63
  376. package/src/Select/demo/single/index.tsx +0 -50
  377. package/src/Select/hooks/useCacheOption.ts +0 -67
  378. package/src/Select/index.md +0 -72
  379. package/src/Select/index.tsx +0 -23
  380. package/src/Select/interface.ts +0 -231
  381. package/src/Select/style/index.ts +0 -2
  382. package/src/Select/utils.tsx +0 -133
  383. package/src/Tabs/TabPane.tsx +0 -28
  384. package/src/Tabs/demo/adaptHeight/index.tsx +0 -33
  385. package/src/Tabs/demo/basic/index.tsx +0 -30
  386. package/src/Tabs/demo/horizontalScroll/index.tsx +0 -36
  387. package/src/Tabs/index.md +0 -30
  388. package/src/Tabs/index.test.tsx +0 -100
  389. package/src/Tabs/index.tsx +0 -64
  390. package/src/Tabs/style/index.ts +0 -2
  391. package/src/Tooltip/demo/basic/index.tsx +0 -10
  392. package/src/Tooltip/demo/overflow/index.tsx +0 -10
  393. package/src/Tooltip/demo/placement/index.tsx +0 -60
  394. package/src/Tooltip/demo/trigger/index.tsx +0 -22
  395. package/src/Tooltip/index.md +0 -28
  396. package/src/Tooltip/index.test.tsx +0 -152
  397. package/src/Tooltip/index.tsx +0 -113
  398. package/src/Tooltip/style/index.ts +0 -2
  399. package/src/_utils/hooks/useControlledState.ts +0 -39
  400. package/src/_utils/hooks/usePrefixCls.ts +0 -11
  401. package/tsconfig.json +0 -13
  402. package/typings.d.ts +0 -3
@@ -1,136 +0,0 @@
1
- import React from 'react';
2
- import { Button as AntdButton } from 'antd';
3
- import './style';
4
- import type {
5
- ButtonType as AntdButtonType,
6
- ButtonProps as AntdButtonProps,
7
- ButtonSize as AntdButtonSize,
8
- } from 'antd/lib/button';
9
- import classNames from 'classnames';
10
- import usePrefixCls from '../_utils/hooks/usePrefixCls';
11
-
12
- const iconPrefixCls = 'anticon';
13
- const ICON_LARGE = 20;
14
- const ICON_SMALL = 16;
15
- export type ButtonType = 'primary' | 'secondary' | 'danger' | 'text' | 'link';
16
- export type Size = 'small' | 'default' | 'large';
17
- export interface IButtonProps
18
- extends Omit<
19
- AntdButtonProps,
20
- 'type' | 'size' | 'danger' | 'shape' | 'icon' | 'href' | 'target' | 'onClick' | 'loading'
21
- > {
22
- /**
23
- * @description 类型
24
- * @type 'primary' | 'secondary' | 'danger' | 'text' | 'link'
25
- * @default primary
26
- */
27
- type?: ButtonType;
28
- /**
29
- * @description 尺寸
30
- * @type 'small' | 'default' | 'large'
31
- * @default large
32
- */
33
- size?: Size;
34
- /**
35
- * @description 是否禁用
36
- * @default false
37
- */
38
- disabled?: boolean;
39
- /**
40
- * @description 设置按钮的图标组件
41
- */
42
- icon?: React.ReactNode;
43
- shape?: 'circle' | 'default';
44
- /**
45
- * @description 指定此属性,点击行为和a链接一致
46
- */
47
- href?: string;
48
- /**
49
- * @description 相当于 a 链接的 target 属性,href 存在时生效
50
- */
51
- target?: string;
52
- /**
53
- * @description 点击按钮时的回调
54
- */
55
- onClick?: React.MouseEventHandler<HTMLElement>;
56
- /**
57
- * @description 设置按钮进入载入状态
58
- * @default false
59
- */
60
- loading?:
61
- | boolean
62
- | {
63
- delay?: number;
64
- };
65
- }
66
- function Button(props: IButtonProps) {
67
- const prefix = usePrefixCls('btn');
68
- const { type = 'primary', size = 'default', shape = 'default', icon, className, ...rest } = props;
69
-
70
- function getButtonType(buttonType: ButtonType): AntdButtonType {
71
- if (!['primary', 'secondary', 'danger', 'text', 'link'].includes(buttonType)) {
72
- return 'primary';
73
- }
74
- if (buttonType === 'danger') {
75
- return 'primary';
76
- }
77
- if (buttonType === 'secondary') {
78
- return 'default';
79
- }
80
- return buttonType;
81
- }
82
-
83
- function getDangerStatus(buttonType: ButtonType): boolean {
84
- if (buttonType === 'danger') {
85
- return true;
86
- }
87
- return false;
88
- }
89
-
90
- function getButtonSize(ButtonSize: Size): AntdButtonSize {
91
- switch (ButtonSize) {
92
- case 'small':
93
- return 'small';
94
- case 'large':
95
- return 'large';
96
- default:
97
- return 'middle';
98
- }
99
- }
100
-
101
- function getShape(ButtonShape: 'circle' | 'default'): 'circle' | 'default' {
102
- if (ButtonShape === 'circle') {
103
- return ButtonShape;
104
- }
105
- return 'default';
106
- }
107
- const setIcon = (iconNode: React.ReactElement) => {
108
- if (iconNode) {
109
- const p = {
110
- className: '',
111
- size: ICON_LARGE,
112
- ...iconNode.props,
113
- };
114
- // eslint-disable-next-line
115
- p.className = classNames(`${iconPrefixCls}-icon-left`, p.className);
116
- // eslint-disable-next-line
117
- p.size = size === 'large' ? ICON_LARGE : ICON_SMALL;
118
- return React.cloneElement(iconNode, p);
119
- }
120
- return <></>;
121
- };
122
- return (
123
- <AntdButton
124
- {...rest}
125
- icon={setIcon(icon as React.ReactElement)}
126
- type={getButtonType(type)}
127
- className={classNames(`${prefix}-${type}`, className)}
128
- size={getButtonSize(size)}
129
- danger={getDangerStatus(type)}
130
- shape={getShape(shape)}
131
- >
132
- {props.children}
133
- </AntdButton>
134
- );
135
- }
136
- export default Button;
@@ -1,2 +0,0 @@
1
- import '../../style'
2
- import './index.less';
@@ -1,93 +0,0 @@
1
- import React, { ReactElement } from 'react';
2
- import Button, { ButtonType, Size} from '../Button';
3
- // eslint-disable-next-line import/no-cycle
4
- import Dropdown from './index';
5
- import Icon from '../Icon';
6
- import './style'
7
-
8
- export type ActionType = 'hover' | 'click' | 'contextMenu';
9
-
10
- export interface IDropdownButton {
11
- /**
12
- * @description 类型
13
- * @type 'primary' | 'secondary' | 'danger' | 'text' | 'link'
14
- * @default primary
15
- */
16
- type?: ButtonType;
17
- /**
18
- * @description 尺寸
19
- * @type 'small' | 'default' | 'large'
20
- * @default large
21
- */
22
- size?: Size;
23
- /**
24
- * @description 是否禁用
25
- * @default false
26
- */
27
- disabled?: boolean;
28
- /**
29
- * @description 设置按钮的图标组件
30
- */
31
- icon?: React.ReactNode;
32
- /**
33
- * @description 设置按钮进入载入状态
34
- * @default false
35
- */
36
- loading?: boolean | {
37
- delay?: number;
38
- };
39
- /**
40
- * @description 菜单
41
- * @type Menu | () => Menu
42
- * @default -
43
- */
44
- overlay: ReactElement | (() => ReactElement);
45
- /**
46
- * @description 菜单弹出位置
47
- * @default bottomLeft
48
- */
49
- placement?: 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight';
50
- /**
51
- * @description 触发下拉的行为
52
- * @type ActionType[], 其中 ActionType 为 'hover' | 'click' | 'contextMenu';
53
- * @default [hover]
54
- */
55
- trigger?: ActionType[];
56
- /**
57
- * @description 菜单是否显示
58
- * @default -
59
- */
60
- visible?: boolean;
61
- /**
62
- * @description 菜单显示状态改变时调用,参数为 visible,点击菜单按钮导致的消失不会触发
63
- * @default -
64
- */
65
- onVisibleChange?: (visible: boolean) => void;
66
- /**
67
- * @description 点击按钮时的回调
68
- * FIXME: onClick和trigger冲突,antd按钮和下拉菜单触发区域不同,需要和视觉确认
69
- */
70
- onClick?: React.MouseEventHandler<HTMLElement>;
71
- children?: React.ReactNode;
72
- className?: string;
73
- }
74
-
75
- export default function DropdownButton(props: IDropdownButton) {
76
- const { children, overlay, placement, trigger, visible, disabled, onVisibleChange, ...buttonProps } = props;
77
-
78
- return (
79
- <Dropdown
80
- overlay={overlay}
81
- placement={placement}
82
- trigger={trigger}
83
- visible={visible}
84
- disabled={disabled}
85
- onVisibleChange={onVisibleChange}
86
- >
87
- <Button {...buttonProps}>
88
- {children}
89
- <Icon type="expand_more" />
90
- </Button>
91
- </Dropdown>
92
- );
93
- }
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- import { Dropdown, Menu } from '@aloudata/aloudata-design';
3
- import '../../style/index.less';
4
- import '../../../Menu/style/index.less';
5
- const MenuItem = Menu.Item;
6
-
7
- export default () => {
8
- const menu = (
9
- <Menu>
10
- <MenuItem key={1}>1st menu item</MenuItem>
11
- <MenuItem key={2} disabled>2nd menu item</MenuItem>
12
- <MenuItem key={3}>3nd menu item</MenuItem>
13
- </Menu>
14
- );
15
- return (
16
- <Dropdown overlay={menu}>
17
- <span>Hover me</span>
18
- </Dropdown>
19
- );
20
- }
@@ -1,98 +0,0 @@
1
- import React, { Dispatch, SetStateAction, useState } from 'react';
2
- import Icon from '../../../Icon';
3
- import Radio, { RadioChangeEvent } from 'antd/lib/radio';
4
- import { Dropdown, Menu } from '@aloudata/aloudata-design';
5
- import './index.less';
6
-
7
- const DropdownButton = Dropdown.Button;
8
-
9
- export default () => {
10
- const [size, setSize] = useState('default');
11
- const [type, setType] = useState('primary');
12
- const [disabled, setDisabled] = useState(false);
13
- const [isIcon, setIsIcon] = useState(false);
14
- const [loading, setLoading] = useState(false);
15
- const [placement, setPlacement] = useState('bottomLeft');
16
-
17
- const menu = (
18
- <Menu>
19
- <Menu.Item key="1">1st menu item</Menu.Item>
20
- <Menu.Item key="2">2nd menu item</Menu.Item>
21
- <Menu.Item key="3">3rd menu item, long long content</Menu.Item>
22
- </Menu>
23
- );
24
-
25
- function onChangeValue<T>(setCallback: Dispatch<SetStateAction<T>>) {
26
- return (e: RadioChangeEvent) => setCallback(e.target.value);
27
- }
28
-
29
- return (
30
- <div className="demo-dropdown-button">
31
- <div>
32
- <div className="row">
33
- <span className="title">type:</span>
34
- <Radio.Group value={type} onChange={onChangeValue<string>(setType)}>
35
- <Radio value="primary">primary</Radio>
36
- <Radio value="secondary">secondary</Radio>
37
- <Radio value="danger">danger</Radio>
38
- <Radio value="text">text</Radio>
39
- <Radio value="link">link</Radio>
40
- </Radio.Group>
41
- </div>
42
- <div className="row">
43
- <span className="title">size:</span>
44
- <Radio.Group value={size} onChange={onChangeValue<string>(setSize)}>
45
- <Radio value="large">large</Radio>
46
- <Radio value="default">default</Radio>
47
- <Radio value="small">small</Radio>
48
- </Radio.Group>
49
- </div>
50
- <div className="row">
51
- <span className="title">disabled:</span>
52
- <Radio.Group value={disabled} onChange={onChangeValue<boolean>(setDisabled)}>
53
- <Radio value={true}>true</Radio>
54
- <Radio value={false}>false</Radio>
55
- </Radio.Group>
56
- </div>
57
- <div className="row">
58
- <span className="title">icon button:</span>
59
- <Radio.Group value={isIcon} onChange={onChangeValue<boolean>(setIsIcon)}>
60
- <Radio value={true}>icon button</Radio>
61
- <Radio value={false}>not icon button</Radio>
62
- </Radio.Group>
63
- </div>
64
- <div className="row">
65
- <span className="title">loading:</span>
66
- <Radio.Group value={loading} onChange={onChangeValue<boolean>(setLoading)}>
67
- <Radio value={true}>loading</Radio>
68
- <Radio value={false}>not loading</Radio>
69
- </Radio.Group>
70
- </div>
71
- <div className="row">
72
- <span className="title">placement:</span>
73
- <Radio.Group value={placement} onChange={onChangeValue<string>(setPlacement)}>
74
- <Radio value="bottomLeft">bottomLeft</Radio>
75
- <Radio value="bottomCenter">bottomCenter</Radio>
76
- <Radio value="bottomRight">bottomRight</Radio>
77
- <Radio value="topLeft">topLeft</Radio>
78
- <Radio value="topCenter">topCenter</Radio>
79
- <Radio value="topRight">topRight</Radio>
80
- </Radio.Group>
81
- </div>
82
- </div>
83
- <div>
84
- <DropdownButton
85
- overlay={menu}
86
- icon={isIcon && <Icon type="Positioning" />}
87
- loading={loading}
88
- disabled={disabled}
89
- size={size}
90
- type={type}
91
- placement={placement}
92
- >
93
- {isIcon ? null : 'Button Content'}
94
- </DropdownButton>
95
- </div>
96
- </div>
97
- );
98
- };
@@ -1,47 +0,0 @@
1
- import React from 'react';
2
- import Button from 'antd/lib/button';
3
- import Space from 'antd/lib/space';
4
- import { Dropdown, Menu } from '@aloudata/aloudata-design';
5
-
6
- const menu = (
7
- <Menu>
8
- <Menu.Item key={1}>
9
- 1st menu item
10
- </Menu.Item>
11
- <Menu.Item key={2}>
12
- 2nd menu item
13
- </Menu.Item>
14
- <Menu.Item key={3}>
15
- 3rd menu item
16
- </Menu.Item>
17
- </Menu>
18
- );
19
-
20
- export default () => (
21
- <div className="demo-dropdown-placement">
22
- <Space direction="vertical">
23
- <Space wrap>
24
- <Dropdown overlay={menu} placement="bottomLeft">
25
- <Button>bottomLeft</Button>
26
- </Dropdown>
27
- <Dropdown overlay={menu} placement="bottomCenter">
28
- <Button>bottomCenter</Button>
29
- </Dropdown>
30
- <Dropdown overlay={menu} placement="bottomRight">
31
- <Button>bottomRight</Button>
32
- </Dropdown>
33
- </Space>
34
- <Space wrap>
35
- <Dropdown overlay={menu} placement="topLeft">
36
- <Button>topLeft</Button>
37
- </Dropdown>
38
- <Dropdown overlay={menu} placement="topCenter">
39
- <Button>topCenter</Button>
40
- </Dropdown>
41
- <Dropdown overlay={menu} placement="topRight">
42
- <Button>topRight</Button>
43
- </Dropdown>
44
- </Space>
45
- </Space>
46
- </div>
47
- );
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { message} from 'antd';
3
- import { Dropdown, Menu } from '@aloudata/aloudata-design';
4
-
5
- const MenuItem = Menu.Item;
6
- const SubMenu = Menu.SubMenu;
7
- const MenuDivider = Menu.Divider;
8
-
9
- export default () => {
10
- const menu = (
11
- <Menu onClick={(info: { key: string }) => {
12
- message.info(`Click on menu item ${info.key}`);
13
- }}>
14
- <MenuItem key={1}>1st menu item</MenuItem>
15
- <MenuItem key={2} disabled>2nd menu item</MenuItem>
16
- <MenuItem key={3}>3nd menu item</MenuItem>
17
- <MenuDivider />
18
- <SubMenu key={4} title="sub menu">
19
- <MenuItem key={5}>Sub menu item5</MenuItem>
20
- <MenuItem key={6}>Sub menu item6Sub menu item6Sub menu item6Sub menu item6</MenuItem>
21
- <MenuItem key={7}>Sub menu item7</MenuItem>
22
- <SubMenu key={8} title="sub menu">
23
- <MenuItem key={9}>Sub menu item9</MenuItem>
24
- <MenuItem key={10}>Sub menu item10</MenuItem>
25
- <MenuItem key={11}>Sub menu item11</MenuItem>
26
- </SubMenu>
27
- </SubMenu>
28
- </Menu>
29
- );
30
- return (
31
- <Dropdown overlay={menu}>
32
- <span>Hover me</span>
33
- </Dropdown>
34
- );
35
- }
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { Dropdown, Menu } from '@aloudata/aloudata-design';
3
-
4
- const MenuItem = Menu.Item;
5
-
6
- export default () => {
7
- const menu = (
8
- <Menu>
9
- <MenuItem key={1}>1st menu item</MenuItem>
10
- <MenuItem key={2} disabled>2nd menu item</MenuItem>
11
- <MenuItem key={3}>3nd menu item</MenuItem>
12
- </Menu>
13
- );
14
- return (
15
- <Dropdown overlay={menu} trigger={['click']}>
16
- <span>Click me</span>
17
- </Dropdown>
18
- );
19
- }
@@ -1,35 +0,0 @@
1
- ---
2
- # nav:
3
- # title: 组件
4
- # path: /components
5
- title: Dropdown 下拉菜单
6
- group:
7
- title: 组件
8
- ---
9
-
10
- # Dropdown 下拉菜单
11
-
12
- 向下弹出的列表
13
-
14
- ## 代码演示
15
-
16
- <code src="./demo/basic" title="基本" description="最简单的用法">
17
-
18
- <code src="./demo/placement" title="弹出位置" description="支持6个弹出位置">
19
-
20
- <code src="./demo/trigger" title="触发方式" description="点击触发下拉菜单">
21
-
22
- <code src="./demo/subMenu" title="多级菜单" description="传入的菜单有多个层级">
23
-
24
- <code src="./demo/button" title="带下拉框的按钮" description="按钮和下拉框结合">
25
-
26
-
27
- ## API
28
-
29
- ### Dropdown
30
-
31
- <API exports='["default"]' hideTitle />
32
-
33
- ### Dropdown.Button
34
-
35
- <API exports='["default.Button"]' hideTitle />
@@ -1,185 +0,0 @@
1
- import '@testing-library/jest-dom';
2
- import { render, screen, fireEvent, waitFor } from '@testing-library/react';
3
- import Menu from '../Menu';
4
- import React from 'react';
5
- import { act } from 'react-dom/test-utils';
6
- import Dropdown from './index';
7
-
8
- const menu = (
9
- <Menu>
10
- <Menu.Item key="1">1st menu item</Menu.Item>
11
- <Menu.Item key="2">2nd menu item</Menu.Item>
12
- </Menu>
13
- );
14
-
15
- describe('Dropdown', () => {
16
- it('destroyPopupOnHide', () => {
17
- const msg = 'trigger';
18
- const { rerender } = render(<Dropdown visible overlay={menu} destroyPopupOnHide><span>{msg}</span></Dropdown>);
19
- rerender(<Dropdown visible={false} overlay={menu} destroyPopupOnHide><span>{msg}</span></Dropdown>);
20
-
21
- expect(screen.queryByText('1st menu item')).toBeNull();
22
- });
23
-
24
- it('getPopupContainer', async () => {
25
- const container = document.createElement('div');
26
- container.classList.add('container');
27
- document.body.appendChild(container);
28
-
29
- await act(async () => {
30
- render(<Dropdown visible overlay={menu} getPopupContainer={() => container}><span>trigger</span></Dropdown>);
31
- // 加下面这行的原因是,不加时会报menu的state在act外部变化的异常
32
- await waitFor(() => {
33
- return document.querySelector('.container .ant-dropdown');
34
- });
35
- });
36
-
37
- expect(document.querySelector('.container .ant-dropdown')).not.toBeNull();
38
-
39
- document.body.removeChild(container);
40
- });
41
-
42
- it('overlay callback menu', async () => {
43
- await act(async () => {
44
- render(<Dropdown visible overlay={() => menu}><span>trigger</span></Dropdown>);
45
- // 加下面这行的原因是,不加时会报menu的state在act外部变化的异常
46
- await waitFor(() => {
47
- return screen.queryByText('1st menu item');
48
- });
49
- });
50
-
51
- expect(screen.queryByText('1st menu item')).not.toBeNull();
52
- });
53
-
54
- it('overlayClassName', async () => {
55
- const overlayClassName = 'overlayClassName';
56
- await act(async () => {
57
- render(<Dropdown visible overlay={menu} overlayClassName={overlayClassName}><span>trigger</span></Dropdown>);
58
- // 加下面这行的原因是,不加时会报menu的state在act外部变化的异常
59
- await waitFor(() => {
60
- return screen.queryByText('1st menu item');
61
- });
62
- });
63
- expect(document.querySelector(`.${overlayClassName}.ant-dropdown`)).not.toBeNull();
64
- });
65
-
66
- it('visible', async () => {
67
- const msg = 'visible';
68
-
69
- await act(async () => {
70
- const { rerender } = render(<Dropdown visible overlay={menu}><span>{msg}</span></Dropdown>);
71
- rerender(<Dropdown visible={false} overlay={menu}><span>{msg}</span></Dropdown>);
72
- await waitFor(() => {
73
- return document.querySelector('.ant-dropdown');
74
- });
75
- });
76
-
77
- expect(
78
- document.querySelector('.ant-dropdown.ant-dropdown-hidden'),
79
- ).not.toBeNull();
80
- });
81
-
82
- it('onVisibleChange', async () => {
83
- jest.useFakeTimers();
84
-
85
- const className = 'onVisibleChangeClassName';
86
-
87
- let visible = false;
88
- const onVisibleChange = (newVisible: boolean) => {
89
- visible = newVisible;
90
- };
91
-
92
- await act(async () => {
93
- render(<Dropdown overlay={menu} onVisibleChange={onVisibleChange}><span className={className}>trigger</span></Dropdown>);
94
- });
95
-
96
- const innerDom = document.querySelector(`.${className}`);
97
- fireEvent.mouseEnter(innerDom!);
98
-
99
- await act(async () => {
100
- // menu内容出现后,依然没有触发onVisibleChange,测试了延时超过150ms,能触发onVisibleChange,没有搞清原理
101
- const DELAY_TIME = 150;
102
- jest.advanceTimersByTime(DELAY_TIME);
103
- await waitFor(() => {
104
- return document.querySelector('.ant-dropdown');
105
- });
106
- });
107
- expect(visible).toBeTruthy();
108
-
109
- jest.runOnlyPendingTimers();
110
- jest.useRealTimers();
111
- });
112
- });
113
-
114
- describe('Dropdown.Button', () => {
115
- it('overlay callback menu', async () => {
116
- await act(async () => {
117
- render(<Dropdown.Button visible overlay={() => menu}><span>trigger</span></Dropdown.Button>);
118
- // 加下面这行的原因是,不加时会报menu的state在act外部变化的异常
119
- await waitFor(() => {
120
- return screen.queryByText('1st menu item');
121
- });
122
- });
123
-
124
- expect(screen.queryByText('1st menu item')).not.toBeNull();
125
- });
126
-
127
- it('visible', async () => {
128
- const msg = 'visible';
129
-
130
- await act(async () => {
131
- const { rerender } = render(<Dropdown.Button visible overlay={menu}><span>{msg}</span></Dropdown.Button>);
132
- rerender(<Dropdown.Button visible={false} overlay={menu}><span>{msg}</span></Dropdown.Button>);
133
- await waitFor(() => {
134
- return document.querySelector('.ant-dropdown');
135
- });
136
- });
137
-
138
- expect(
139
- document.querySelector('.ant-dropdown.ant-dropdown-hidden'),
140
- ).not.toBeNull();
141
- });
142
-
143
- it('onVisibleChange', async () => {
144
- jest.useFakeTimers();
145
-
146
- const className = 'onVisibleChangeClassName';
147
-
148
- let visible = false;
149
- const onVisibleChange = (newVisible: boolean) => {
150
- visible = newVisible;
151
- };
152
-
153
- await act(async () => {
154
- render(<Dropdown.Button overlay={menu} onVisibleChange={onVisibleChange}><span className={className}>trigger</span></Dropdown.Button>);
155
- });
156
-
157
- const innerDom = document.querySelector(`.${className}`);
158
- fireEvent.mouseEnter(innerDom!);
159
-
160
- await act(async () => {
161
- // menu内容出现后,依然没有触发onVisibleChange,测试了延时超过150ms,能触发onVisibleChange,没有搞清原理
162
- const DELAY_TIME = 150;
163
- jest.advanceTimersByTime(DELAY_TIME);
164
- await waitFor(() => {
165
- return document.querySelector('.ant-dropdown');
166
- });
167
- });
168
- expect(visible).toBeTruthy();
169
-
170
- jest.runOnlyPendingTimers();
171
- jest.useRealTimers();
172
- });
173
-
174
- it('onClick', async () => {
175
- const fn = jest.fn();
176
- await act(async () => {
177
- render(<Dropdown.Button visible overlay={menu} onClick={fn}><span>trigger</span></Dropdown.Button>);
178
- await waitFor(() => {
179
- return document.querySelector('.ant-dropdown');
180
- });
181
- });
182
- screen.queryByText('trigger')?.closest('span')?.click();
183
- expect(fn).toHaveBeenCalled();
184
- });
185
- });