@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
@@ -1,27 +0,0 @@
1
- import classNames from 'classnames';
2
- import React from 'react';
3
- import { Menu as AntdMenu} from 'antd';
4
- import MenuItem from './MenuItem';
5
- import Divider from './Divider';
6
- import SubMenu from './SubMenu';
7
- import type { MenuClickEventHandler } from 'rc-menu/lib/interface';
8
- import './style';
9
-
10
- export interface IMenuProps {
11
- /**
12
- * @description 点击 MenuItem 调用此函数
13
- * @default -
14
- */
15
- onClick?: MenuClickEventHandler;
16
- className?: string;
17
- children?: React.ReactNode | React.ReactNode[];
18
- }
19
-
20
- export default function Menu(props: IMenuProps) {
21
- const { className, ...otherProps } = props;
22
- return <AntdMenu className={classNames(className, 'ald-menu')} {...otherProps} />;
23
- }
24
-
25
- Menu.Item = MenuItem;
26
- Menu.Divider = Divider;
27
- Menu.SubMenu = SubMenu;
@@ -1,2 +0,0 @@
1
- import '../../style'
2
- import './index.less';
@@ -1,321 +0,0 @@
1
- import React, { useState, useMemo, useRef, useEffect, ReactText } from 'react';
2
- import classnames from 'classnames';
3
- import { filter, isNil, without } from 'lodash';
4
- import Selector from './Selector';
5
- import OptionsList from './OptionsList';
6
- import usePrefixCls from '../_utils/hooks/usePrefixCls';
7
- import { ISelectProps as SelectProps, IOption as Option, TMaybeArray as MaybeArray, IOptionProps as OptionProps } from './interface';
8
- import Trigger from 'rc-trigger';
9
- import {
10
- convertChildrenToData,
11
- handleOptions,
12
- defaultLabelRenderer,
13
- defaultSearchPredicate,
14
- defaultOptionLabelRenderer,
15
- getFlattenOptions,
16
- } from './utils';
17
- import useCacheOptions from './hooks/useCacheOption';
18
- import useControlledState from '../_utils/hooks/useControlledState';
19
-
20
- const DEFAULT_LIST_HEIGHT = 256;
21
- const DEFAULT_ACTIVE_INDEX = -1;
22
- const ZERO = 0;
23
- export const Select = (props: SelectProps, ref: React.MutableRefObject<HTMLDivElement>) => {
24
- const {
25
- size = 'default',
26
- options = [],
27
- defaultValue = null,
28
- value: controlledValue,
29
- multiple = false,
30
- placeholder,
31
- disabled = false,
32
- customizePrefixCls,
33
- label,
34
- className,
35
- style,
36
- optionStyle,
37
- groupStyle,
38
- allowClear = false,
39
- listHeight = DEFAULT_LIST_HEIGHT,
40
- listRowHeight,
41
- labelRenderer = defaultLabelRenderer,
42
- searchPredicate = defaultSearchPredicate,
43
- optionLabelRenderer = defaultOptionLabelRenderer,
44
- onChange,
45
- onSelect,
46
- onClear,
47
- getContainer,
48
- open,
49
- defaultOpen = false,
50
- onDropDownVisibleChange,
51
- dropDownClassName,
52
- dropDownStyle,
53
- dropdownMatchSelectWidth = 'width',
54
- children,
55
- } = props;
56
- const prefix = usePrefixCls('select-legacy', customizePrefixCls);
57
- const [value, setSelectValue] = useControlledState(controlledValue, defaultValue);
58
- const [tempValue, setTempValue] = useState<React.ReactText[]>([]);
59
- const [isFocused, setFocused] = useState<boolean>(false);
60
- const [_visible, _setVisible] = useState<boolean>(defaultOpen);
61
- const visible = isNil(open) ? _visible : open;
62
- const setVisible = isNil(onDropDownVisibleChange) ? _setVisible : onDropDownVisibleChange;
63
- const [input, setInput] = useState('');
64
- const selectRef = useRef<HTMLDivElement>(null);
65
- const optionListRef = useRef(null);
66
- const selectorRef = ref || selectRef;
67
- // empty
68
- // keydown
69
- const [activeIndex, setActiveIndex] = useState<number>(DEFAULT_ACTIVE_INDEX);
70
- const [optionChecked, setOptionChecked] = useState<React.ReactText[]>([]);
71
- // Exhibition value (tempvalue + value);
72
- const selectorValue = useMemo(() => {
73
- if (Array.isArray(value)) {
74
- // filter: if v in value and tempValue no Exhibition
75
- return value.concat(tempValue).filter((v) => !value.includes(v) || !tempValue.includes(v));
76
- }
77
- if (multiple) {
78
- return tempValue;
79
- }
80
- return value;
81
- }, [value, multiple, tempValue]);
82
-
83
- useEffect(() => {
84
- if (!disabled) {
85
- if (visible) {
86
- selectorRef?.current?.focus();
87
- setFocused(visible);
88
- } else {
89
- setActiveIndex(DEFAULT_ACTIVE_INDEX);
90
- setFocused(visible);
91
- // @ts-ignore
92
- optionListRef?.current?.onBlur();
93
- }
94
- }
95
- // eslint-disable-next-line react-hooks/exhaustive-deps
96
- }, [visible, disabled]);
97
- /** merge Option & nodeOption & mergedOptionsMap */
98
- // @ts-ignore
99
- const nodesToOptions = useMemo<OptionProps[]>(() => convertChildrenToData(children), [children]);
100
- const { setCacheOptions, getOptionByValue, getOptionsByValue, updateGroup, hasGroup } = useCacheOptions();
101
- const { flattenOptions: mergedFlattenOPtions } = useMemo(
102
- // @ts-ignore
103
- () => handleOptions([...options, ...nodesToOptions], setCacheOptions, updateGroup),
104
- [nodesToOptions, options, setCacheOptions, updateGroup]
105
- );
106
-
107
- // input change
108
- const onInputChange = (_value: string) => {
109
- setInput(_value);
110
- };
111
- // clear
112
- const clearInput = () => setInput('');
113
-
114
- // dropdown visible
115
- const onVisibleChange = (optVisible: boolean) => {
116
- if (!disabled) {
117
- setVisible(optVisible);
118
- if (!optVisible) {
119
- setTimeout(clearInput, ZERO);
120
- selectorRef.current?.blur();
121
- }
122
- }
123
- };
124
-
125
- // tempValue change methods
126
- const onTempValueChange = (values: React.ReactText[]) => {
127
- // value is array
128
- const concatValue = isNil(value)
129
- ? values
130
- : values.concat(value).filter((v) => !(value as React.ReactText[])?.includes(v) || !values?.includes(v));
131
- onChange?.(concatValue, getOptionsByValue(concatValue));
132
- onVisibleChange(false);
133
- setSelectValue(concatValue);
134
- // clear tempValue
135
- setTempValue([]);
136
- };
137
- const deleteValue = (optValue: React.ReactText[], v: React.ReactText) => {
138
- return tempValue.includes(v)
139
- ? onTempValueChange(without((optValue as MaybeArray<string>) || [], v))
140
- : onValueChange(without((optValue as MaybeArray<string>) || [], v));
141
- };
142
- const setTempValueFC = (tempvalues: React.ReactText[]) => {
143
- setTempValue(tempvalues);
144
- };
145
-
146
- const onListSelect = (selectedValue: React.ReactText, option: Option) => {
147
- if (!multiple) {
148
- selectorRef.current?.blur();
149
- } else {
150
- selectorRef.current?.focus();
151
- }
152
- onSelect?.(selectedValue, option);
153
- };
154
-
155
- const onAllowClearClick = () => {
156
- if (input) {
157
- clearInput();
158
- }
159
- onValueChange(!multiple ? null : []);
160
- onClear?.();
161
- };
162
-
163
- // 选项点击
164
- const onOptionClick = (selectValue: React.ReactText) => {
165
- const selectedOption = getOptionByValue(selectValue) as Option;
166
- const isTempSelected = tempValue.includes(selectValue);
167
- const isSelected = !Array.isArray(value) ? value === selectValue : value.includes(selectValue);
168
- const isOptionChecked = optionChecked.includes(selectValue);
169
- if (!multiple) {
170
- onVisibleChange(false);
171
- }
172
- if (isTempSelected) {
173
- setTempValue((tempvalues) => without(tempvalues, selectValue) as unknown as [ReactText]);
174
- return;
175
- }
176
- // 点击的时候已经是被选中
177
- if (isSelected) {
178
- if (isOptionChecked) {
179
- onValueChange(Array.isArray(value) ? without((value as MaybeArray<string>) || [], selectValue) : null);
180
- setOptionChecked(without((value as MaybeArray<string>) || [], selectValue));
181
- } else {
182
- onValueChange(Array.isArray(value) ? [...optionChecked, selectValue] : null);
183
- setOptionChecked([...optionChecked, selectValue]);
184
- }
185
- } else {
186
- onListSelect(selectValue, selectedOption);
187
- if (Array.isArray(value)) {
188
- onValueChange([...value, selectValue]);
189
- setOptionChecked([...value, selectValue]);
190
- } else {
191
- onValueChange(!multiple ? selectValue : [selectValue]);
192
- setOptionChecked([selectValue]);
193
- }
194
- }
195
- };
196
-
197
- // search filter InputValue // match input(label === input)
198
- const filteredOptions: Option[] = useMemo(
199
- () => filter(mergedFlattenOPtions, searchPredicate(input)),
200
- [mergedFlattenOPtions, searchPredicate, input]
201
- );
202
-
203
- const flattenOptions = useMemo(() => getFlattenOptions(filteredOptions, false), [filteredOptions]);
204
- // value other methods
205
- const onValueChange = (optValue: MaybeArray<string | number> | null) => {
206
- setSelectValue(optValue);
207
- if (Array.isArray(optValue) && flattenOptions.length === optValue.length) {
208
- setOptionChecked([]);
209
- }
210
- if (isNil(optValue)) {
211
- onChange?.(null, null);
212
- } else {
213
- onChange?.(optValue, getOptionsByValue(optValue));
214
- }
215
- };
216
- const realSize = useMemo(() => {
217
- return ['small', 'default', 'large'].includes(size) ? size : 'default';
218
- }, [size]);
219
-
220
- const list = (
221
- <>
222
- <OptionsList
223
- ref={optionListRef}
224
- multiple={multiple}
225
- prefixCls={prefix}
226
- selected={selectorValue}
227
- optionChecked={optionChecked}
228
- visible={visible}
229
- hasGroup={hasGroup}
230
- groupStyle={groupStyle}
231
- optionStyle={optionStyle}
232
- searchType="no-search"
233
- placeholder={placeholder}
234
- data={flattenOptions as Option[]}
235
- labelRenderer={labelRenderer(input, prefix)}
236
- value={value}
237
- tempValue={tempValue}
238
- onOptionClick={onOptionClick}
239
- onValueChange={onValueChange}
240
- onTempValueChange={onTempValueChange}
241
- setTempValue={setTempValueFC}
242
- onInputChange={onInputChange}
243
- input={input}
244
- height={listHeight}
245
- getContainer={getContainer}
246
- itemHeight={listRowHeight}
247
- activeIndex={activeIndex}
248
- setActiveIndex={setActiveIndex}
249
- />
250
- </>
251
- );
252
-
253
- return (
254
- <Trigger
255
- popupVisible={visible}
256
- onPopupVisibleChange={onVisibleChange}
257
- action={['click']}
258
- popupPlacement="bottomLeft"
259
- popup={list}
260
- prefixCls={prefix}
261
- popupClassName={classnames(`${prefix}-dropdown`, dropDownClassName)}
262
- popupStyle={dropDownStyle}
263
- getPopupContainer={getContainer}
264
- stretch={dropdownMatchSelectWidth ? 'width' : 'minWidth'}
265
- zIndex={100}
266
- builtinPlacements={{
267
- left: {
268
- points: ['cr', 'cl'],
269
- },
270
- right: {
271
- points: ['cl', 'cr'],
272
- },
273
- top: {
274
- points: ['bc', 'tc'],
275
- },
276
- bottom: {
277
- points: ['tc', 'bc'],
278
- },
279
- topLeft: {
280
- points: ['bl', 'tl'],
281
- },
282
- topRight: {
283
- points: ['br', 'tr'],
284
- },
285
- bottomRight: {
286
- points: ['tr', 'br'],
287
- },
288
- bottomLeft: {
289
- points: ['tl', 'bl'],
290
- },
291
- }}
292
- >
293
- <Selector
294
- size={realSize}
295
- input={input}
296
- disabled={disabled}
297
- prefix={prefix}
298
- multiple={multiple}
299
- bordered
300
- isFocused={isFocused}
301
- className={className}
302
- visible={visible}
303
- label={label}
304
- ref={selectorRef}
305
- style={style}
306
- allowClear={allowClear}
307
- value={selectorValue}
308
- filteredOptions={filteredOptions}
309
- searchType="no-search"
310
- placeholder={placeholder}
311
- deleteValue={deleteValue}
312
- onAllowClear={onAllowClearClick}
313
- optionLabelRenderer={optionLabelRenderer}
314
- getOptionByValue={getOptionByValue}
315
- onInputChange={onInputChange}
316
- />
317
- </Trigger>
318
- );
319
- };
320
- // @ts-ignore
321
- export default React.forwardRef(Select);
@@ -1,151 +0,0 @@
1
- import React from 'react';
2
- import { isNull, noop } from 'lodash';
3
- import classnames from 'classnames';
4
- import { IOption as Option, TMaybeArray as MaybeArray } from '../interface';
5
- import { Tooltip, Checkbox } from 'antd';
6
- import Icon from '../../Icon';
7
-
8
- const FIRST_INDEX = 0;
9
- const INVALID_INDEX = -1;
10
- interface IGroupProps {
11
- option: Option;
12
- prefixCls: string;
13
- groupStyle?: React.CSSProperties;
14
- }
15
-
16
- interface ITooltipProps {
17
- render: JSX.Element & React.ReactNode;
18
- getContainer?: (node: HTMLElement) => HTMLElement;
19
- tooltip?: string;
20
- }
21
-
22
- interface IOptionProp {
23
- option: Option;
24
- selected: MaybeArray<string | number> | null | undefined;
25
- prefixCls?: string;
26
- labelRenderer: (option: Option, isGruop: false) => React.ReactNode;
27
- onOptionClick?: (selectedValue: string | number) => void;
28
- index: number;
29
-
30
- optionStyle?: React.CSSProperties;
31
- multiple?: boolean;
32
- // children?: React.ReactNode;
33
- activeIndex: number;
34
- setActiveIndex: React.Dispatch<React.SetStateAction<number>>;
35
- }
36
-
37
- // ================= RenderGroup =====================
38
- const RenderGroup: React.ForwardRefRenderFunction<unknown, IGroupProps> = (props, ref) => {
39
- const {
40
- option: { value, label },
41
- prefixCls,
42
- groupStyle,
43
- } = props;
44
-
45
- return (
46
- <div ref={ref as React.LegacyRef<HTMLDivElement>} className={`${prefixCls}-list-group`} style={groupStyle}>
47
- {label !== undefined ? label : value}
48
- </div>
49
- );
50
- };
51
- export const RenderLabelIcon = ({
52
- isSelected = false,
53
- multiple = false,
54
- disabled = false,
55
- prefixCls,
56
- isIndeterminate = false
57
- }: { isSelected: boolean, multiple: boolean, disabled?: boolean, prefixCls?: string, isIndeterminate?: boolean }) => {
58
- if (multiple) {
59
- return (
60
- <div className={`${prefixCls}-list-option-icon`} key={`${String(isSelected)}`}>
61
- <Checkbox
62
- className={`${prefixCls}-list-option-icon-checkbox`}
63
- checked={isSelected}
64
- disabled={disabled}
65
- onChange={noop}
66
- indeterminate={isIndeterminate}
67
- />
68
- </div>
69
- );
70
- }
71
- if (isSelected) {
72
- return (
73
- <div className={`${prefixCls}-list-option-icon`} key={`${String(isSelected)}`}>
74
- <Icon type="check" size={16} />
75
- </div>
76
- );
77
- }
78
- return null;
79
- };
80
- // ================= RenderOption =====================
81
- const RenderOption: React.ForwardRefRenderFunction<unknown, IOptionProp> = (props, ref) => {
82
- const {
83
- option: { value, disabled, tooltip, groupValue, groupLabel, label, ...restOption },
84
- selected,
85
- onOptionClick,
86
- labelRenderer,
87
- prefixCls,
88
- optionStyle,
89
- multiple,
90
- index,
91
- activeIndex,
92
- setActiveIndex,
93
- } = props;
94
- const isSelected = typeof selected === 'string' || typeof selected === 'number' || isNull(selected) || typeof selected === 'undefined'
95
- ? selected === value
96
- : selected.includes(value);
97
- const onClick = (e: React.MouseEvent) => {
98
- onOptionClick?.(value);
99
- e.preventDefault();
100
- };
101
- const labelNode = labelRenderer(
102
- {
103
- value,
104
- disabled,
105
- tooltip,
106
- groupValue,
107
- groupLabel,
108
- label,
109
- ...restOption,
110
- },
111
- false
112
- );
113
- return (
114
- <div ref={ref as React.LegacyRef<HTMLDivElement>} className={`${prefixCls}-list-option-container`} style={optionStyle}>
115
- <div
116
- onMouseEnter={() => setActiveIndex(index)}
117
- onMouseLeave={() => setActiveIndex(INVALID_INDEX)}
118
- className={classnames(`${prefixCls}-list-option`, {
119
- [`${prefixCls}-list-option-isSelected`]: isSelected,
120
- [`${prefixCls}-list-option-isHover`]: !disabled && index === activeIndex,
121
- [`${prefixCls}-list-option-disabled`]: disabled,
122
- [`${prefixCls}-list-option-nomargin`]: index === FIRST_INDEX,
123
- })}
124
- onClick={disabled ? undefined : onClick}
125
- onKeyDown={noop}
126
- aria-hidden="true"
127
- >
128
- <RenderLabelIcon isSelected={isSelected} multiple={!!multiple} disabled={!!disabled} prefixCls={prefixCls} />
129
- {labelNode}
130
- </div>
131
- </div>
132
- );
133
- };
134
-
135
- // ================= RenderTooltip =====================
136
- const RenderTooltip: React.ForwardRefRenderFunction<unknown, ITooltipProps> = (props, ref) => {
137
- const { tooltip, render, getContainer } = props;
138
- if (tooltip) {
139
- return (
140
- <div ref={ref as React.LegacyRef<HTMLDivElement>}>
141
- <Tooltip title={tooltip} destroyTooltipOnHide placement="right" getTooltipContainer={getContainer}>
142
- <div>{render}</div>
143
- </Tooltip>
144
- </div>
145
- );
146
- }
147
- return <div ref={ref as React.LegacyRef<HTMLDivElement>}>{render}</div>;
148
- };
149
- export const ForwardRenderGroup = React.forwardRef(RenderGroup);
150
- export const ForwardRenderOption = React.forwardRef(RenderOption);
151
- export const ForwardRenderTooltip = React.forwardRef(RenderTooltip);
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { IOptionProps } from '../interface';
3
-
4
- export interface IOptionFC extends React.FC<IOptionProps> {
5
- isSelectOption: boolean;
6
- }
7
- const Option: IOptionFC = () => null;
8
-
9
- Option.isSelectOption = true;
10
-
11
- export default Option;
@@ -1,169 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-use-before-define */
2
- import React, { LegacyRef, useCallback, useImperativeHandle, useMemo, useRef, useEffect } from 'react';
3
- import classnames from 'classnames';
4
- import { ListRef } from 'rc-virtual-list';
5
- import VirtualList from '../VirtualList';
6
- import { IOptionsListProps, IOption } from '../interface';
7
- import { ForwardRenderGroup, ForwardRenderOption, ForwardRenderTooltip, RenderLabelIcon } from './OptionItem';
8
-
9
- const ZERO_LENGTH = 0;
10
- const DEFAULT_ACTIVE_INDEX = -1;
11
- const OptionsList: React.ForwardRefRenderFunction<unknown, IOptionsListProps> = (props, ref) => {
12
- const {
13
- input,
14
- prefixCls,
15
- data,
16
- groupStyle,
17
- height,
18
- itemHeight,
19
- selected,
20
- optionChecked,
21
- // searchType,
22
- tempValue,
23
- value,
24
- placeholder,
25
- notFoundContent,
26
- onValueChange,
27
- onTempValueChange,
28
- setTempValue,
29
- onInputChange,
30
- onOptionClick,
31
- activeIndex,
32
- multiple,
33
- visible,
34
- style,
35
- setActiveIndex,
36
- ...restProps
37
- } = props;
38
-
39
- const selectAllRef = useRef(null);
40
- const OptionListRef = useRef<HTMLDivElement>(null);
41
- const VirtualListRef = useRef<ListRef>(null);
42
- useImperativeHandle(ref, () => ({
43
- onConfirm: () => {
44
- onConfirm();
45
- },
46
- onCancel: () => {
47
- onCancel();
48
- },
49
- onFocus: () => {
50
- OptionListRef?.current?.focus();
51
- },
52
- onBlur: () => {
53
- OptionListRef?.current?.blur();
54
- },
55
- scrollIntoView: (index: number, offset?: number) => {
56
- scrollIntoView(index, offset);
57
- },
58
- }));
59
- const filterflattenOptions = useMemo(
60
- () => data.filter((filterOption: IOption) => !filterOption.isSelectOptGroup),
61
- [data]
62
- );
63
-
64
- // 有选中值
65
- const isChecked = useMemo(() => (selected as [])?.length >= 1, [selected]);
66
- // 部分选中
67
- // 全部列表选项选中
68
- const isAllChecked = isChecked && (selected as [])?.length === filterflattenOptions?.length;
69
- // ”全部“选项是否选中
70
- const allOptionChecked = isAllChecked && (Array.isArray(optionChecked) && optionChecked.length === ZERO_LENGTH);
71
- // 点击全选
72
- const onAllClick = useCallback(() => {
73
- onValueChange?.(
74
- allOptionChecked
75
- ? null
76
- : filterflattenOptions.reduce((prev: Array<number | string>, curr: IOption) => [...prev, curr.value], [])
77
- );
78
- }, [allOptionChecked, filterflattenOptions, onValueChange]);
79
- useEffect(() => {
80
- if (!visible && !allOptionChecked && multiple && Array.isArray(selected) && selected.length === filterflattenOptions?.length) {
81
- onAllClick();
82
- }
83
- }, [visible, selected, multiple, filterflattenOptions, onAllClick, allOptionChecked]);
84
- const onSingleOptionClick = useCallback((selectedValue: string | number) => {
85
- onOptionClick?.(selectedValue);
86
- }, [onOptionClick]);
87
-
88
- const onConfirm = useCallback(() => onTempValueChange(tempValue), [onTempValueChange, tempValue]);
89
- const onCancel = useCallback(() => onTempValueChange([]), [onTempValueChange]);
90
-
91
- const scrollIntoView = (index: number, offset?: number) => {
92
- VirtualListRef?.current?.scrollTo({ index, offset });
93
- };
94
- // 渲染”全部“选项
95
- const renderAllOptions = () => (
96
- <div
97
- ref={selectAllRef}
98
- className={classnames(
99
- `${prefixCls}-list-option-all`,
100
- { [`${prefixCls}-list-option-all-isSelected`]: isChecked }
101
- )}
102
- onClick={(e) => {
103
- e.stopPropagation();
104
- onAllClick();
105
- }}
106
- aria-hidden="true"
107
- >
108
- <RenderLabelIcon isSelected={allOptionChecked} multiple prefixCls={prefixCls} />
109
- 全部
110
- </div>
111
- );
112
- return (
113
- <div
114
- className={`${prefixCls}-list`}
115
- style={style}
116
- ref={OptionListRef as LegacyRef<HTMLDivElement>}
117
- role="list"
118
- aria-hidden="true"
119
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
120
- tabIndex={0}
121
- onMouseLeave={() => setActiveIndex(DEFAULT_ACTIVE_INDEX)}
122
- >
123
- {/* {searchType === 'inner' && (
124
- <div className={classnames(`${prefixCls}-list-search-bar`, {})}>
125
- <SearchBar onChange={onInputChange} value={input} placeholder={placeholder} />
126
- </div>
127
- )} */}
128
- {multiple && renderAllOptions()}
129
- {data.length > ZERO_LENGTH ? (
130
- <VirtualList
131
- itemKey="key"
132
- prefixCls={prefixCls}
133
- ref={VirtualListRef}
134
- data={data}
135
- height={height}
136
- itemHeight={itemHeight}
137
- {...restProps}
138
- >
139
- {(option: IOption, index: number) => (option.isSelectOptGroup ? (
140
- <ForwardRenderGroup option={option} prefixCls={prefixCls} groupStyle={groupStyle} />
141
- ) : (
142
- <ForwardRenderTooltip
143
- tooltip={option?.tooltip}
144
- render={(
145
- <ForwardRenderOption
146
- option={option}
147
- prefixCls={prefixCls}
148
- selected={optionChecked}
149
- index={index}
150
- activeIndex={activeIndex}
151
- multiple={multiple}
152
- onOptionClick={onSingleOptionClick}
153
- setActiveIndex={setActiveIndex}
154
- {...restProps}
155
- />
156
- )}
157
- />
158
- ))}
159
- </VirtualList>
160
- ) : (
161
- notFoundContent
162
- )}
163
- </div>
164
- );
165
- };
166
-
167
- const ForwardRenderOptionList = React.forwardRef(OptionsList);
168
-
169
- export default ForwardRenderOptionList;