@aloudata/aloudata-design 0.1.0-beta.2

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 (332) hide show
  1. package/README.md +82 -0
  2. package/es/Button/demo/Icon/index.d.ts +3 -0
  3. package/es/Button/demo/Icon/index.js +67 -0
  4. package/es/Button/demo/Icon/index.less +6 -0
  5. package/es/Button/demo/basic/index.d.ts +4 -0
  6. package/es/Button/demo/basic/index.js +57 -0
  7. package/es/Button/demo/basic/index.less +7 -0
  8. package/es/Button/demo/disable/index.d.ts +3 -0
  9. package/es/Button/demo/disable/index.js +23 -0
  10. package/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/es/Button/demo/loading/index.less +6 -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/es/Button/style/index.less +255 -0
  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/es/Dropdown/demo/button/index.less +9 -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/es/Dropdown/style/index.less +40 -0
  39. package/es/Icon/iconfont/demo.css +539 -0
  40. package/es/Icon/iconfont/demo_index.html +628 -0
  41. package/es/Icon/iconfont/iconfont.css +93 -0
  42. package/es/Icon/iconfont/iconfont.js +46 -0
  43. package/es/Icon/iconfont/iconfont.json +142 -0
  44. package/es/Icon/iconfont/iconfont.ttf +0 -0
  45. package/es/Icon/iconfont/iconfont.woff +0 -0
  46. package/es/Icon/iconfont/iconfont.woff2 +0 -0
  47. package/es/Icon/index.d.ts +11 -0
  48. package/es/Icon/index.js +42 -0
  49. package/es/Icon/index.less +32 -0
  50. package/es/Input/components/Group/index.d.ts +15 -0
  51. package/es/Input/components/Group/index.js +12 -0
  52. package/es/Input/components/Password/index.d.ts +10 -0
  53. package/es/Input/components/Password/index.js +20 -0
  54. package/es/Input/components/TextArea/index.d.ts +52 -0
  55. package/es/Input/components/TextArea/index.js +14 -0
  56. package/es/Input/demo/allowClear/index.d.ts +3 -0
  57. package/es/Input/demo/allowClear/index.js +11 -0
  58. package/es/Input/demo/allowClear/index.less +0 -0
  59. package/es/Input/demo/basic/index.d.ts +4 -0
  60. package/es/Input/demo/basic/index.js +65 -0
  61. package/es/Input/demo/basic/index.less +6 -0
  62. package/es/Input/demo/gourp/index.d.ts +2 -0
  63. package/es/Input/demo/gourp/index.js +67 -0
  64. package/es/Input/demo/password/index.d.ts +3 -0
  65. package/es/Input/demo/password/index.js +21 -0
  66. package/es/Input/demo/password/index.less +0 -0
  67. package/es/Input/demo/prefix/index.d.ts +3 -0
  68. package/es/Input/demo/prefix/index.js +17 -0
  69. package/es/Input/demo/prefix/index.less +0 -0
  70. package/es/Input/demo/showCount/index.d.ts +3 -0
  71. package/es/Input/demo/showCount/index.js +17 -0
  72. package/es/Input/demo/showCount/index.less +0 -0
  73. package/es/Input/demo/textArea/autoSize.d.ts +2 -0
  74. package/es/Input/demo/textArea/autoSize.js +50 -0
  75. package/es/Input/index.d.ts +65 -0
  76. package/es/Input/index.js +46 -0
  77. package/es/Input/style/index.d.ts +2 -0
  78. package/es/Input/style/index.js +2 -0
  79. package/es/Input/style/index.less +62 -0
  80. package/es/Menu/Divider.d.ts +5 -0
  81. package/es/Menu/Divider.js +15 -0
  82. package/es/Menu/MenuItem.d.ts +17 -0
  83. package/es/Menu/MenuItem.js +15 -0
  84. package/es/Menu/SubMenu.d.ts +26 -0
  85. package/es/Menu/SubMenu.js +29 -0
  86. package/es/Menu/index.d.ts +20 -0
  87. package/es/Menu/index.js +31 -0
  88. package/es/Menu/style/index.d.ts +2 -0
  89. package/es/Menu/style/index.js +2 -0
  90. package/es/Menu/style/index.less +33 -0
  91. package/es/Select/BaseSelect.d.ts +5 -0
  92. package/es/Select/BaseSelect.js +400 -0
  93. package/es/Select/OptionsList/OptGroup.d.ts +7 -0
  94. package/es/Select/OptionsList/OptGroup.js +6 -0
  95. package/es/Select/OptionsList/OptionItem.d.ts +35 -0
  96. package/es/Select/OptionsList/OptionItem.js +157 -0
  97. package/es/Select/OptionsList/Options.d.ts +7 -0
  98. package/es/Select/OptionsList/Options.js +6 -0
  99. package/es/Select/OptionsList/index.d.ts +4 -0
  100. package/es/Select/OptionsList/index.js +187 -0
  101. package/es/Select/Selector/index.d.ts +4 -0
  102. package/es/Select/Selector/index.js +249 -0
  103. package/es/Select/VirtualList.d.ts +5 -0
  104. package/es/Select/VirtualList.js +29 -0
  105. package/es/Select/demo/disabled/index.d.ts +2 -0
  106. package/es/Select/demo/disabled/index.js +50 -0
  107. package/es/Select/demo/multiple/index.d.ts +2 -0
  108. package/es/Select/demo/multiple/index.js +140 -0
  109. package/es/Select/demo/options/index.d.ts +2 -0
  110. package/es/Select/demo/options/index.js +55 -0
  111. package/es/Select/demo/single/index.d.ts +2 -0
  112. package/es/Select/demo/single/index.js +86 -0
  113. package/es/Select/hooks/useCacheOption.d.ts +9 -0
  114. package/es/Select/hooks/useCacheOption.js +107 -0
  115. package/es/Select/index.d.ts +12 -0
  116. package/es/Select/index.js +9 -0
  117. package/es/Select/interface.d.ts +221 -0
  118. package/es/Select/interface.js +1 -0
  119. package/es/Select/style/index.d.ts +2 -0
  120. package/es/Select/style/index.js +2 -0
  121. package/es/Select/style/index.less +539 -0
  122. package/es/Select/utils.d.ts +21 -0
  123. package/es/Select/utils.js +193 -0
  124. package/es/Tabs/TabPane.d.ts +21 -0
  125. package/es/Tabs/TabPane.js +12 -0
  126. package/es/Tabs/demo/adaptHeight/index.d.ts +3 -0
  127. package/es/Tabs/demo/adaptHeight/index.js +19 -0
  128. package/es/Tabs/demo/adaptHeight/index.less +3 -0
  129. package/es/Tabs/demo/basic/index.d.ts +4 -0
  130. package/es/Tabs/demo/basic/index.js +44 -0
  131. package/es/Tabs/demo/basic/index.less +5 -0
  132. package/es/Tabs/demo/horizontalScroll/index.d.ts +3 -0
  133. package/es/Tabs/demo/horizontalScroll/index.js +30 -0
  134. package/es/Tabs/demo/horizontalScroll/index.less +3 -0
  135. package/es/Tabs/index.d.ts +41 -0
  136. package/es/Tabs/index.js +42 -0
  137. package/es/Tabs/style/index.d.ts +2 -0
  138. package/es/Tabs/style/index.js +2 -0
  139. package/es/Tabs/style/index.less +61 -0
  140. package/es/Tooltip/demo/basic/index.d.ts +2 -0
  141. package/es/Tooltip/demo/basic/index.js +7 -0
  142. package/es/Tooltip/demo/overflow/index.d.ts +2 -0
  143. package/es/Tooltip/demo/overflow/index.js +7 -0
  144. package/es/Tooltip/demo/placement/index.d.ts +6 -0
  145. package/es/Tooltip/demo/placement/index.js +70 -0
  146. package/es/Tooltip/demo/placement/index.less +7 -0
  147. package/es/Tooltip/demo/trigger/index.d.ts +3 -0
  148. package/es/Tooltip/demo/trigger/index.js +20 -0
  149. package/es/Tooltip/demo/trigger/index.less +5 -0
  150. package/es/Tooltip/index.d.ts +63 -0
  151. package/es/Tooltip/index.js +31 -0
  152. package/es/Tooltip/style/index.d.ts +2 -0
  153. package/es/Tooltip/style/index.js +2 -0
  154. package/es/Tooltip/style/index.less +14 -0
  155. package/es/_utils/hooks/useControlledState.d.ts +2 -0
  156. package/es/_utils/hooks/useControlledState.js +54 -0
  157. package/es/_utils/hooks/usePrefixCls.d.ts +2 -0
  158. package/es/_utils/hooks/usePrefixCls.js +14 -0
  159. package/es/index.d.ts +8 -0
  160. package/es/index.js +8 -0
  161. package/es/style/index.d.ts +2 -0
  162. package/es/style/index.js +2 -0
  163. package/es/style/index.less +3 -0
  164. package/es/style/mixins/index.less +0 -0
  165. package/es/style/themes/default/index.less +36 -0
  166. package/es/style/themes/default/themeColor.less +259 -0
  167. package/lib/Button/demo/Icon/index.d.ts +3 -0
  168. package/lib/Button/demo/Icon/index.js +82 -0
  169. package/lib/Button/demo/Icon/index.less +6 -0
  170. package/lib/Button/demo/basic/index.d.ts +4 -0
  171. package/lib/Button/demo/basic/index.js +73 -0
  172. package/lib/Button/demo/basic/index.less +7 -0
  173. package/lib/Button/demo/disable/index.d.ts +3 -0
  174. package/lib/Button/demo/disable/index.js +37 -0
  175. package/lib/Button/demo/disable/index.less +0 -0
  176. package/lib/Button/demo/href/index.d.ts +2 -0
  177. package/lib/Button/demo/href/index.js +30 -0
  178. package/lib/Button/demo/loading/index.d.ts +3 -0
  179. package/lib/Button/demo/loading/index.js +51 -0
  180. package/lib/Button/demo/loading/index.less +6 -0
  181. package/lib/Button/index.d.ts +50 -0
  182. package/lib/Button/index.js +124 -0
  183. package/lib/Button/style/index.d.ts +2 -0
  184. package/lib/Button/style/index.js +5 -0
  185. package/lib/Button/style/index.less +255 -0
  186. package/lib/Dropdown/Button.d.ts +69 -0
  187. package/lib/Dropdown/Button.js +52 -0
  188. package/lib/Dropdown/demo/basic/index.d.ts +4 -0
  189. package/lib/Dropdown/demo/basic/index.js +35 -0
  190. package/lib/Dropdown/demo/button/index.d.ts +3 -0
  191. package/lib/Dropdown/demo/button/index.js +182 -0
  192. package/lib/Dropdown/demo/button/index.less +9 -0
  193. package/lib/Dropdown/demo/placement/index.d.ts +2 -0
  194. package/lib/Dropdown/demo/placement/index.js +56 -0
  195. package/lib/Dropdown/demo/subMenu/index.d.ts +2 -0
  196. package/lib/Dropdown/demo/subMenu/index.js +59 -0
  197. package/lib/Dropdown/demo/trigger/index.d.ts +2 -0
  198. package/lib/Dropdown/demo/trigger/index.js +32 -0
  199. package/lib/Dropdown/index.d.ts +59 -0
  200. package/lib/Dropdown/index.js +47 -0
  201. package/lib/Dropdown/style/index.d.ts +2 -0
  202. package/lib/Dropdown/style/index.js +5 -0
  203. package/lib/Dropdown/style/index.less +40 -0
  204. package/lib/Icon/iconfont/demo.css +539 -0
  205. package/lib/Icon/iconfont/demo_index.html +628 -0
  206. package/lib/Icon/iconfont/iconfont.css +93 -0
  207. package/lib/Icon/iconfont/iconfont.js +48 -0
  208. package/lib/Icon/iconfont/iconfont.json +142 -0
  209. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  210. package/lib/Icon/iconfont/iconfont.woff +0 -0
  211. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  212. package/lib/Icon/index.d.ts +11 -0
  213. package/lib/Icon/index.js +54 -0
  214. package/lib/Icon/index.less +32 -0
  215. package/lib/Input/components/Group/index.d.ts +15 -0
  216. package/lib/Input/components/Group/index.js +24 -0
  217. package/lib/Input/components/Password/index.d.ts +10 -0
  218. package/lib/Input/components/Password/index.js +33 -0
  219. package/lib/Input/components/TextArea/index.d.ts +52 -0
  220. package/lib/Input/components/TextArea/index.js +26 -0
  221. package/lib/Input/demo/allowClear/index.d.ts +3 -0
  222. package/lib/Input/demo/allowClear/index.js +25 -0
  223. package/lib/Input/demo/allowClear/index.less +0 -0
  224. package/lib/Input/demo/basic/index.d.ts +4 -0
  225. package/lib/Input/demo/basic/index.js +80 -0
  226. package/lib/Input/demo/basic/index.less +6 -0
  227. package/lib/Input/demo/gourp/index.d.ts +2 -0
  228. package/lib/Input/demo/gourp/index.js +81 -0
  229. package/lib/Input/demo/password/index.d.ts +3 -0
  230. package/lib/Input/demo/password/index.js +35 -0
  231. package/lib/Input/demo/password/index.less +0 -0
  232. package/lib/Input/demo/prefix/index.d.ts +3 -0
  233. package/lib/Input/demo/prefix/index.js +32 -0
  234. package/lib/Input/demo/prefix/index.less +0 -0
  235. package/lib/Input/demo/showCount/index.d.ts +3 -0
  236. package/lib/Input/demo/showCount/index.js +31 -0
  237. package/lib/Input/demo/showCount/index.less +0 -0
  238. package/lib/Input/demo/textArea/autoSize.d.ts +2 -0
  239. package/lib/Input/demo/textArea/autoSize.js +63 -0
  240. package/lib/Input/index.d.ts +65 -0
  241. package/lib/Input/index.js +63 -0
  242. package/lib/Input/style/index.d.ts +2 -0
  243. package/lib/Input/style/index.js +5 -0
  244. package/lib/Input/style/index.less +62 -0
  245. package/lib/Menu/Divider.d.ts +5 -0
  246. package/lib/Menu/Divider.js +28 -0
  247. package/lib/Menu/MenuItem.d.ts +17 -0
  248. package/lib/Menu/MenuItem.js +28 -0
  249. package/lib/Menu/SubMenu.d.ts +26 -0
  250. package/lib/Menu/SubMenu.js +44 -0
  251. package/lib/Menu/index.d.ts +20 -0
  252. package/lib/Menu/index.js +49 -0
  253. package/lib/Menu/style/index.d.ts +2 -0
  254. package/lib/Menu/style/index.js +5 -0
  255. package/lib/Menu/style/index.less +33 -0
  256. package/lib/Select/BaseSelect.d.ts +5 -0
  257. package/lib/Select/BaseSelect.js +433 -0
  258. package/lib/Select/OptionsList/OptGroup.d.ts +7 -0
  259. package/lib/Select/OptionsList/OptGroup.js +14 -0
  260. package/lib/Select/OptionsList/OptionItem.d.ts +35 -0
  261. package/lib/Select/OptionsList/OptionItem.js +185 -0
  262. package/lib/Select/OptionsList/Options.d.ts +7 -0
  263. package/lib/Select/OptionsList/Options.js +14 -0
  264. package/lib/Select/OptionsList/index.d.ts +4 -0
  265. package/lib/Select/OptionsList/index.js +207 -0
  266. package/lib/Select/Selector/index.d.ts +4 -0
  267. package/lib/Select/Selector/index.js +273 -0
  268. package/lib/Select/VirtualList.d.ts +5 -0
  269. package/lib/Select/VirtualList.js +42 -0
  270. package/lib/Select/demo/disabled/index.d.ts +2 -0
  271. package/lib/Select/demo/disabled/index.js +64 -0
  272. package/lib/Select/demo/multiple/index.d.ts +2 -0
  273. package/lib/Select/demo/multiple/index.js +154 -0
  274. package/lib/Select/demo/options/index.d.ts +2 -0
  275. package/lib/Select/demo/options/index.js +69 -0
  276. package/lib/Select/demo/single/index.d.ts +2 -0
  277. package/lib/Select/demo/single/index.js +99 -0
  278. package/lib/Select/hooks/useCacheOption.d.ts +9 -0
  279. package/lib/Select/hooks/useCacheOption.js +113 -0
  280. package/lib/Select/index.d.ts +12 -0
  281. package/lib/Select/index.js +34 -0
  282. package/lib/Select/interface.d.ts +221 -0
  283. package/lib/Select/interface.js +5 -0
  284. package/lib/Select/style/index.d.ts +2 -0
  285. package/lib/Select/style/index.js +5 -0
  286. package/lib/Select/style/index.less +539 -0
  287. package/lib/Select/utils.d.ts +21 -0
  288. package/lib/Select/utils.js +233 -0
  289. package/lib/Tabs/TabPane.d.ts +21 -0
  290. package/lib/Tabs/TabPane.js +24 -0
  291. package/lib/Tabs/demo/adaptHeight/index.d.ts +3 -0
  292. package/lib/Tabs/demo/adaptHeight/index.js +34 -0
  293. package/lib/Tabs/demo/adaptHeight/index.less +3 -0
  294. package/lib/Tabs/demo/basic/index.d.ts +4 -0
  295. package/lib/Tabs/demo/basic/index.js +67 -0
  296. package/lib/Tabs/demo/basic/index.less +5 -0
  297. package/lib/Tabs/demo/horizontalScroll/index.d.ts +3 -0
  298. package/lib/Tabs/demo/horizontalScroll/index.js +45 -0
  299. package/lib/Tabs/demo/horizontalScroll/index.less +3 -0
  300. package/lib/Tabs/index.d.ts +41 -0
  301. package/lib/Tabs/index.js +58 -0
  302. package/lib/Tabs/style/index.d.ts +2 -0
  303. package/lib/Tabs/style/index.js +5 -0
  304. package/lib/Tabs/style/index.less +61 -0
  305. package/lib/Tooltip/demo/basic/index.d.ts +2 -0
  306. package/lib/Tooltip/demo/basic/index.js +20 -0
  307. package/lib/Tooltip/demo/overflow/index.d.ts +2 -0
  308. package/lib/Tooltip/demo/overflow/index.js +20 -0
  309. package/lib/Tooltip/demo/placement/index.d.ts +6 -0
  310. package/lib/Tooltip/demo/placement/index.js +86 -0
  311. package/lib/Tooltip/demo/placement/index.less +7 -0
  312. package/lib/Tooltip/demo/trigger/index.d.ts +3 -0
  313. package/lib/Tooltip/demo/trigger/index.js +34 -0
  314. package/lib/Tooltip/demo/trigger/index.less +5 -0
  315. package/lib/Tooltip/index.d.ts +63 -0
  316. package/lib/Tooltip/index.js +44 -0
  317. package/lib/Tooltip/style/index.d.ts +2 -0
  318. package/lib/Tooltip/style/index.js +5 -0
  319. package/lib/Tooltip/style/index.less +14 -0
  320. package/lib/_utils/hooks/useControlledState.d.ts +2 -0
  321. package/lib/_utils/hooks/useControlledState.js +63 -0
  322. package/lib/_utils/hooks/usePrefixCls.d.ts +2 -0
  323. package/lib/_utils/hooks/usePrefixCls.js +27 -0
  324. package/lib/index.d.ts +8 -0
  325. package/lib/index.js +63 -0
  326. package/lib/style/index.d.ts +2 -0
  327. package/lib/style/index.js +5 -0
  328. package/lib/style/index.less +3 -0
  329. package/lib/style/mixins/index.less +0 -0
  330. package/lib/style/themes/default/index.less +36 -0
  331. package/lib/style/themes/default/themeColor.less +259 -0
  332. package/package.json +87 -0
@@ -0,0 +1,400 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+
3
+ 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."); }
4
+
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+
7
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
+
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+
11
+ 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."); }
12
+
13
+ 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); }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+
21
+ import React, { useState, useMemo, useRef, useEffect } from 'react';
22
+ import classnames from 'classnames';
23
+ import { filter, isNil, without } from 'lodash';
24
+ import Selector from './Selector';
25
+ import OptionsList from './OptionsList';
26
+ import usePrefixCls from '../_utils/hooks/usePrefixCls';
27
+ import Trigger from 'rc-trigger';
28
+ import { convertChildrenToData, handleOptions, defaultLabelRenderer, defaultSearchPredicate, defaultOptionLabelRenderer, getFlattenOptions } from './utils';
29
+ import useCacheOptions from './hooks/useCacheOption';
30
+ import useControlledState from '../_utils/hooks/useControlledState';
31
+ var DEFAULT_LIST_HEIGHT = 256;
32
+ var DEFAULT_ACTIVE_INDEX = -1;
33
+ var ZERO = 0;
34
+ export var Select = function Select(props, ref) {
35
+ var _props$size = props.size,
36
+ size = _props$size === void 0 ? 'default' : _props$size,
37
+ _props$options = props.options,
38
+ options = _props$options === void 0 ? [] : _props$options,
39
+ _props$defaultValue = props.defaultValue,
40
+ defaultValue = _props$defaultValue === void 0 ? null : _props$defaultValue,
41
+ controlledValue = props.value,
42
+ _props$multiple = props.multiple,
43
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
44
+ placeholder = props.placeholder,
45
+ _props$disabled = props.disabled,
46
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
47
+ customizePrefixCls = props.customizePrefixCls,
48
+ label = props.label,
49
+ className = props.className,
50
+ style = props.style,
51
+ optionStyle = props.optionStyle,
52
+ groupStyle = props.groupStyle,
53
+ _props$allowClear = props.allowClear,
54
+ allowClear = _props$allowClear === void 0 ? false : _props$allowClear,
55
+ _props$listHeight = props.listHeight,
56
+ listHeight = _props$listHeight === void 0 ? DEFAULT_LIST_HEIGHT : _props$listHeight,
57
+ listRowHeight = props.listRowHeight,
58
+ _props$labelRenderer = props.labelRenderer,
59
+ labelRenderer = _props$labelRenderer === void 0 ? defaultLabelRenderer : _props$labelRenderer,
60
+ _props$searchPredicat = props.searchPredicate,
61
+ searchPredicate = _props$searchPredicat === void 0 ? defaultSearchPredicate : _props$searchPredicat,
62
+ _props$optionLabelRen = props.optionLabelRenderer,
63
+ optionLabelRenderer = _props$optionLabelRen === void 0 ? defaultOptionLabelRenderer : _props$optionLabelRen,
64
+ onChange = props.onChange,
65
+ onSelect = props.onSelect,
66
+ onClear = props.onClear,
67
+ getContainer = props.getContainer,
68
+ open = props.open,
69
+ _props$defaultOpen = props.defaultOpen,
70
+ defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
71
+ onDropDownVisibleChange = props.onDropDownVisibleChange,
72
+ dropDownClassName = props.dropDownClassName,
73
+ dropDownStyle = props.dropDownStyle,
74
+ _props$dropdownMatchS = props.dropdownMatchSelectWidth,
75
+ dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? 'width' : _props$dropdownMatchS,
76
+ children = props.children;
77
+ var prefix = usePrefixCls('select-legacy', customizePrefixCls);
78
+
79
+ var _useControlledState = useControlledState(controlledValue, defaultValue),
80
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
81
+ value = _useControlledState2[0],
82
+ setSelectValue = _useControlledState2[1];
83
+
84
+ var _useState = useState([]),
85
+ _useState2 = _slicedToArray(_useState, 2),
86
+ tempValue = _useState2[0],
87
+ setTempValue = _useState2[1];
88
+
89
+ var _useState3 = useState(false),
90
+ _useState4 = _slicedToArray(_useState3, 2),
91
+ isFocused = _useState4[0],
92
+ setFocused = _useState4[1];
93
+
94
+ var _useState5 = useState(defaultOpen),
95
+ _useState6 = _slicedToArray(_useState5, 2),
96
+ _visible = _useState6[0],
97
+ _setVisible = _useState6[1];
98
+
99
+ var visible = isNil(open) ? _visible : open;
100
+ var setVisible = isNil(onDropDownVisibleChange) ? _setVisible : onDropDownVisibleChange;
101
+
102
+ var _useState7 = useState(''),
103
+ _useState8 = _slicedToArray(_useState7, 2),
104
+ input = _useState8[0],
105
+ setInput = _useState8[1];
106
+
107
+ var selectRef = useRef(null);
108
+ var optionListRef = useRef(null);
109
+ var selectorRef = ref || selectRef; // empty
110
+ // keydown
111
+
112
+ var _useState9 = useState(DEFAULT_ACTIVE_INDEX),
113
+ _useState10 = _slicedToArray(_useState9, 2),
114
+ activeIndex = _useState10[0],
115
+ setActiveIndex = _useState10[1];
116
+
117
+ var _useState11 = useState([]),
118
+ _useState12 = _slicedToArray(_useState11, 2),
119
+ optionChecked = _useState12[0],
120
+ setOptionChecked = _useState12[1]; // Exhibition value (tempvalue + value);
121
+
122
+
123
+ var selectorValue = useMemo(function () {
124
+ if (Array.isArray(value)) {
125
+ // filter: if v in value and tempValue no Exhibition
126
+ return value.concat(tempValue).filter(function (v) {
127
+ return !value.includes(v) || !tempValue.includes(v);
128
+ });
129
+ }
130
+
131
+ if (multiple) {
132
+ return tempValue;
133
+ }
134
+
135
+ return value;
136
+ }, [value, multiple, tempValue]);
137
+ useEffect(function () {
138
+ if (!disabled) {
139
+ if (visible) {
140
+ var _selectorRef$current;
141
+
142
+ selectorRef === null || selectorRef === void 0 ? void 0 : (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus();
143
+ setFocused(visible);
144
+ } else {
145
+ var _optionListRef$curren;
146
+
147
+ setActiveIndex(DEFAULT_ACTIVE_INDEX);
148
+ setFocused(visible); // @ts-ignore
149
+
150
+ optionListRef === null || optionListRef === void 0 ? void 0 : (_optionListRef$curren = optionListRef.current) === null || _optionListRef$curren === void 0 ? void 0 : _optionListRef$curren.onBlur();
151
+ }
152
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
153
+
154
+ }, [visible, disabled]);
155
+ /** merge Option & nodeOption & mergedOptionsMap */
156
+ // @ts-ignore
157
+
158
+ var nodesToOptions = useMemo(function () {
159
+ return convertChildrenToData(children);
160
+ }, [children]);
161
+
162
+ var _useCacheOptions = useCacheOptions(),
163
+ setCacheOptions = _useCacheOptions.setCacheOptions,
164
+ getOptionByValue = _useCacheOptions.getOptionByValue,
165
+ getOptionsByValue = _useCacheOptions.getOptionsByValue,
166
+ updateGroup = _useCacheOptions.updateGroup,
167
+ hasGroup = _useCacheOptions.hasGroup;
168
+
169
+ var _useMemo = useMemo( // @ts-ignore
170
+ function () {
171
+ return handleOptions([].concat(_toConsumableArray(options), _toConsumableArray(nodesToOptions)), setCacheOptions, updateGroup);
172
+ }, [nodesToOptions, options, setCacheOptions, updateGroup]),
173
+ mergedFlattenOPtions = _useMemo.flattenOptions; // input change
174
+
175
+
176
+ var onInputChange = function onInputChange(_value) {
177
+ setInput(_value);
178
+ }; // clear
179
+
180
+
181
+ var clearInput = function clearInput() {
182
+ return setInput('');
183
+ }; // dropdown visible
184
+
185
+
186
+ var onVisibleChange = function onVisibleChange(optVisible) {
187
+ if (!disabled) {
188
+ setVisible(optVisible);
189
+
190
+ if (!optVisible) {
191
+ var _selectorRef$current2;
192
+
193
+ setTimeout(clearInput, ZERO);
194
+ (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur();
195
+ }
196
+ }
197
+ }; // tempValue change methods
198
+
199
+
200
+ var onTempValueChange = function onTempValueChange(values) {
201
+ // value is array
202
+ var concatValue = isNil(value) ? values : values.concat(value).filter(function (v) {
203
+ return !(value === null || value === void 0 ? void 0 : value.includes(v)) || !(values === null || values === void 0 ? void 0 : values.includes(v));
204
+ });
205
+ onChange === null || onChange === void 0 ? void 0 : onChange(concatValue, getOptionsByValue(concatValue));
206
+ onVisibleChange(false);
207
+ setSelectValue(concatValue); // clear tempValue
208
+
209
+ setTempValue([]);
210
+ };
211
+
212
+ var deleteValue = function deleteValue(optValue, v) {
213
+ return tempValue.includes(v) ? onTempValueChange(without(optValue || [], v)) : onValueChange(without(optValue || [], v));
214
+ };
215
+
216
+ var setTempValueFC = function setTempValueFC(tempvalues) {
217
+ setTempValue(tempvalues);
218
+ };
219
+
220
+ var onListSelect = function onListSelect(selectedValue, option) {
221
+ if (!multiple) {
222
+ var _selectorRef$current3;
223
+
224
+ (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.blur();
225
+ } else {
226
+ var _selectorRef$current4;
227
+
228
+ (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 ? void 0 : _selectorRef$current4.focus();
229
+ }
230
+
231
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedValue, option);
232
+ };
233
+
234
+ var onAllowClearClick = function onAllowClearClick() {
235
+ if (input) {
236
+ clearInput();
237
+ }
238
+
239
+ onValueChange(!multiple ? null : []);
240
+ onClear === null || onClear === void 0 ? void 0 : onClear();
241
+ }; // 选项点击
242
+
243
+
244
+ var onOptionClick = function onOptionClick(selectValue) {
245
+ var selectedOption = getOptionByValue(selectValue);
246
+ var isTempSelected = tempValue.includes(selectValue);
247
+ var isSelected = !Array.isArray(value) ? value === selectValue : value.includes(selectValue);
248
+ var isOptionChecked = optionChecked.includes(selectValue);
249
+
250
+ if (!multiple) {
251
+ onVisibleChange(false);
252
+ }
253
+
254
+ if (isTempSelected) {
255
+ setTempValue(function (tempvalues) {
256
+ return without(tempvalues, selectValue);
257
+ });
258
+ return;
259
+ } // 点击的时候已经是被选中
260
+
261
+
262
+ if (isSelected) {
263
+ if (isOptionChecked) {
264
+ onValueChange(Array.isArray(value) ? without(value || [], selectValue) : null);
265
+ setOptionChecked(without(value || [], selectValue));
266
+ } else {
267
+ onValueChange(Array.isArray(value) ? [].concat(_toConsumableArray(optionChecked), [selectValue]) : null);
268
+ setOptionChecked([].concat(_toConsumableArray(optionChecked), [selectValue]));
269
+ }
270
+ } else {
271
+ onListSelect(selectValue, selectedOption);
272
+
273
+ if (Array.isArray(value)) {
274
+ onValueChange([].concat(_toConsumableArray(value), [selectValue]));
275
+ setOptionChecked([].concat(_toConsumableArray(value), [selectValue]));
276
+ } else {
277
+ onValueChange(!multiple ? selectValue : [selectValue]);
278
+ setOptionChecked([selectValue]);
279
+ }
280
+ }
281
+ }; // search filter InputValue // match input(label === input)
282
+
283
+
284
+ var filteredOptions = useMemo(function () {
285
+ return filter(mergedFlattenOPtions, searchPredicate(input));
286
+ }, [mergedFlattenOPtions, searchPredicate, input]);
287
+ var flattenOptions = useMemo(function () {
288
+ return getFlattenOptions(filteredOptions, false);
289
+ }, [filteredOptions]); // value other methods
290
+
291
+ var onValueChange = function onValueChange(optValue) {
292
+ setSelectValue(optValue);
293
+
294
+ if (Array.isArray(optValue) && flattenOptions.length === optValue.length) {
295
+ setOptionChecked([]);
296
+ }
297
+
298
+ if (isNil(optValue)) {
299
+ onChange === null || onChange === void 0 ? void 0 : onChange(null, null);
300
+ } else {
301
+ onChange === null || onChange === void 0 ? void 0 : onChange(optValue, getOptionsByValue(optValue));
302
+ }
303
+ };
304
+
305
+ var realSize = useMemo(function () {
306
+ return ['small', 'default', 'large'].includes(size) ? size : 'default';
307
+ }, [size]);
308
+ var list = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(OptionsList, {
309
+ ref: optionListRef,
310
+ multiple: multiple,
311
+ prefixCls: prefix,
312
+ selected: selectorValue,
313
+ optionChecked: optionChecked,
314
+ visible: visible,
315
+ hasGroup: hasGroup,
316
+ groupStyle: groupStyle,
317
+ optionStyle: optionStyle,
318
+ searchType: "no-search",
319
+ placeholder: placeholder,
320
+ data: flattenOptions,
321
+ labelRenderer: labelRenderer(input, prefix),
322
+ value: value,
323
+ tempValue: tempValue,
324
+ onOptionClick: onOptionClick,
325
+ onValueChange: onValueChange,
326
+ onTempValueChange: onTempValueChange,
327
+ setTempValue: setTempValueFC,
328
+ onInputChange: onInputChange,
329
+ input: input,
330
+ height: listHeight,
331
+ getContainer: getContainer,
332
+ itemHeight: listRowHeight,
333
+ activeIndex: activeIndex,
334
+ setActiveIndex: setActiveIndex
335
+ }));
336
+ return /*#__PURE__*/React.createElement(Trigger, {
337
+ popupVisible: visible,
338
+ onPopupVisibleChange: onVisibleChange,
339
+ action: ['click'],
340
+ popupPlacement: "bottomLeft",
341
+ popup: list,
342
+ prefixCls: prefix,
343
+ popupClassName: classnames("".concat(prefix, "-dropdown"), dropDownClassName),
344
+ popupStyle: dropDownStyle,
345
+ getPopupContainer: getContainer,
346
+ stretch: dropdownMatchSelectWidth ? 'width' : 'minWidth',
347
+ zIndex: 100,
348
+ builtinPlacements: {
349
+ left: {
350
+ points: ['cr', 'cl']
351
+ },
352
+ right: {
353
+ points: ['cl', 'cr']
354
+ },
355
+ top: {
356
+ points: ['bc', 'tc']
357
+ },
358
+ bottom: {
359
+ points: ['tc', 'bc']
360
+ },
361
+ topLeft: {
362
+ points: ['bl', 'tl']
363
+ },
364
+ topRight: {
365
+ points: ['br', 'tr']
366
+ },
367
+ bottomRight: {
368
+ points: ['tr', 'br']
369
+ },
370
+ bottomLeft: {
371
+ points: ['tl', 'bl']
372
+ }
373
+ }
374
+ }, /*#__PURE__*/React.createElement(Selector, {
375
+ size: realSize,
376
+ input: input,
377
+ disabled: disabled,
378
+ prefix: prefix,
379
+ multiple: multiple,
380
+ bordered: true,
381
+ isFocused: isFocused,
382
+ className: className,
383
+ visible: visible,
384
+ label: label,
385
+ ref: selectorRef,
386
+ style: style,
387
+ allowClear: allowClear,
388
+ value: selectorValue,
389
+ filteredOptions: filteredOptions,
390
+ searchType: "no-search",
391
+ placeholder: placeholder,
392
+ deleteValue: deleteValue,
393
+ onAllowClear: onAllowClearClick,
394
+ optionLabelRenderer: optionLabelRenderer,
395
+ getOptionByValue: getOptionByValue,
396
+ onInputChange: onInputChange
397
+ }));
398
+ }; // @ts-ignore
399
+
400
+ export default /*#__PURE__*/React.forwardRef(Select);
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { IOptGroupProps } from '../interface';
3
+ export interface IOptionGroupFC extends React.FC<IOptGroupProps> {
4
+ isSelectOptGroup: boolean;
5
+ }
6
+ declare const OptGroup: IOptionGroupFC;
7
+ export default OptGroup;
@@ -0,0 +1,6 @@
1
+ var OptGroup = function OptGroup() {
2
+ return null;
3
+ };
4
+
5
+ OptGroup.isSelectOptGroup = true;
6
+ export default OptGroup;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { IOption as Option, TMaybeArray as MaybeArray } from '../interface';
3
+ interface IGroupProps {
4
+ option: Option;
5
+ prefixCls: string;
6
+ groupStyle?: React.CSSProperties;
7
+ }
8
+ interface ITooltipProps {
9
+ render: JSX.Element & React.ReactNode;
10
+ getContainer?: (node: HTMLElement) => HTMLElement;
11
+ tooltip?: string;
12
+ }
13
+ interface IOptionProp {
14
+ option: Option;
15
+ selected: MaybeArray<string | number> | null | undefined;
16
+ prefixCls?: string;
17
+ labelRenderer: (option: Option, isGruop: false) => React.ReactNode;
18
+ onOptionClick?: (selectedValue: string | number) => void;
19
+ index: number;
20
+ optionStyle?: React.CSSProperties;
21
+ multiple?: boolean;
22
+ activeIndex: number;
23
+ setActiveIndex: React.Dispatch<React.SetStateAction<number>>;
24
+ }
25
+ export declare const RenderLabelIcon: ({ isSelected, multiple, disabled, prefixCls, isIndeterminate }: {
26
+ isSelected: boolean;
27
+ multiple: boolean;
28
+ disabled?: boolean | undefined;
29
+ prefixCls?: string | undefined;
30
+ isIndeterminate?: boolean | undefined;
31
+ }) => JSX.Element | null;
32
+ export declare const ForwardRenderGroup: React.ForwardRefExoticComponent<IGroupProps & React.RefAttributes<unknown>>;
33
+ export declare const ForwardRenderOption: React.ForwardRefExoticComponent<IOptionProp & React.RefAttributes<unknown>>;
34
+ export declare const ForwardRenderTooltip: React.ForwardRefExoticComponent<ITooltipProps & React.RefAttributes<unknown>>;
35
+ export {};
@@ -0,0 +1,157 @@
1
+ import "antd/es/tooltip/style";
2
+ import _Tooltip from "antd/es/tooltip";
3
+ import "antd/es/checkbox/style";
4
+ import _Checkbox from "antd/es/checkbox";
5
+ var _excluded = ["value", "disabled", "tooltip", "groupValue", "groupLabel", "label"];
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ 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; }
14
+
15
+ 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; }
16
+
17
+ import React from 'react';
18
+ import { isNull, noop } from 'lodash';
19
+ import classnames from 'classnames';
20
+ import Icon from '../../Icon';
21
+ var FIRST_INDEX = 0;
22
+ var INVALID_INDEX = -1; // ================= RenderGroup =====================
23
+
24
+ var RenderGroup = function RenderGroup(props, ref) {
25
+ var _props$option = props.option,
26
+ value = _props$option.value,
27
+ label = _props$option.label,
28
+ prefixCls = props.prefixCls,
29
+ groupStyle = props.groupStyle;
30
+ return /*#__PURE__*/React.createElement("div", {
31
+ ref: ref,
32
+ className: "".concat(prefixCls, "-list-group"),
33
+ style: groupStyle
34
+ }, label !== undefined ? label : value);
35
+ };
36
+
37
+ export var RenderLabelIcon = function RenderLabelIcon(_ref) {
38
+ var _ref$isSelected = _ref.isSelected,
39
+ isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
40
+ _ref$multiple = _ref.multiple,
41
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
42
+ _ref$disabled = _ref.disabled,
43
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
44
+ prefixCls = _ref.prefixCls,
45
+ _ref$isIndeterminate = _ref.isIndeterminate,
46
+ isIndeterminate = _ref$isIndeterminate === void 0 ? false : _ref$isIndeterminate;
47
+
48
+ if (multiple) {
49
+ return /*#__PURE__*/React.createElement("div", {
50
+ className: "".concat(prefixCls, "-list-option-icon"),
51
+ key: "".concat(String(isSelected))
52
+ }, /*#__PURE__*/React.createElement(_Checkbox, {
53
+ className: "".concat(prefixCls, "-list-option-icon-checkbox"),
54
+ checked: isSelected,
55
+ disabled: disabled,
56
+ onChange: noop,
57
+ indeterminate: isIndeterminate
58
+ }));
59
+ }
60
+
61
+ if (isSelected) {
62
+ return /*#__PURE__*/React.createElement("div", {
63
+ className: "".concat(prefixCls, "-list-option-icon"),
64
+ key: "".concat(String(isSelected))
65
+ }, /*#__PURE__*/React.createElement(Icon, {
66
+ type: "check",
67
+ size: 16
68
+ }));
69
+ }
70
+
71
+ return null;
72
+ }; // ================= RenderOption =====================
73
+
74
+ var RenderOption = function RenderOption(props, ref) {
75
+ var _classnames;
76
+
77
+ var _props$option2 = props.option,
78
+ value = _props$option2.value,
79
+ disabled = _props$option2.disabled,
80
+ tooltip = _props$option2.tooltip,
81
+ groupValue = _props$option2.groupValue,
82
+ groupLabel = _props$option2.groupLabel,
83
+ label = _props$option2.label,
84
+ restOption = _objectWithoutProperties(_props$option2, _excluded),
85
+ selected = props.selected,
86
+ onOptionClick = props.onOptionClick,
87
+ labelRenderer = props.labelRenderer,
88
+ prefixCls = props.prefixCls,
89
+ optionStyle = props.optionStyle,
90
+ multiple = props.multiple,
91
+ index = props.index,
92
+ activeIndex = props.activeIndex,
93
+ setActiveIndex = props.setActiveIndex;
94
+
95
+ var isSelected = typeof selected === 'string' || typeof selected === 'number' || isNull(selected) || typeof selected === 'undefined' ? selected === value : selected.includes(value);
96
+
97
+ var onClick = function onClick(e) {
98
+ onOptionClick === null || onOptionClick === void 0 ? void 0 : onOptionClick(value);
99
+ e.preventDefault();
100
+ };
101
+
102
+ var labelNode = labelRenderer(_objectSpread({
103
+ value: value,
104
+ disabled: disabled,
105
+ tooltip: tooltip,
106
+ groupValue: groupValue,
107
+ groupLabel: groupLabel,
108
+ label: label
109
+ }, restOption), false);
110
+ return /*#__PURE__*/React.createElement("div", {
111
+ ref: ref,
112
+ className: "".concat(prefixCls, "-list-option-container"),
113
+ style: optionStyle
114
+ }, /*#__PURE__*/React.createElement("div", {
115
+ onMouseEnter: function onMouseEnter() {
116
+ return setActiveIndex(index);
117
+ },
118
+ onMouseLeave: function onMouseLeave() {
119
+ return setActiveIndex(INVALID_INDEX);
120
+ },
121
+ className: classnames("".concat(prefixCls, "-list-option"), (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-list-option-isSelected"), isSelected), _defineProperty(_classnames, "".concat(prefixCls, "-list-option-isHover"), !disabled && index === activeIndex), _defineProperty(_classnames, "".concat(prefixCls, "-list-option-disabled"), disabled), _defineProperty(_classnames, "".concat(prefixCls, "-list-option-nomargin"), index === FIRST_INDEX), _classnames)),
122
+ onClick: disabled ? undefined : onClick,
123
+ onKeyDown: noop,
124
+ "aria-hidden": "true"
125
+ }, /*#__PURE__*/React.createElement(RenderLabelIcon, {
126
+ isSelected: isSelected,
127
+ multiple: !!multiple,
128
+ disabled: !!disabled,
129
+ prefixCls: prefixCls
130
+ }), labelNode));
131
+ }; // ================= RenderTooltip =====================
132
+
133
+
134
+ var RenderTooltip = function RenderTooltip(props, ref) {
135
+ var tooltip = props.tooltip,
136
+ render = props.render,
137
+ getContainer = props.getContainer;
138
+
139
+ if (tooltip) {
140
+ return /*#__PURE__*/React.createElement("div", {
141
+ ref: ref
142
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
143
+ title: tooltip,
144
+ destroyTooltipOnHide: true,
145
+ placement: "right",
146
+ getTooltipContainer: getContainer
147
+ }, /*#__PURE__*/React.createElement("div", null, render)));
148
+ }
149
+
150
+ return /*#__PURE__*/React.createElement("div", {
151
+ ref: ref
152
+ }, render);
153
+ };
154
+
155
+ export var ForwardRenderGroup = /*#__PURE__*/React.forwardRef(RenderGroup);
156
+ export var ForwardRenderOption = /*#__PURE__*/React.forwardRef(RenderOption);
157
+ export var ForwardRenderTooltip = /*#__PURE__*/React.forwardRef(RenderTooltip);
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { IOptionProps } from '../interface';
3
+ export interface IOptionFC extends React.FC<IOptionProps> {
4
+ isSelectOption: boolean;
5
+ }
6
+ declare const Option: IOptionFC;
7
+ export default Option;
@@ -0,0 +1,6 @@
1
+ var Option = function Option() {
2
+ return null;
3
+ };
4
+
5
+ Option.isSelectOption = true;
6
+ export default Option;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IOptionsListProps } from '../interface';
3
+ declare const ForwardRenderOptionList: React.ForwardRefExoticComponent<IOptionsListProps & React.RefAttributes<unknown>>;
4
+ export default ForwardRenderOptionList;