@para-ui/core 3.0.53 → 3.0.55

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 (407) hide show
  1. package/README.md +24 -0
  2. package/package.json +1 -1
  3. package/AutoBox/index.d.ts +0 -34
  4. package/AutoBox/index.js +0 -277
  5. package/AutoBox/protal.d.ts +0 -17
  6. package/AutoTips/autoTipsMultiline/index.d.ts +0 -18
  7. package/AutoTips/index.d.ts +0 -35
  8. package/AutoTips/index.js +0 -271
  9. package/Breadcrumbs/index.d.ts +0 -53
  10. package/Breadcrumbs/index.js +0 -266
  11. package/Breadcrumbs/lang/en_US.d.ts +0 -4
  12. package/Breadcrumbs/lang/index.d.ts +0 -9
  13. package/Breadcrumbs/lang/zh_CN.d.ts +0 -4
  14. package/Button/SplitButton.d.ts +0 -64
  15. package/Button/index.d.ts +0 -79
  16. package/Button/index.js +0 -376
  17. package/Button/lang/en_US.d.ts +0 -4
  18. package/Button/lang/index.d.ts +0 -9
  19. package/Button/lang/zh_CN.d.ts +0 -4
  20. package/ButtonGroup/index.d.ts +0 -33
  21. package/ButtonGroup/index.js +0 -124
  22. package/Carousel/index.d.ts +0 -38
  23. package/Carousel/index.js +0 -78
  24. package/Cascader/index.d.ts +0 -54
  25. package/Cascader/index.js +0 -159
  26. package/Cascader/lang/en_US.d.ts +0 -4
  27. package/Cascader/lang/index.d.ts +0 -9
  28. package/Cascader/lang/zh_CN.d.ts +0 -4
  29. package/Checkbox/index.d.ts +0 -40
  30. package/Checkbox/index.js +0 -109
  31. package/CheckboxGroup/index.d.ts +0 -45
  32. package/CheckboxGroup/index.js +0 -142
  33. package/Collapse/collapsePanel.d.ts +0 -30
  34. package/Collapse/index.d.ts +0 -57
  35. package/Collapse/index.js +0 -152
  36. package/Collapse/motion.d.ts +0 -5
  37. package/Collapse/util.d.ts +0 -11
  38. package/CollapseBox/index.d.ts +0 -27
  39. package/CollapseBox/index.js +0 -148
  40. package/CollapseBox/util.d.ts +0 -5
  41. package/CollapseLayout/index.d.ts +0 -53
  42. package/CollapseLayout/index.js +0 -176
  43. package/ColorPicker/index.d.ts +0 -4
  44. package/ColorPicker/index.js +0 -4
  45. package/ComboSelect/index.d.ts +0 -6
  46. package/ComboSelect/index.js +0 -1049
  47. package/ComboSelect/interface.d.ts +0 -146
  48. package/ComboSelect/lang/en_US.d.ts +0 -9
  49. package/ComboSelect/lang/index.d.ts +0 -19
  50. package/ComboSelect/lang/zh_CN.d.ts +0 -9
  51. package/ComboSelect/utils.d.ts +0 -9
  52. package/Container/index.d.ts +0 -77
  53. package/Container/index.js +0 -232
  54. package/DatePicker/PickerButton.d.ts +0 -3
  55. package/DatePicker/PickerTag.d.ts +0 -3
  56. package/DatePicker/generatePicker/generateRangePicker.d.ts +0 -4
  57. package/DatePicker/generatePicker/generateSinglePicker.d.ts +0 -11
  58. package/DatePicker/generatePicker/index.d.ts +0 -95
  59. package/DatePicker/index.d.ts +0 -18
  60. package/DatePicker/index.js +0 -633
  61. package/DatePicker/lang/en_US.d.ts +0 -3
  62. package/DatePicker/lang/index.d.ts +0 -7
  63. package/DatePicker/lang/zh_CN.d.ts +0 -3
  64. package/DatePicker/util.d.ts +0 -22
  65. package/Desktop/index.d.ts +0 -57
  66. package/Desktop/index.js +0 -746
  67. package/DragVerify/index.d.ts +0 -36
  68. package/DragVerify/index.js +0 -385
  69. package/DragVerify/lang/en_US.d.ts +0 -5
  70. package/DragVerify/lang/index.d.ts +0 -11
  71. package/DragVerify/lang/zh_CN.d.ts +0 -5
  72. package/Drawer/index.d.ts +0 -11
  73. package/Drawer/index.js +0 -235
  74. package/Drawer/interface.d.ts +0 -92
  75. package/Drawer/lang/en_US.d.ts +0 -5
  76. package/Drawer/lang/index.d.ts +0 -11
  77. package/Drawer/lang/zh_CN.d.ts +0 -5
  78. package/Dropdown/index.d.ts +0 -40
  79. package/Dropdown/index.js +0 -10
  80. package/DynamicMultiBox/formItem.d.ts +0 -14
  81. package/DynamicMultiBox/index.d.ts +0 -5
  82. package/DynamicMultiBox/index.js +0 -1313
  83. package/DynamicMultiBox/interface.d.ts +0 -161
  84. package/DynamicMultiBox/rowForm.d.ts +0 -24
  85. package/Empty/images/index.d.ts +0 -3
  86. package/Empty/index.d.ts +0 -30
  87. package/Empty/index.js +0 -642
  88. package/Empty/lang/en_US.d.ts +0 -6
  89. package/Empty/lang/index.d.ts +0 -13
  90. package/Empty/lang/zh_CN.d.ts +0 -6
  91. package/Form/index.d.ts +0 -187
  92. package/Form/index.js +0 -355
  93. package/FormItem/compoments/defaultCompoments/index.d.ts +0 -19
  94. package/FormItem/compoments/formCheckboxGroup/index.d.ts +0 -8
  95. package/FormItem/compoments/formFile/index.d.ts +0 -38
  96. package/FormItem/compoments/formRadioGroup/index.d.ts +0 -8
  97. package/FormItem/compoments/formSelect/index.d.ts +0 -18
  98. package/FormItem/errorTips.d.ts +0 -12
  99. package/FormItem/index.d.ts +0 -152
  100. package/FormItem/index.js +0 -78
  101. package/FormItem/itemType.d.ts +0 -42
  102. package/FormItem/validateFunction.d.ts +0 -15
  103. package/FunctionModal/dialog.d.ts +0 -58
  104. package/FunctionModal/index.d.ts +0 -8
  105. package/FunctionModal/index.js +0 -43
  106. package/FunctionModal/modalContext.d.ts +0 -15
  107. package/GlobalContext/componentsProps.d.ts +0 -21
  108. package/GlobalContext/confirmLocale.d.ts +0 -7
  109. package/GlobalContext/constant.d.ts +0 -8
  110. package/GlobalContext/index.d.ts +0 -28
  111. package/GlobalContext/index.js +0 -41
  112. package/GlobalContext/intl.d.ts +0 -34
  113. package/GlobalContext/useFormatMessage.d.ts +0 -3
  114. package/GlobalContext/usePopupContainer.d.ts +0 -4
  115. package/Help/index.d.ts +0 -24
  116. package/Help/index.js +0 -41
  117. package/HelperText/index.d.ts +0 -27
  118. package/HelperText/index.js +0 -34
  119. package/Hooks/useGlobalProps.d.ts +0 -1
  120. package/InputLang/index.d.ts +0 -46
  121. package/InputLang/index.js +0 -247
  122. package/InputNumber/index.d.ts +0 -71
  123. package/InputNumber/index.js +0 -277
  124. package/Label/index.d.ts +0 -37
  125. package/Label/index.js +0 -85
  126. package/Loading/index.d.ts +0 -17
  127. package/Loading/index.js +0 -47
  128. package/Menu/footerExpansion.d.ts +0 -9
  129. package/Menu/index.d.ts +0 -10
  130. package/Menu/index.js +0 -1105
  131. package/Menu/interface.d.ts +0 -141
  132. package/Menu/logo.d.ts +0 -9
  133. package/Menu/verticalMenuList.d.ts +0 -14
  134. package/Message/index.d.ts +0 -99
  135. package/Message/index.js +0 -246
  136. package/Modal/Confirm/index.d.ts +0 -65
  137. package/Modal/index.d.ts +0 -99
  138. package/Modal/index.js +0 -421
  139. package/Modal/lang/en_US.d.ts +0 -5
  140. package/Modal/lang/index.d.ts +0 -11
  141. package/Modal/lang/zh_CN.d.ts +0 -5
  142. package/MultiBox/index.d.ts +0 -58
  143. package/MultiBox/index.js +0 -272
  144. package/MultiBox/lang/en_US.d.ts +0 -4
  145. package/MultiBox/lang/index.d.ts +0 -9
  146. package/MultiBox/lang/zh_CN.d.ts +0 -4
  147. package/Notification/index.d.ts +0 -74
  148. package/Notification/index.js +0 -252
  149. package/OperateBtn/index.d.ts +0 -59
  150. package/OperateBtn/index.js +0 -237
  151. package/OperateBtn/lang/en_US.d.ts +0 -4
  152. package/OperateBtn/lang/index.d.ts +0 -9
  153. package/OperateBtn/lang/zh_CN.d.ts +0 -4
  154. package/PageHeader/horizontalMeun.d.ts +0 -9
  155. package/PageHeader/horizontalMeunRight.d.ts +0 -9
  156. package/PageHeader/index.d.ts +0 -10
  157. package/PageHeader/index.js +0 -1050
  158. package/PageHeader/interface.d.ts +0 -169
  159. package/Pagination/index.d.ts +0 -46
  160. package/Pagination/index.js +0 -461
  161. package/Pagination/lang/en_US.d.ts +0 -8
  162. package/Pagination/lang/index.d.ts +0 -17
  163. package/Pagination/lang/zh_CN.d.ts +0 -8
  164. package/ParauiProvider/index.d.ts +0 -8
  165. package/ParauiProvider/index.js +0 -52
  166. package/PasswordRules/index.d.ts +0 -46
  167. package/PasswordRules/index.js +0 -113
  168. package/PopConfirm/index.d.ts +0 -61
  169. package/PopConfirm/index.js +0 -194
  170. package/PopConfirm/lang/en_US.d.ts +0 -5
  171. package/PopConfirm/lang/index.d.ts +0 -11
  172. package/PopConfirm/lang/zh_CN.d.ts +0 -5
  173. package/Popover/index.d.ts +0 -16
  174. package/Popover/index.js +0 -59
  175. package/Progress/Line.d.ts +0 -47
  176. package/Progress/Steps.d.ts +0 -17
  177. package/Progress/index.d.ts +0 -83
  178. package/Progress/index.js +0 -323
  179. package/Progress/utils.d.ts +0 -6
  180. package/Querying/images/index.d.ts +0 -3
  181. package/Querying/index.d.ts +0 -26
  182. package/Querying/index.js +0 -760
  183. package/Querying/lang/en_US.d.ts +0 -4
  184. package/Querying/lang/index.d.ts +0 -9
  185. package/Querying/lang/zh_CN.d.ts +0 -4
  186. package/Radio/index.d.ts +0 -38
  187. package/Radio/index.js +0 -97
  188. package/RadioGroup/index.d.ts +0 -46
  189. package/RadioGroup/index.js +0 -134
  190. package/Search/index.d.ts +0 -57
  191. package/Search/index.js +0 -208
  192. package/Select/index.d.ts +0 -93
  193. package/Select/index.js +0 -1146
  194. package/Select/lang/en_US.d.ts +0 -5
  195. package/Select/lang/index.d.ts +0 -11
  196. package/Select/lang/zh_CN.d.ts +0 -5
  197. package/SelectInput/index.d.ts +0 -12
  198. package/SelectInput/index.js +0 -55
  199. package/Selector/index.d.ts +0 -11
  200. package/Selector/index.js +0 -2175
  201. package/Selector/interface.d.ts +0 -432
  202. package/Selector/lang/en_US.d.ts +0 -11
  203. package/Selector/lang/index.d.ts +0 -23
  204. package/Selector/lang/zh_CN.d.ts +0 -11
  205. package/Selector/selectorData/index.d.ts +0 -10
  206. package/Selector/selectorMain/index.d.ts +0 -10
  207. package/Selector/selectorNode/index.d.ts +0 -10
  208. package/Selector/util.d.ts +0 -15
  209. package/SelectorPicker/index.d.ts +0 -53
  210. package/SelectorPicker/index.js +0 -444
  211. package/SelectorPicker/lang/en_US.d.ts +0 -5
  212. package/SelectorPicker/lang/index.d.ts +0 -11
  213. package/SelectorPicker/lang/zh_CN.d.ts +0 -5
  214. package/SingleBox/index.d.ts +0 -44
  215. package/SingleBox/index.js +0 -224
  216. package/SingleBox/lang/en_US.d.ts +0 -4
  217. package/SingleBox/lang/index.d.ts +0 -9
  218. package/SingleBox/lang/zh_CN.d.ts +0 -4
  219. package/Slider/index.d.ts +0 -14
  220. package/Slider/index.js +0 -119
  221. package/Slider/interface.d.ts +0 -102
  222. package/Split/index.d.ts +0 -7
  223. package/Split/index.js +0 -123
  224. package/Status/index.d.ts +0 -21
  225. package/Status/index.js +0 -37
  226. package/Stepper/icons.d.ts +0 -5
  227. package/Stepper/index.d.ts +0 -59
  228. package/Stepper/index.js +0 -97
  229. package/Switch/index.d.ts +0 -78
  230. package/Switch/index.js +0 -71
  231. package/Table/index.d.ts +0 -10
  232. package/Table/index.js +0 -2999
  233. package/Table/interface.d.ts +0 -346
  234. package/Table/lang/en_US.d.ts +0 -8
  235. package/Table/lang/index.d.ts +0 -17
  236. package/Table/lang/zh_CN.d.ts +0 -8
  237. package/Table/tableBody.d.ts +0 -9
  238. package/Table/tableBodyElement/index.d.ts +0 -15
  239. package/Table/tableBodyInterface.d.ts +0 -73
  240. package/Table/tableContainer/index.d.ts +0 -16
  241. package/Table/tableElement/index.d.ts +0 -17
  242. package/Table/tableHead.d.ts +0 -9
  243. package/Table/tableHeadElement/index.d.ts +0 -15
  244. package/Table/tableHeadInterface.d.ts +0 -37
  245. package/Table/tablePagination.d.ts +0 -9
  246. package/Table/tablePaginationInterface.d.ts +0 -27
  247. package/Table/tdElement/index.d.ts +0 -15
  248. package/Table/thElement/index.d.ts +0 -28
  249. package/Table/trElement/index.d.ts +0 -15
  250. package/Table/util.d.ts +0 -34
  251. package/Tabs/index.d.ts +0 -69
  252. package/Tabs/index.js +0 -205
  253. package/Tabs/lang/en_US.d.ts +0 -4
  254. package/Tabs/lang/index.d.ts +0 -9
  255. package/Tabs/lang/zh_CN.d.ts +0 -4
  256. package/Tag/TagGroup.d.ts +0 -66
  257. package/Tag/index.d.ts +0 -34
  258. package/Tag/index.js +0 -259
  259. package/TextEditor/common.d.ts +0 -11
  260. package/TextEditor/index.d.ts +0 -127
  261. package/TextEditor/index.js +0 -286
  262. package/TextField/index.d.ts +0 -90
  263. package/TextField/index.js +0 -611
  264. package/TimePicker/index.d.ts +0 -22
  265. package/TimePicker/index.js +0 -80
  266. package/TimePicker/locale/en_US.d.ts +0 -3
  267. package/TimePicker/locale/zh_CN.d.ts +0 -3
  268. package/TimePicker/style/index.d.ts +0 -1
  269. package/Timeline/TimelineItem.d.ts +0 -30
  270. package/Timeline/index.d.ts +0 -32
  271. package/Timeline/index.js +0 -148
  272. package/Title/index.d.ts +0 -30
  273. package/Title/index.js +0 -50
  274. package/ToggleButton/ToggleButtonGroup.d.ts +0 -49
  275. package/ToggleButton/index.d.ts +0 -49
  276. package/ToggleButton/index.js +0 -193
  277. package/Tooltip/index.d.ts +0 -11
  278. package/Tooltip/index.js +0 -368
  279. package/Tooltip/interface.d.ts +0 -35
  280. package/Tooltip/utils.d.ts +0 -18
  281. package/Transfer/box.d.ts +0 -38
  282. package/Transfer/index.d.ts +0 -32
  283. package/Transfer/index.js +0 -611
  284. package/Transfer/lang/en_US.d.ts +0 -10
  285. package/Transfer/lang/index.d.ts +0 -21
  286. package/Transfer/lang/zh_CN.d.ts +0 -10
  287. package/Transfer/useClick.d.ts +0 -3
  288. package/Tree/OperateBar/index.d.ts +0 -13
  289. package/Tree/Tree.d.ts +0 -4
  290. package/Tree/index.d.ts +0 -5
  291. package/Tree/index.js +0 -38
  292. package/Tree/interface.d.ts +0 -210
  293. package/Tree/lang/en_US.d.ts +0 -8
  294. package/Tree/lang/index.d.ts +0 -17
  295. package/Tree/lang/zh_CN.d.ts +0 -8
  296. package/Tree/utils/closestPolyfill.d.ts +0 -0
  297. package/Tree/utils/tools.d.ts +0 -25
  298. package/Tree/utils/treeUtil.d.ts +0 -15
  299. package/Upload/Dragger/index.d.ts +0 -10
  300. package/Upload/ErroTip/index.d.ts +0 -13
  301. package/Upload/ImageUpload/index.d.ts +0 -16
  302. package/Upload/ImgCrop/EasyCrop.d.ts +0 -17
  303. package/Upload/ImgCrop/constants.d.ts +0 -7
  304. package/Upload/ImgCrop/index.d.ts +0 -6
  305. package/Upload/ImgCrop/interface.d.ts +0 -48
  306. package/Upload/UploadList/index.d.ts +0 -5
  307. package/Upload/index.d.ts +0 -15
  308. package/Upload/index.js +0 -1446
  309. package/Upload/interface.d.ts +0 -136
  310. package/Upload/lang/en_US.d.ts +0 -12
  311. package/Upload/lang/index.d.ts +0 -25
  312. package/Upload/lang/zh_CN.d.ts +0 -12
  313. package/_verture/constant-66aa48a1.js +0 -10
  314. package/_verture/defineProperty-62acccfc.js +0 -34
  315. package/_verture/index-74f820ba.js +0 -1355
  316. package/_verture/index-77f9e0fb.js +0 -236
  317. package/_verture/index-9fd86055.js +0 -711
  318. package/_verture/index-a369ca3f.js +0 -4
  319. package/_verture/index-beef914f.js +0 -340
  320. package/_verture/index-e2881a53.js +0 -16
  321. package/_verture/intl-5cbb940c.js +0 -57
  322. package/_verture/modalContext-92bb0e16.js +0 -201
  323. package/_verture/slicedToArray-76060636.js +0 -43
  324. package/_verture/sortable.esm-49896035.js +0 -3791
  325. package/_verture/style-inject.es-300983ab.js +0 -28
  326. package/_verture/toConsumableArray-81040c9e.js +0 -19
  327. package/_verture/tslib.es6-55ed4bd2.js +0 -38
  328. package/_verture/typeof-498dd2b1.js +0 -11
  329. package/_verture/unsupportedIterableToArray-cb478f24.js +0 -16
  330. package/_verture/useFormatMessage-703f8b20.js +0 -20
  331. package/_verture/useGlobalProps-1b846a65.js +0 -11
  332. package/_verture/usePopupContainer-87febeb9.js +0 -68
  333. package/_verture/util-7e1fb1e2.js +0 -18
  334. package/index.d.ts +0 -144
  335. package/index.js +0 -180
  336. package/umd/AutoBox.js +0 -43
  337. package/umd/AutoTips.js +0 -15
  338. package/umd/Breadcrumbs.js +0 -42
  339. package/umd/Button.js +0 -43
  340. package/umd/ButtonGroup.js +0 -43
  341. package/umd/Carousel.js +0 -6
  342. package/umd/Cascader.js +0 -43
  343. package/umd/Checkbox.js +0 -42
  344. package/umd/CheckboxGroup.js +0 -42
  345. package/umd/Collapse.js +0 -43
  346. package/umd/CollapseBox.js +0 -1
  347. package/umd/CollapseLayout.js +0 -29
  348. package/umd/ColorPicker.js +0 -1
  349. package/umd/ComboSelect.js +0 -42
  350. package/umd/Container.js +0 -1
  351. package/umd/DatePicker.js +0 -42
  352. package/umd/Desktop.js +0 -42
  353. package/umd/DragVerify.js +0 -28
  354. package/umd/Drawer.js +0 -43
  355. package/umd/Dropdown.js +0 -15
  356. package/umd/DynamicMultiBox.js +0 -54
  357. package/umd/Empty.js +0 -15
  358. package/umd/Form.js +0 -42
  359. package/umd/FormItem.js +0 -42
  360. package/umd/FunctionModal.js +0 -42
  361. package/umd/GlobalContext.js +0 -1
  362. package/umd/Help.js +0 -42
  363. package/umd/HelperText.js +0 -1
  364. package/umd/InputLang.js +0 -42
  365. package/umd/InputNumber.js +0 -42
  366. package/umd/Label.js +0 -42
  367. package/umd/Loading.js +0 -29
  368. package/umd/Menu.js +0 -29
  369. package/umd/Message.js +0 -30
  370. package/umd/Modal.js +0 -42
  371. package/umd/MultiBox.js +0 -42
  372. package/umd/Notification.js +0 -43
  373. package/umd/OperateBtn.js +0 -42
  374. package/umd/PageHeader.js +0 -42
  375. package/umd/Pagination.js +0 -42
  376. package/umd/ParauiProvider.js +0 -15
  377. package/umd/PasswordRules.js +0 -29
  378. package/umd/PopConfirm.js +0 -42
  379. package/umd/Popover.js +0 -15
  380. package/umd/Progress.js +0 -35
  381. package/umd/Querying.js +0 -15
  382. package/umd/Radio.js +0 -42
  383. package/umd/RadioGroup.js +0 -42
  384. package/umd/Search.js +0 -42
  385. package/umd/Select.js +0 -42
  386. package/umd/SelectInput.js +0 -42
  387. package/umd/Selector.js +0 -42
  388. package/umd/SelectorPicker.js +0 -42
  389. package/umd/SingleBox.js +0 -42
  390. package/umd/Slider.js +0 -15
  391. package/umd/Split.js +0 -1
  392. package/umd/Status.js +0 -1
  393. package/umd/Stepper.js +0 -42
  394. package/umd/Switch.js +0 -42
  395. package/umd/Table.js +0 -42
  396. package/umd/Tabs.js +0 -42
  397. package/umd/Tag.js +0 -43
  398. package/umd/TextEditor.js +0 -205
  399. package/umd/TextField.js +0 -42
  400. package/umd/TimePicker.js +0 -42
  401. package/umd/Timeline.js +0 -1
  402. package/umd/Title.js +0 -1
  403. package/umd/ToggleButton.js +0 -43
  404. package/umd/Tooltip.js +0 -15
  405. package/umd/Transfer.js +0 -49
  406. package/umd/Tree.js +0 -42
  407. package/umd/Upload.js +0 -56
package/Select/index.js DELETED
@@ -1,1146 +0,0 @@
1
- import { _ as _defineProperty } from '../_verture/defineProperty-62acccfc.js';
2
- import { _ as _toConsumableArray } from '../_verture/toConsumableArray-81040c9e.js';
3
- import { _ as _typeof } from '../_verture/typeof-498dd2b1.js';
4
- import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
5
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
6
- import React__default, { useRef, useState, useEffect, useMemo } from 'react';
7
- import Empty from '../Empty/index.js';
8
- import Label from '../Label/index.js';
9
- import { D as Dropdown } from '../_verture/index-77f9e0fb.js';
10
- import { UUID, DeepClone } from '@paraview/lib';
11
- import GlobalContext from '@para-ui/core/GlobalContext';
12
- import CloseIcon from '@para-ui/icons/Close';
13
- import CloseCircle from '@para-ui/icons/CloseCircle';
14
- import Down from '@para-ui/icons/Down';
15
- import Check from '@para-ui/icons/Check';
16
- import SearchIcon from '@para-ui/icons/Search';
17
- import { u as useFormatMessage } from '../_verture/useFormatMessage-703f8b20.js';
18
- import AutoTips from '../AutoTips/index.js';
19
- import { Loading } from '../Loading/index.js';
20
- import { Popover } from '../Popover/index.js';
21
- import HelperText from '../HelperText/index.js';
22
- import { u as useGlobalProps } from '../_verture/useGlobalProps-1b846a65.js';
23
- import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
24
- import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
25
- import '../_verture/unsupportedIterableToArray-cb478f24.js';
26
- import 'clsx';
27
- import '../Help/index.js';
28
- import '../_verture/tslib.es6-55ed4bd2.js';
29
- import '../Tooltip/index.js';
30
- import 'rc-tooltip';
31
- import 'rc-tooltip/lib/placements';
32
- import '@para-ui/icons/Help';
33
- import 'rc-dropdown';
34
- import '../_verture/usePopupContainer-87febeb9.js';
35
- import 'dayjs';
36
- import '@para-ui/icons/LoadingF';
37
-
38
- var en = {
39
- searchPlaceholder: 'Please enter a search name',
40
- selected: 'Selected'
41
- };
42
-
43
- var zh = {
44
- searchPlaceholder: '请输入搜索名',
45
- selected: '已选中'
46
- };
47
-
48
- var localeJson = {
49
- zh: zh,
50
- en: en
51
- };
52
-
53
- var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-select {\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n display: inline-block;\n vertical-align: top;\n width: 100%;\n}\n.paraui-v3-select > .select-content {\n line-height: 0;\n border: 1px solid;\n border-radius: 4px;\n border-color: rgba(171, 176, 185, 0.4);\n padding-right: 12px;\n position: relative;\n cursor: pointer;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v3-select > .select-content:hover {\n border-color: rgb(54, 102, 214);\n}\n.paraui-v3-select > .select-content:hover > .select-svg > svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select > .select-content > .select-label-placeholder {\n width: 100%;\n height: 100%;\n padding: 0 12px;\n color: rgba(46, 55, 67, 0.4);\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n}\n.paraui-v3-select > .select-content > .select-label-placeholder > .select-required {\n margin-left: 2px;\n color: rgb(235, 96, 84);\n}\n.paraui-v3-select > .select-content > .select-svg {\n position: absolute;\n right: 12px;\n top: 0;\n z-index: 2;\n}\n.paraui-v3-select > .select-content > .select-svg > svg {\n font-size: 20px;\n transition: all 0.3s;\n color: rgba(46, 55, 67, 0.7);\n opacity: 0;\n}\n.paraui-v3-select > .select-content > .select-svg > .clean-up-icon {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n}\n.paraui-v3-select > .select-content > .select-svg > .clean-up-icon > svg {\n font-size: 16px;\n transition: all 0.3s;\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-select > .select-content > .select-svg > .clean-up-icon:hover > svg {\n color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-select > .select-content > .radio-select-content {\n padding-left: 12px;\n font-size: 14px;\n line-height: 1.43;\n color: rgb(46, 55, 67);\n word-break: break-all;\n}\n.paraui-v3-select > .select-content > .radio-search-outside {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n line-height: 1.43;\n padding: 0 30px 0 10px;\n font-size: 14px;\n cursor: pointer;\n color: rgb(46, 55, 67);\n border: 0;\n border-radius: 4px;\n background: transparent;\n}\n.paraui-v3-select > .select-content > .check-select-content {\n padding-left: 12px;\n height: 100%;\n overflow: hidden;\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item {\n display: inline-block;\n background-color: rgba(171, 176, 185, 0.2);\n border-radius: 4px;\n padding: 0 12px 0 12px;\n color: rgb(46, 55, 67);\n margin-right: 8px;\n vertical-align: top;\n max-width: 100%;\n white-space: nowrap;\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item.check-select-content-item-more {\n cursor: pointer;\n color: rgb(46, 55, 67);\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item.check-select-content-item-more > span {\n max-width: none;\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item > span {\n display: inline-block;\n height: 100%;\n vertical-align: top;\n max-width: calc(100% - 20px);\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item > svg {\n cursor: pointer;\n margin-left: 8px;\n color: rgb(46, 55, 67);\n font-size: 16px;\n position: relative;\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item > svg:hover {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-select-content-item.check-select-content-item-noclose > span {\n max-width: none;\n}\n.paraui-v3-select > .select-content > .check-select-content > .check-search-outside {\n width: 10px;\n max-width: 100% !important;\n display: none;\n border: 0;\n color: rgb(46, 55, 67);\n font-size: 14px;\n cursor: pointer;\n}\n.paraui-v3-select.paraui-v3-select-allow-clear > .select-content {\n padding-right: 40px;\n}\n.paraui-v3-select.paraui-v3-select-allow-clear.paraui-v3-select-value > .select-content:hover > .select-svg > svg {\n opacity: 0;\n transition: all 0s;\n}\n.paraui-v3-select.paraui-v3-select-allow-clear.paraui-v3-select-value > .select-content:hover > .select-svg > .clean-up-icon {\n opacity: 1;\n transition: all 0.3s;\n}\n.paraui-v3-select.paraui-v3-select-over-line.paraui-v3-select-small > .select-content {\n height: inherit;\n min-height: 28px;\n}\n.paraui-v3-select.paraui-v3-select-over-line.paraui-v3-select-medium > .select-content {\n height: inherit;\n min-height: 32px;\n}\n.paraui-v3-select.paraui-v3-select-over-line.paraui-v3-select-large > .select-content {\n height: inherit;\n min-height: 36px;\n}\n.paraui-v3-select.paraui-v3-select-show-select > .select-content {\n padding-right: 40px;\n}\n.paraui-v3-select.paraui-v3-select-show-select > .select-content > .select-svg > svg {\n opacity: 1;\n}\n.paraui-v3-select.paraui-v3-select-disabled > .select-content {\n background-color: rgba(171, 176, 185, 0.12);\n cursor: not-allowed;\n}\n.paraui-v3-select.paraui-v3-select-disabled > .select-content:hover {\n border-color: rgba(171, 176, 185, 0.4);\n}\n.paraui-v3-select.paraui-v3-select-disabled > .select-content:hover > .select-svg > svg {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-select.paraui-v3-select-disabled > .select-content > .check-select-content > .check-select-content-item > span {\n max-width: 100%;\n}\n.paraui-v3-select.paraui-v3-select-error > .select-content {\n border-color: rgb(235, 96, 84) !important;\n}\n.paraui-v3-select.paraui-v3-select-open > .select-content {\n border-color: rgb(54, 102, 214);\n}\n.paraui-v3-select.paraui-v3-select-open > .select-content > .select-svg > svg {\n transform: rotate(180deg);\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select.paraui-v3-select-open > .select-content > .check-select-content > .check-search-outside {\n display: inline-block;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content {\n height: 28px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .select-label-placeholder {\n line-height: 26px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .select-svg {\n top: 3px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .radio-select-content {\n padding-bottom: 3px;\n padding-top: 3px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .check-select-content {\n padding-bottom: 3px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .check-select-content > .check-select-content-item {\n margin-top: 3px;\n height: 20px;\n line-height: 20px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .check-select-content > .check-select-content-item > svg {\n top: 2px;\n}\n.paraui-v3-select.paraui-v3-select-small > .select-content > .check-select-content > .check-search-outside {\n margin-top: 3px;\n height: 20px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content {\n height: 32px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .select-label-placeholder {\n line-height: 30px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .select-svg {\n top: 6px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .radio-select-content {\n padding-bottom: 5px;\n padding-top: 5px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .check-select-content {\n padding-bottom: 4px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .check-select-content > .check-select-content-item {\n margin-top: 4px;\n height: 22px;\n line-height: 22px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .check-select-content > .check-select-content-item > svg {\n top: 3px;\n}\n.paraui-v3-select.paraui-v3-select-medium > .select-content > .check-select-content > .check-search-outside {\n margin-top: 4px;\n height: 22px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content {\n height: 36px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .select-label-placeholder {\n line-height: 34px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .select-svg {\n top: 8px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .radio-select-content {\n padding-bottom: 7px;\n padding-top: 7px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .check-select-content {\n padding-bottom: 5px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .check-select-content > .check-select-content-item {\n margin-top: 5px;\n height: 24px;\n line-height: 24px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .check-select-content > .check-select-content-item > svg {\n top: 3px;\n}\n.paraui-v3-select.paraui-v3-select-large > .select-content > .check-select-content > .check-search-outside {\n margin-top: 5px;\n height: 24px;\n}\n\n.paraui-v3-select-popover.component-dropdown .select-popover-content.select-popover-content-search > .select-popover-list {\n padding-top: 0px;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content.select-popover-content-search > .select-popover-list > .select-nodata {\n margin-top: 58px;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-search {\n display: flex;\n align-items: center;\n padding: 0 12px;\n border-bottom: 1px solid;\n border-color: rgba(171, 176, 185, 0.2);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-search > input {\n border: 0;\n outline: none;\n font-size: 14px;\n color: rgb(46, 55, 67);\n width: 100%;\n height: 100%;\n line-height: 1.43;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-search > input::placeholder {\n font-size: 14px;\n opacity: 1;\n color: rgba(46, 55, 67, 0.4);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-search > svg {\n color: rgba(46, 55, 67, 0.4);\n font-size: 20px;\n cursor: pointer;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list {\n padding: 8px 0;\n max-height: 300px;\n overflow: auto;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list.select-popover-list-loading {\n height: 100px;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item {\n display: flex;\n cursor: pointer;\n padding: 0 12px;\n align-items: center;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item > .select-popover-list-item-label {\n flex: 1;\n overflow: hidden;\n color: rgb(46, 55, 67);\n font-size: 14px;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item > .select-popover-list-item-svg {\n line-height: 0;\n display: none;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item > .select-popover-list-item-svg > svg {\n font-size: 20px;\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-select > .select-popover-list-item-label {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-select > .select-popover-list-item-svg {\n display: inline-block;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-hover {\n background-color: rgba(171, 176, 185, 0.12);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-hover > .select-popover-list-item-label {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-keydown {\n background-color: rgba(171, 176, 185, 0.12);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-keydown > .select-popover-list-item-label {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-disabled {\n cursor: not-allowed;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list .select-popover-list-item.select-popover-list-item-disabled > .select-popover-list-item-label {\n color: rgba(46, 55, 67, 0.4) !important;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list > .select-popover-list-group .select-popover-list-group-label {\n display: inline-block;\n width: 100%;\n padding: 0 12px;\n color: rgba(46, 55, 67, 0.4);\n font-size: 14px;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list > .select-popover-list-group .select-popover-list-item {\n padding-left: 20px;\n}\n.paraui-v3-select-popover.component-dropdown .select-popover-content > .select-popover-list > .select-nodata {\n text-align: center;\n font-size: 14px;\n color: rgb(46, 55, 67);\n margin-top: 50px;\n margin-bottom: 72px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-small > .select-popover-content > .select-popover-search {\n height: 28px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-small > .select-popover-content > .select-popover-list .select-popover-list-item {\n height: 28px;\n line-height: 28px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-small > .select-popover-content > .select-popover-list > .select-popover-list-group .select-popover-list-group-label {\n height: 28px;\n line-height: 28px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-medium > .select-popover-content > .select-popover-search {\n height: 32px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-medium > .select-popover-content > .select-popover-list .select-popover-list-item {\n height: 32px;\n line-height: 32px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-medium > .select-popover-content > .select-popover-list > .select-popover-list-group .select-popover-list-group-label {\n line-height: 32px;\n height: 32px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-large > .select-popover-content > .select-popover-search {\n height: 36px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-large > .select-popover-content > .select-popover-list .select-popover-list-item {\n height: 36px;\n line-height: 36px;\n}\n.paraui-v3-select-popover.component-dropdown.paraui-v3-select-popover-large > .select-popover-content > .select-popover-list > .select-popover-list-group .select-popover-list-group-label {\n height: 36px;\n line-height: 36px;\n}\n\n.paraui-v3-select-more-popover {\n padding-left: 16px;\n}\n.paraui-v3-select-more-popover .select-more {\n width: 300px;\n}\n.paraui-v3-select-more-popover .select-more > .select-more-title {\n font-size: 14px;\n padding: 0 12px;\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-select-more-popover .select-more > .select-more-content {\n max-height: 300px;\n overflow: auto;\n}\n.paraui-v3-select-more-popover .select-more > .select-more-content > .select-more-content-item {\n padding: 0 12px;\n display: flex;\n justify-content: space-around;\n align-items: center;\n}\n.paraui-v3-select-more-popover .select-more > .select-more-content > .select-more-content-item > span {\n width: calc(100% - 25px);\n display: inline-block;\n font-size: 14px;\n}\n.paraui-v3-select-more-popover .select-more > .select-more-content > .select-more-content-item > svg {\n font-size: 20px;\n position: relative;\n cursor: pointer;\n color: rgb(46, 55, 67);\n}\n.paraui-v3-select-more-popover .select-more > .select-more-content > .select-more-content-item > svg:hover {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-select-more-popover.paraui-v3-select-more-popover-small .select-more > .select-more-title {\n line-height: 28px;\n}\n.paraui-v3-select-more-popover.paraui-v3-select-more-popover-small .select-more > .select-more-content > .select-more-content-item {\n line-height: 28px;\n}\n.paraui-v3-select-more-popover.paraui-v3-select-more-popover-medium .select-more > .select-more-title {\n line-height: 32px;\n}\n.paraui-v3-select-more-popover.paraui-v3-select-more-popover-medium .select-more > .select-more-content > .select-more-content-item {\n line-height: 32px;\n}\n.paraui-v3-select-more-popover.paraui-v3-select-more-popover-large .select-more > .select-more-title {\n line-height: 36px;\n}\n.paraui-v3-select-more-popover.paraui-v3-select-more-popover-large .select-more > .select-more-content > .select-more-content-item {\n line-height: 36px;\n}";
54
- styleInject(css_248z);
55
-
56
- /**
57
- * 计算文本长度
58
- * @param fontSize 字体大小
59
- * @param fontFamily 字体类型
60
- * @param text 文本
61
- */
62
- var textSize = function textSize(fontSize, fontFamily, text) {
63
- var span = document.createElement("span");
64
- span.id = 'referenceSpan';
65
- var result = {};
66
- result.width = span.offsetWidth;
67
- result.height = span.offsetHeight;
68
- span.style.visibility = "hidden";
69
- span.style.fontSize = fontSize;
70
- span.style.fontFamily = fontFamily;
71
- span.style.display = "inline-block";
72
- var isExists = document.getElementById("referenceSpan");
73
- if (isExists) {
74
- document.body.removeChild(isExists);
75
- }
76
- document.body.appendChild(span);
77
- if (typeof span.textContent != "undefined") {
78
- span.textContent = text;
79
- } else {
80
- span.innerText = text;
81
- }
82
- result.width = parseFloat(window.getComputedStyle(span).width) - result.width;
83
- result.height = parseFloat(window.getComputedStyle(span).height) - result.height;
84
- document.body.removeChild(span);
85
- return result;
86
- };
87
- var Select = function Select(props) {
88
- var _useGlobalProps = useGlobalProps(props, 'Select'),
89
- className = _useGlobalProps.className,
90
- style = _useGlobalProps.style,
91
- _useGlobalProps$showS = _useGlobalProps.showSelect,
92
- showSelect = _useGlobalProps$showS === void 0 ? true : _useGlobalProps$showS,
93
- _useGlobalProps$allow = _useGlobalProps.allowClear,
94
- allowClear = _useGlobalProps$allow === void 0 ? false : _useGlobalProps$allow,
95
- emptyProps = _useGlobalProps.emptyProps,
96
- _useGlobalProps$size = _useGlobalProps.size,
97
- size = _useGlobalProps$size === void 0 ? 'large' : _useGlobalProps$size,
98
- _useGlobalProps$label = _useGlobalProps.labelMode,
99
- labelMode = _useGlobalProps$label === void 0 ? 'outside' : _useGlobalProps$label,
100
- labelTooltip = _useGlobalProps.labelTooltip,
101
- _useGlobalProps$place = _useGlobalProps.placeholder,
102
- placeholder = _useGlobalProps$place === void 0 ? '' : _useGlobalProps$place,
103
- searchPlaceholder = _useGlobalProps.searchPlaceholder,
104
- _useGlobalProps$label2 = _useGlobalProps.label,
105
- label = _useGlobalProps$label2 === void 0 ? '' : _useGlobalProps$label2,
106
- _useGlobalProps$input = _useGlobalProps.input,
107
- input = _useGlobalProps$input === void 0 ? false : _useGlobalProps$input,
108
- _useGlobalProps$disab = _useGlobalProps.disabled,
109
- disabled = _useGlobalProps$disab === void 0 ? false : _useGlobalProps$disab,
110
- _useGlobalProps$multi = _useGlobalProps.multiple,
111
- multiple = _useGlobalProps$multi === void 0 ? false : _useGlobalProps$multi,
112
- _useGlobalProps$requi = _useGlobalProps.required,
113
- required = _useGlobalProps$requi === void 0 ? false : _useGlobalProps$requi,
114
- labelSign = _useGlobalProps.labelSign,
115
- _useGlobalProps$error = _useGlobalProps.error,
116
- error = _useGlobalProps$error === void 0 ? false : _useGlobalProps$error,
117
- hideErrorDom = _useGlobalProps.hideErrorDom,
118
- _useGlobalProps$helpe = _useGlobalProps.helperText,
119
- helperText = _useGlobalProps$helpe === void 0 ? '' : _useGlobalProps$helpe,
120
- list = _useGlobalProps.list,
121
- _useGlobalProps$showN = _useGlobalProps.showName,
122
- showName = _useGlobalProps$showN === void 0 ? 'label' : _useGlobalProps$showN,
123
- _useGlobalProps$showV = _useGlobalProps.showValue,
124
- showValue = _useGlobalProps$showV === void 0 ? 'value' : _useGlobalProps$showV,
125
- _useGlobalProps$child = _useGlobalProps.childrenName,
126
- childrenName = _useGlobalProps$child === void 0 ? 'children' : _useGlobalProps$child,
127
- value = _useGlobalProps.value,
128
- onChange = _useGlobalProps.onChange,
129
- _useGlobalProps$overL = _useGlobalProps.overLine,
130
- overLine = _useGlobalProps$overL === void 0 ? false : _useGlobalProps$overL,
131
- _useGlobalProps$searc = _useGlobalProps.search,
132
- search = _useGlobalProps$searc === void 0 ? false : _useGlobalProps$searc,
133
- _useGlobalProps$searc2 = _useGlobalProps.searchModel,
134
- searchModel = _useGlobalProps$searc2 === void 0 ? 'inside' : _useGlobalProps$searc2,
135
- selectPopoverClassName = _useGlobalProps.selectPopoverClassName,
136
- morePopoverClassName = _useGlobalProps.morePopoverClassName;
137
- _useGlobalProps.fetchSuggestions;
138
- var searchInputProps = _useGlobalProps.searchInputProps,
139
- onEnter = _useGlobalProps.onEnter,
140
- onEnterInput = _useGlobalProps.onEnterInput,
141
- onClear = _useGlobalProps.onClear,
142
- getPopupContainer = _useGlobalProps.getPopupContainer,
143
- renderContent = _useGlobalProps.renderContent,
144
- _useGlobalProps$selec = _useGlobalProps.selectCheckIcon,
145
- selectCheckIcon = _useGlobalProps$selec === void 0 ? true : _useGlobalProps$selec;
146
- var posDom = useRef(null);
147
- var _useState = useState($prefixCls + '-select-' + UUID()),
148
- _useState2 = _slicedToArray(_useState, 1),
149
- classOne = _useState2[0]; // 唯一class
150
- var _useState3 = useState('select-popover-' + UUID()),
151
- _useState4 = _slicedToArray(_useState3, 1),
152
- classOneSelect = _useState4[0]; // 唯一class
153
- var _useState5 = useState(false),
154
- _useState6 = _slicedToArray(_useState5, 2),
155
- open = _useState6[0],
156
- setOpen = _useState6[1]; // 是否打开下拉框
157
- var _useState7 = useState(false),
158
- _useState8 = _slicedToArray(_useState7, 2),
159
- showText = _useState8[0],
160
- setShowText = _useState8[1]; // 是否显示lable,placeholder, true不显示
161
- var _useState9 = useState([]),
162
- _useState10 = _slicedToArray(_useState9, 2),
163
- valueCom = _useState10[0],
164
- setValueCom = _useState10[1]; // 值
165
- var _useState11 = useState([]),
166
- _useState12 = _slicedToArray(_useState11, 2),
167
- listCom = _useState12[0],
168
- setListCom = _useState12[1]; // 下拉框渲染
169
- var _useState13 = useState({}),
170
- _useState14 = _slicedToArray(_useState13, 2),
171
- listJson = _useState14[0],
172
- setListJson = _useState14[1]; // 下拉选项对象
173
- var _useState15 = useState(null),
174
- _useState16 = _slicedToArray(_useState15, 2),
175
- morePos = _useState16[0],
176
- setMorePos = _useState16[1]; // 超出在原始位置
177
- var _useState17 = useState(false),
178
- _useState18 = _slicedToArray(_useState17, 2),
179
- openMore = _useState18[0],
180
- setOpenMore = _useState18[1]; // 显示更多
181
- var _useState19 = useState(''),
182
- _useState20 = _slicedToArray(_useState19, 2),
183
- searchValue = _useState20[0],
184
- setSearchValue = _useState20[1]; // 搜索值
185
- var _useState21 = useState(false),
186
- _useState22 = _slicedToArray(_useState21, 2),
187
- overLineCom = _useState22[0],
188
- setOverLineCom = _useState22[1]; // 超出是否换行
189
- var _useState23 = useState(false),
190
- _useState24 = _slicedToArray(_useState23, 2),
191
- loading = _useState24[0],
192
- setLoading = _useState24[1]; // 下拉加载loading
193
- var _useState25 = useState(false),
194
- _useState26 = _slicedToArray(_useState25, 2),
195
- emptyBol = _useState26[0],
196
- setEmptyBol = _useState26[1]; // 延迟显示空状态
197
- var textDom = useRef(null);
198
- var _useState27 = useState({}),
199
- _useState28 = _slicedToArray(_useState27, 1),
200
- constData = _useState28[0]; // 不变的常量 多行 不换行定时器 搜索定时器
201
- var _React$useContext = React__default.useContext(GlobalContext),
202
- language = _React$useContext.language,
203
- locale = _React$useContext.locale;
204
- var intl = useFormatMessage('Select', localeJson);
205
- useEffect(function () {
206
- if (props.defaultValue !== undefined) {
207
- if (props.multiple) {
208
- // 多选
209
- setValueCom(DeepClone(props.defaultValue || []));
210
- } else {
211
- // 单选
212
- setValueCom(props.defaultValue === '' ? [] : [props.defaultValue]);
213
- }
214
- }
215
- return function () {
216
- clearTimeout(constData.searchTimer);
217
- clearTimeout(constData.timer);
218
- clearTimeout(constData.scrollTimer);
219
- clearTimeout(constData.timerEmpty);
220
- };
221
- }, []);
222
- // 赋值value
223
- useEffect(function () {
224
- if (value !== undefined) {
225
- if (multiple) {
226
- // 多选
227
- setValueCom(DeepClone(value || []));
228
- } else {
229
- // 单选
230
- setValueCom(value === '' ? [] : [value]);
231
- }
232
- }
233
- }, [value, multiple]);
234
- // 判断组件超出是换行,还是不换行
235
- useEffect(function () {
236
- if (searchModel === 'outside' && input) {
237
- if (multiple) return setOverLineCom(true); // 多选,输入框在框里面,超出必须换行
238
- // return setOverLineCom(false); // 单选不换行
239
- }
240
-
241
- setOverLineCom(overLine);
242
- }, [overLine, searchModel, multiple, input]);
243
- // 计算下拉选项,处理下拉选项json
244
- useEffect(function () {
245
- var listHand = handList(list);
246
- var json = {};
247
- for (var i = 0, l = listHand.length; i < l; i++) {
248
- var item = listHand[i];
249
- if (item[childrenName] && item[childrenName].length > 0) {
250
- var childArr = item[childrenName];
251
- for (var j = 0, k = childArr.length; j < k; j++) {
252
- var childItem = childArr[j];
253
- var key = childItem[showValue];
254
- json[key] = childItem;
255
- }
256
- } else {
257
- var _key = item[showValue];
258
- json[_key] = item;
259
- }
260
- }
261
- setListJson(json);
262
- }, [list]);
263
- useEffect(function () {
264
- if (multiple) {
265
- if (!overLineCom) {
266
- // 不换行
267
- setMorePos(valueCom.length);
268
- }
269
- }
270
- }, [overLineCom, multiple, valueCom]);
271
- // 多行,不换行计算
272
- useEffect(function () {
273
- // 多行不换行计算
274
- if (!overLineCom) {
275
- setTimeout(function () {
276
- handMultiline(valueCom.length);
277
- });
278
- window.addEventListener("resize", changeSize);
279
- } else {
280
- setMorePos(valueCom.length);
281
- }
282
- return function () {
283
- window.removeEventListener("resize", changeSize);
284
- };
285
- }, [valueCom, overLineCom]);
286
- // 计算是否显示label,placehold
287
- useEffect(function () {
288
- if (valueCom && valueCom.length > 0) {
289
- setShowText(true); // 有值不显示label,placehold
290
- } else {
291
- setShowText(false);
292
- if (searchModel === 'outside') {
293
- setShowText(searchValue !== '');
294
- }
295
- }
296
- }, [search, searchValue, searchModel, valueCom, input]);
297
- // 筛选下拉框数据
298
- useEffect(function () {
299
- if (!open) return;
300
- clearTimeout(constData.searchTimer);
301
- constData.searchTimer = setTimeout(function () {
302
- setLoading(true);
303
- if (props.fetchSuggestions) {
304
- props.fetchSuggestions && props.fetchSuggestions(searchValue, function (data) {
305
- var listHand = handList(data);
306
- handSelectList(listHand, true);
307
- });
308
- } else {
309
- var listHand = handList(list);
310
- handSelectList(listHand);
311
- }
312
- }, 100);
313
- // 延迟显示下拉框空状态
314
- clearTimeout(constData.timerEmpty);
315
- setEmptyBol(false);
316
- constData.timerEmpty = setTimeout(function () {
317
- constData.emptyBol = true;
318
- setEmptyBol(true);
319
- }, 200);
320
- }, [search, searchValue, list, open]);
321
- useEffect(function () {
322
- if (open) {
323
- setTimeout(function () {
324
- inputFocus();
325
- window.addEventListener("click", clickCom);
326
- window.addEventListener("keydown", keydownCom);
327
- });
328
- } else {
329
- setSearchValue('');
330
- window.removeEventListener("click", clickCom);
331
- window.removeEventListener("keydown", keydownCom);
332
- }
333
- return function () {
334
- window.removeEventListener("click", clickCom);
335
- window.removeEventListener("keydown", keydownCom);
336
- };
337
- }, [open]);
338
- // 搜索框有值,显示下拉框
339
- useEffect(function () {
340
- if (searchValue) setOpen(true);
341
- }, [searchValue]);
342
- // 是否计算搜索框长度
343
- useEffect(function () {
344
- if (disabled === true) return;
345
- if (multiple && searchModel === 'outside') handInputLength(searchValue);
346
- }, [searchValue, multiple, disabled, searchModel, input]);
347
- /**
348
- * 处理初始化数据,让list支持传入字符串
349
- * 把数组转换成,组件能接收的格式
350
- * */
351
- var handList = function handList(arr) {
352
- var handArr = [];
353
- for (var i = 0, l = arr.length; i < l; i++) {
354
- var item = arr[i];
355
- if (_typeof(item) === 'object' && item !== null) {
356
- handArr.push(item);
357
- } else {
358
- var obj = {};
359
- obj[showName] = item;
360
- obj[showValue] = item;
361
- handArr.push(obj);
362
- }
363
- }
364
- return handArr;
365
- };
366
- /**
367
- * 处理下拉内容
368
- * @param listData 数据源
369
- * @param customSearch 是否自定义搜索
370
- * */
371
- var handSelectList = function handSelectList(listData, customSearch) {
372
- var arr = [];
373
- var listDeep = _toConsumableArray(listData);
374
- for (var i = 0, l = listDeep.length; i < l; i++) {
375
- var item = listDeep[i];
376
- if (item[childrenName] && item[childrenName].length > 0) {
377
- var childArr = item[childrenName];
378
- var handChildArr = [];
379
- for (var j = 0, k = childArr.length; j < k; j++) {
380
- var childItem = childArr[j];
381
- if (customSearch) {
382
- handChildArr.push(childItem);
383
- } else {
384
- var bol = handShowItem(childItem);
385
- if (bol) handChildArr.push(childItem);
386
- }
387
- }
388
- // 存在二级
389
- if (handChildArr.length > 0) {
390
- item[childrenName] = handChildArr;
391
- arr.push(item);
392
- }
393
- } else {
394
- if (customSearch) {
395
- arr.push(item);
396
- } else {
397
- var _bol = handShowItem(item);
398
- if (_bol) arr.push(item);
399
- }
400
- }
401
- }
402
- setListCom(arr);
403
- setLoading(false);
404
- };
405
- // 输入框的到焦点
406
- var inputFocus = function inputFocus() {
407
- var inputDom = textDom && textDom.current;
408
- inputDom && inputDom.focus({
409
- preventScroll: true
410
- });
411
- };
412
- /**
413
- * 查找元素
414
- * @param el 当前元素
415
- * @param selector 查找元素class
416
- */
417
- var closest = function closest(el, selector) {
418
- var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
419
- while (el) {
420
- if (matchesSelector.call(el, selector)) {
421
- break;
422
- }
423
- el = el.parentElement;
424
- }
425
- return el;
426
- };
427
- /**
428
- * 全局点击判断是否需要关闭
429
- * @param e 当前点击元素
430
- */
431
- var clickCom = function clickCom(e) {
432
- var bol = closest(e.target, '.' + classOneSelect); // 是否存在下拉当中
433
- if (!bol) setOpen(false);
434
- };
435
- /**
436
- * 判断是否显示
437
- * @param item 详细信息
438
- * @return boolean
439
- */
440
- var handShowItem = function handShowItem(item) {
441
- var bol = true;
442
- // 按显示名来
443
- var name = item[showName];
444
- if (name && typeof name === 'string' && name.toLowerCase().indexOf(searchValue.trim().toLowerCase()) === -1) bol = false;
445
- return bol;
446
- };
447
- /**
448
- * 多选 不换行 计算
449
- * @param index 数组下标
450
- */
451
- var handMultiline = function handMultiline(index) {
452
- if (index === null || index === 0) return;
453
- if (index === undefined) index = valueCom.length;
454
- var boxDom = document.querySelector('.' + classOne + ' > .select-content > .check-select-content');
455
- if (!boxDom) return;
456
- if (boxDom.scrollHeight > boxDom.clientHeight) {
457
- var num = Number(index) - 1;
458
- // 超出
459
- setMorePos(num);
460
- handMultiline(num);
461
- } else {
462
- // 一行
463
- if (valueCom.length <= index) handleCloseMore();
464
- }
465
- };
466
- // 多选 不换行
467
- var changeSize = function changeSize() {
468
- clearTimeout(constData.timer);
469
- constData.timer = setTimeout(function () {
470
- setMorePos(valueCom.length);
471
- handMultiline();
472
- }, 100);
473
- };
474
- // 显示下拉框
475
- var clickSelect = function clickSelect() {
476
- if (disabled === true) return;
477
- setOpen(true);
478
- };
479
- // 关闭下拉框
480
- var handleClose = function handleClose() {
481
- setOpen(false);
482
- };
483
- /**
484
- * 点击显示更多
485
- * @param e 点击元素
486
- */
487
- var clickMore = function clickMore(e) {
488
- setOpenMore(true);
489
- setOpen(false);
490
- e.stopPropagation();
491
- };
492
- // 关闭显示更多
493
- var handleCloseMore = function handleCloseMore() {
494
- setOpenMore(false);
495
- };
496
- /**
497
- * 点击选项
498
- * @param item 当前选项信息
499
- * @param enter 是否回车
500
- * @param e 元素
501
- */
502
- var clickItem = function clickItem(item, enter) {
503
- return function (e) {
504
- var val = item[showValue];
505
- if (_typeof(disabled) === 'object' && disabled.indexOf(val) !== -1) return;
506
- if (multiple) {
507
- // 多选
508
- var index = valueCom.indexOf(val);
509
- if (index !== -1) {
510
- // 存在 去除
511
- valueCom.splice(index, 1);
512
- } else {
513
- valueCom.push(val);
514
- }
515
- if (props.value === undefined) setValueCom(_toConsumableArray(valueCom));
516
- onChange && onChange(_toConsumableArray(valueCom), e);
517
- if (enter) onEnter && onEnter(_toConsumableArray(valueCom));
518
- inputFocus();
519
- } else {
520
- // 单选
521
- if (props.value === undefined) setValueCom([val]);
522
- onChange && onChange(val, e);
523
- if (enter) onEnter && onEnter(val);
524
- handleClose();
525
- setSearchValue('');
526
- }
527
- };
528
- };
529
- /**
530
- * 多选删除index
531
- * @param item 当前选项信息
532
- * @param val 值
533
- * @param e 元素
534
- */
535
- var delItem = function delItem(item, val) {
536
- return function (e) {
537
- if (!item) item = _defineProperty({}, showValue, val);
538
- clickItem(item)(e);
539
- e.stopPropagation();
540
- };
541
- };
542
- // 处理下拉框class
543
- var handClass = function handClass() {
544
- var str = "".concat($prefixCls, "-select");
545
- if (multiple && !overLineCom) str += ' ' + classOne; // 多选 超出不换行
546
- if (className) str += ' ' + className;
547
- if (size) str += " ".concat($prefixCls, "-select-").concat(size);
548
- if (error) str += " ".concat($prefixCls, "-select-error");
549
- if (disabled === true) str += " ".concat($prefixCls, "-select-disabled");
550
- if (open) str += " ".concat($prefixCls, "-select-open");
551
- if (multiple) str += " ".concat($prefixCls, "-select-multiple");
552
- if (overLineCom) str += " ".concat($prefixCls, "-select-over-line"); // 可输入,换行
553
- if (showSelect) str += " ".concat($prefixCls, "-select-show-select");
554
- if (valueCom.length > 0) str += " ".concat($prefixCls, "-select-value");
555
- if (allowClear) str += " ".concat($prefixCls, "-select-allow-clear");
556
- return str;
557
- };
558
- // 处理下拉弹框class
559
- var handleClassPopover = function handleClassPopover() {
560
- var str = "".concat($prefixCls, "-select-popover ").concat($prefixCls, "-scrollbar-small");
561
- if (size) str += " ".concat($prefixCls, "-select-popover-").concat(size);
562
- if (multiple) {
563
- str += " ".concat($prefixCls, "-select-popover-multiple");
564
- } else {
565
- str += " ".concat($prefixCls, "-select-popover-radio");
566
- }
567
- if (selectPopoverClassName) str += ' ' + selectPopoverClassName;
568
- return str;
569
- };
570
- // 处理下拉框更多class
571
- var handleClassMorePopover = function handleClassMorePopover() {
572
- var str = "".concat($prefixCls, "-select-more-popover ").concat($prefixCls, "-scrollbar-small");
573
- if (size) str += " ".concat($prefixCls, "-select-more-popover-").concat(size);
574
- if (morePopoverClassName) str += ' ' + morePopoverClassName;
575
- return str;
576
- };
577
- /**
578
- * 改变搜索输入框
579
- * @param e 搜索框元素
580
- */
581
- var changeSearch = function changeSearch(e) {
582
- setSearchValue(e.target.value);
583
- searchInputProps && searchInputProps.onChange && searchInputProps.onChange(e);
584
- };
585
- /**
586
- * 回车搜索输入框
587
- * @param e 搜索框元素
588
- */
589
- var onKeyDownSearch = function onKeyDownSearch(e) {
590
- if (e.keyCode === 13) {
591
- onEnterInput && onEnterInput(searchValue);
592
- var selectDom = document.querySelector('.' + classOneSelect + ' .select-popover-list');
593
- if (selectDom) {
594
- var hoverDom = selectDom.querySelector('.select-popover-list-item-hover');
595
- var keydownDom = selectDom.querySelector('.select-popover-list-item-keydown');
596
- var operateDom = keydownDom || hoverDom;
597
- if (operateDom) return;
598
- }
599
- if (props.input && searchValue.trim() !== '') {
600
- var arr = '';
601
- if (multiple) {
602
- arr = [].concat(_toConsumableArray(valueCom), [searchValue]);
603
- } else {
604
- arr = searchValue;
605
- }
606
- if (props.value === undefined) setValueCom(arr);
607
- onChange && onChange(arr, e);
608
- setSearchValue('');
609
- }
610
- }
611
- searchInputProps && searchInputProps.onKeyDown && searchInputProps.onKeyDown(e);
612
- };
613
- /**
614
- * 多选框设置input框长度
615
- * @param text 文本
616
- */
617
- var handInputLength = function handInputLength(text) {
618
- var inputDom = textDom && textDom.current;
619
- if (!inputDom) return null;
620
- var style = window.getComputedStyle(inputDom);
621
- var fontFamily = style.fontFamily;
622
- var fontSize = style.fontSize;
623
- var results = textSize(fontSize, fontFamily, text);
624
- var width = results.width;
625
- if (width < 10) width = 10;
626
- inputDom.style.width = width + 'px';
627
- };
628
- /**
629
- * 处理键盘事件 上/下
630
- * @param config
631
- * 例:
632
- * {
633
- * selectDom: 外容器
634
- * keyCode: 键盘code
635
- * currentDom: 当前元素
636
- * }
637
- */
638
- var handKeydown = function handKeydown(config) {
639
- var selectDom = config.selectDom,
640
- keyCode = config.keyCode,
641
- currentKeydownDom = config.currentKeydownDom;
642
- var brotherDom = null;
643
- var type = 'nextSibling';
644
- var classSelectStr = '.select-popover-list > div';
645
- var classGroupStr = '.select-popover-list-item';
646
- if (keyCode === 38) {
647
- // 上
648
- type = 'previousSibling';
649
- classSelectStr = '.select-popover-list > div:last-child';
650
- classGroupStr = '.select-popover-list-item:last-child';
651
- }
652
- if (!currentKeydownDom) {
653
- brotherDom = selectDom.querySelector(classSelectStr); // 初始节点
654
- } else {
655
- brotherDom = currentKeydownDom[type];
656
- if (brotherDom) {
657
- if (brotherDom.className.indexOf('select-popover-list-group-label') !== -1) {
658
- // 存在标题元素
659
- brotherDom = currentKeydownDom.parentNode; // 组元素
660
- brotherDom = brotherDom[type]; // 组元素兄弟节点
661
- if (!brotherDom) brotherDom = selectDom.querySelector(classSelectStr);
662
- }
663
- } else {
664
- var parentNode = currentKeydownDom.parentNode;
665
- if (parentNode && parentNode.className && parentNode.className.indexOf('select-popover-list-group') !== -1) {
666
- // 组元素最后元素, 设置父级兄弟节点, 没有父级,设置最后或者第一节点
667
- brotherDom = currentKeydownDom.parentNode; // 组元素
668
- brotherDom = brotherDom[type]; // 组元素兄弟节点
669
- if (!brotherDom) brotherDom = selectDom.querySelector(classSelectStr);
670
- } else {
671
- // 不存在兄弟节点,设置最后一个或第一个
672
- brotherDom = selectDom.querySelector(classSelectStr);
673
- }
674
- }
675
- }
676
- if (brotherDom) {
677
- // 兄弟是组列表
678
- if (brotherDom.className.indexOf('select-popover-list-group') !== -1) {
679
- var currentDom = brotherDom.querySelector(classGroupStr);
680
- if (currentDom) {
681
- currentDom.classList.add("select-popover-list-item-keydown");
682
- domClientTop(currentDom, selectDom);
683
- }
684
- } else {
685
- brotherDom.classList.add("select-popover-list-item-keydown");
686
- domClientTop(brotherDom, selectDom);
687
- }
688
- }
689
- };
690
- /**
691
- * 设置当前上下选中的元素是否在当前可见页面里面
692
- * @param currentDom 当前元素
693
- * @param selectDom 可见页面
694
- */
695
- var domClientTop = function domClientTop(currentDom, selectDom) {
696
- clearTimeout(constData.scrollTimer);
697
- var clientHeight = selectDom.clientHeight; // 可见区域的高度
698
- var top = currentDom.offsetTop + currentDom.clientHeight;
699
- var difference = top - clientHeight;
700
- constData.scroll = true;
701
- if (difference > 0) {
702
- selectDom.scrollTop = difference;
703
- } else {
704
- selectDom.scrollTop = 0;
705
- }
706
- // 防止滚动触发hover效果
707
- constData.scrollTimer = setTimeout(function () {
708
- constData.scroll = false;
709
- }, 100);
710
- };
711
- /**
712
- * 键盘事件
713
- * @param e 键盘信息
714
- */
715
- var keydownCom = function keydownCom(e) {
716
- var selectDom = document.querySelector('.' + classOneSelect + ' .select-popover-list');
717
- if (!selectDom) return;
718
- var selectItemDom = selectDom.querySelector('.select-popover-list-item-select');
719
- var hoverDom = selectDom.querySelector('.select-popover-list-item-hover');
720
- var keydownDom = selectDom.querySelector('.select-popover-list-item-keydown');
721
- var currentKeydownDom = selectItemDom; // 选中,hover,keydown元素
722
- if (hoverDom) currentKeydownDom = hoverDom;
723
- // 回车
724
- if (e.keyCode === 13) {
725
- var operateDom = keydownDom || hoverDom;
726
- if (operateDom) {
727
- var val = operateDom.dataset.val;
728
- clickItem(listJson[val], true)({
729
- target: keydownDom
730
- });
731
- } else {
732
- onEnter && onEnter(value);
733
- }
734
- }
735
- if (keydownDom) {
736
- currentKeydownDom = keydownDom;
737
- keydownDom.classList.remove("select-popover-list-item-keydown");
738
- }
739
- // 下
740
- if (e.keyCode === 40) {
741
- handKeydown({
742
- selectDom: selectDom,
743
- keyCode: e.keyCode,
744
- currentKeydownDom: currentKeydownDom
745
- });
746
- }
747
- // 上
748
- if (e.keyCode === 38) {
749
- handKeydown({
750
- selectDom: selectDom,
751
- keyCode: e.keyCode,
752
- currentKeydownDom: currentKeydownDom
753
- });
754
- }
755
- };
756
- /**
757
- * 鼠标移入
758
- * @param e 移入元素
759
- */
760
- var mouseEnter = function mouseEnter(e) {
761
- if (constData.scroll) return;
762
- var target = closest(e.target, '.select-popover-list-item');
763
- if (!target) return;
764
- target.classList.add("select-popover-list-item-hover");
765
- // 鼠标移入清除所有keydown
766
- var selectDom = document.querySelector('.' + classOneSelect);
767
- var keydownDom = selectDom.querySelector('.select-popover-list-item-keydown');
768
- if (keydownDom) keydownDom.classList.remove("select-popover-list-item-keydown");
769
- };
770
- /**
771
- * 鼠标移出
772
- * @param e 移出元素
773
- */
774
- var mouseLeave = function mouseLeave(e) {
775
- var target = closest(e.target, '.select-popover-list-item');
776
- if (!target) return;
777
- target.classList.remove("select-popover-list-item-hover");
778
- };
779
- // 外标题memo
780
- var OutLabelMemo = useMemo(function () {
781
- var bol = Boolean(label || required || labelSign);
782
- var handLabelClass = function handLabelClass() {
783
- var str = 'select-label';
784
- if (labelTooltip && labelTooltip.className) {
785
- str += ' ' + labelTooltip.className;
786
- }
787
- return str;
788
- };
789
- return jsx(Fragment, {
790
- children: labelMode === 'outside' && bol && jsx(Label, Object.assign({
791
- label: label,
792
- required: required,
793
- labelSign: labelSign
794
- }, labelTooltip, {
795
- className: handLabelClass()
796
- }))
797
- });
798
- }, [labelMode, label, labelSign, required, labelTooltip]);
799
- // 内标题memo
800
- var InsideMemo = useMemo(function () {
801
- var handInsideContent = function handInsideContent() {
802
- if (labelMode === 'outside') return placeholder;
803
- return jsxs(Fragment, {
804
- children: [label || placeholder, required && jsx("span", Object.assign({
805
- className: "select-required"
806
- }, {
807
- children: "*"
808
- })), labelSign && jsx("span", {
809
- children: labelSign
810
- })]
811
- });
812
- };
813
- return jsx(Fragment, {
814
- children: !showText && jsx("span", Object.assign({
815
- className: "select-label-placeholder"
816
- }, {
817
- children: handInsideContent()
818
- }))
819
- });
820
- }, [showText, labelMode, placeholder, label, labelSign, required]);
821
- /**
822
- * 处理搜索框
823
- * */
824
- var handInput = function handInput(type) {
825
- if (disabled === true) return null;
826
- var str = "".concat(type, "-search-outside");
827
- if (searchModel === 'outside') {
828
- return jsx("input", Object.assign({}, searchInputProps, {
829
- className: str,
830
- value: searchValue,
831
- onChange: changeSearch,
832
- onKeyDown: onKeyDownSearch,
833
- ref: textDom
834
- }));
835
- }
836
- return null;
837
- };
838
- // 单选内容
839
- var RadioMemo = useMemo(function () {
840
- var handContent = function handContent() {
841
- // 有搜索值且(输入框在内容里面或者有输入赋值)
842
- if (searchValue !== '' && (searchModel === 'outside' || input)) return null;
843
- var val = listJson[valueCom[0]] && listJson[valueCom[0]][showName] || valueCom[0];
844
- var renderContentVal = renderContent && renderContent(listJson[valueCom[0]], false);
845
- if (overLineCom) return renderContentVal || val;
846
- return jsx(AutoTips, {
847
- children: renderContentVal || val
848
- });
849
- };
850
- return jsx(Fragment, {
851
- children: !multiple && jsxs(Fragment, {
852
- children: [jsx("div", Object.assign({
853
- className: "radio-select-content"
854
- }, {
855
- children: handContent()
856
- })), handInput('radio')]
857
- })
858
- });
859
- }, [multiple, showText, overLineCom, listJson, valueCom, showName, search, searchModel, searchValue, disabled, input, searchInputProps, renderContent]);
860
- // 多选内容
861
- var CheckMemo = useMemo(function () {
862
- var handContent = function handContent(index) {
863
- var val = listJson[valueCom[index]] && listJson[valueCom[index]][showName] || valueCom[index];
864
- var renderContentVal = renderContent && renderContent(listJson[valueCom[index]], false);
865
- return renderContentVal || val;
866
- };
867
- return jsx(Fragment, {
868
- children: multiple && jsxs("div", Object.assign({
869
- className: "check-select-content"
870
- }, {
871
- children: [valueCom && valueCom.map(function (item, index) {
872
- if (morePos !== null && morePos <= index) return null;
873
- var isClose = true;
874
- if (disabled === true || _typeof(disabled) === 'object' && disabled.indexOf(valueCom[index]) !== -1) {
875
- isClose = false; // 禁用不显示×
876
- }
877
-
878
- return jsxs("div", Object.assign({
879
- className: isClose ? 'check-select-content-item' : 'check-select-content-item check-select-content-item-noclose'
880
- }, {
881
- children: [jsx("span", {
882
- children: jsx(AutoTips, {
883
- children: handContent(index)
884
- })
885
- }), isClose && jsx(CloseIcon, {
886
- onClick: delItem(listJson[valueCom[index]], valueCom[index])
887
- })]
888
- }), index);
889
- }), function () {
890
- if (morePos !== null && valueCom.length > morePos) {
891
- return jsx("div", Object.assign({
892
- className: "check-select-content-item check-select-content-item-more",
893
- onClick: clickMore
894
- }, {
895
- children: jsxs("span", {
896
- children: ["+", valueCom.length - morePos]
897
- })
898
- }));
899
- }
900
- }(), handInput('check')]
901
- }))
902
- });
903
- }, [multiple, showText, valueCom, morePos, listJson, disabled, onChange, searchValue, search, searchModel, input, searchInputProps, renderContent]);
904
- var clickClean = function clickClean(e) {
905
- e.stopPropagation();
906
- var val = '';
907
- var valCom = [];
908
- if (multiple) {
909
- val = [];
910
- // 判断多选的时候,有部分数据被禁用,禁用的数据不可删除
911
- if (disabled instanceof Array) {
912
- for (var i = 0, l = valueCom.length; i < l; i++) {
913
- var valueComItem = valueCom[i];
914
- if (disabled.indexOf(valueComItem) !== -1) {
915
- val.push(valueComItem);
916
- valCom.push(valueComItem);
917
- }
918
- }
919
- }
920
- }
921
- if (props.value === undefined) {
922
- setValueCom(valCom);
923
- }
924
- onChange && onChange(val, e);
925
- setOpen(false);
926
- onClear && onClear();
927
- };
928
- // 清空内容
929
- var clearRender = function clearRender() {
930
- if (valueCom.length > 0 && disabled !== true && allowClear) {
931
- return jsx("span", Object.assign({
932
- className: "clean-up-icon",
933
- onClick: clickClean
934
- }, {
935
- children: jsx(CloseCircle, {})
936
- }));
937
- }
938
- };
939
- var morePopoverContent = function morePopoverContent() {
940
- var handContent = function handContent(index) {
941
- var val = listJson[valueCom[index]] && listJson[valueCom[index]][showName] || valueCom[index];
942
- var renderContentVal = renderContent && renderContent(listJson[valueCom[index]], false);
943
- return renderContentVal || val;
944
- };
945
- return jsxs("div", Object.assign({
946
- className: "select-more"
947
- }, {
948
- children: [jsxs("div", Object.assign({
949
- className: "select-more-title"
950
- }, {
951
- children: [jsx("span", {
952
- children: intl({
953
- id: 'selected'
954
- })
955
- }), jsxs("span", {
956
- children: ["(", valueCom.length - Number(morePos), ")"]
957
- })]
958
- })), jsx("div", Object.assign({
959
- className: "select-more-content"
960
- }, {
961
- children: valueCom && valueCom.map(function (item, index) {
962
- if (morePos !== null && morePos > index) return null;
963
- var isClose = true;
964
- if (disabled === true || _typeof(disabled) === 'object' && disabled.indexOf(valueCom[index]) !== -1) {
965
- isClose = false; // 禁用不显示×
966
- }
967
-
968
- return jsxs("div", Object.assign({
969
- className: "select-more-content-item"
970
- }, {
971
- children: [jsx("span", {
972
- children: jsx(AutoTips, {
973
- children: handContent(index)
974
- })
975
- }), isClose && jsx(CloseIcon, {
976
- onClick: delItem(listJson[valueCom[index]], valueCom[index])
977
- })]
978
- }), index);
979
- })
980
- }))]
981
- }));
982
- };
983
- // 主体内容
984
- var ContentMemo = useMemo(function () {
985
- return jsx(Popover, Object.assign({
986
- placement: "rightTop",
987
- visible: openMore,
988
- content: morePopoverContent(),
989
- onVisibleChange: handleCloseMore,
990
- overlayClassName: handleClassMorePopover()
991
- }, {
992
- children: jsxs("div", Object.assign({
993
- className: "select-content",
994
- onClick: clickSelect,
995
- ref: posDom
996
- }, {
997
- children: [InsideMemo, jsxs("span", Object.assign({
998
- className: "select-svg"
999
- }, {
1000
- children: [jsx(Down, {}), clearRender()]
1001
- })), RadioMemo, CheckMemo]
1002
- }))
1003
- }));
1004
- }, [posDom, showText, labelMode, placeholder, label, labelSign, required, overLineCom, listJson, valueCom, showName, multiple, morePos, disabled, onChange, searchValue, searchModel, input, showSelect, searchInputProps, allowClear, onClear, openMore, renderContent]);
1005
- // 下拉框popover 列表
1006
- var SelectPopoverListMemo = useMemo(function () {
1007
- var handClass = function handClass() {
1008
- var str = 'select-popover-list';
1009
- if (loading) str += ' select-popover-list-loading';
1010
- return str;
1011
- };
1012
- var handContent = function handContent(item) {
1013
- var val = item[showName] || item[showValue];
1014
- var renderContentVal = renderContent && renderContent(item, true);
1015
- return jsxs(Fragment, {
1016
- children: [jsx("span", Object.assign({
1017
- className: "select-popover-list-item-label"
1018
- }, {
1019
- children: jsx(AutoTips, {
1020
- children: renderContentVal || val
1021
- })
1022
- })), multiple && selectCheckIcon && jsx("span", Object.assign({
1023
- className: "select-popover-list-item-svg"
1024
- }, {
1025
- children: jsx(Check, {})
1026
- }))]
1027
- });
1028
- };
1029
- return jsxs("div", Object.assign({
1030
- className: handClass()
1031
- }, {
1032
- children: [listCom && listCom.length > 0 ? jsx(Fragment, {
1033
- children: listCom.map(function (item, index) {
1034
- if (item[childrenName] && item[childrenName].length > 0) {
1035
- var childrenList = item[childrenName];
1036
- return jsxs("div", Object.assign({
1037
- className: "select-popover-list-group"
1038
- }, {
1039
- children: [jsx("span", Object.assign({
1040
- className: "select-popover-list-group-label"
1041
- }, {
1042
- children: item[showName] || item[showValue]
1043
- })), childrenList.map(function (childItem, childIndex) {
1044
- var val = childItem[showValue];
1045
- var classStrItem = 'select-popover-list-item';
1046
- if (valueCom.indexOf(val) !== -1) classStrItem += ' select-popover-list-item-select'; // 选中的样式
1047
- if (_typeof(disabled) === 'object' && disabled.indexOf(val) !== -1) {
1048
- // 禁用
1049
- classStrItem += ' select-popover-list-item-disabled';
1050
- }
1051
- return jsx("div", Object.assign({
1052
- onClick: clickItem(childItem),
1053
- className: classStrItem,
1054
- onMouseEnter: mouseEnter,
1055
- onMouseLeave: mouseLeave,
1056
- "data-val": val
1057
- }, {
1058
- children: handContent(childItem)
1059
- }), childIndex);
1060
- })]
1061
- }), index);
1062
- }
1063
- var val = item[showValue];
1064
- var classStrItem = 'select-popover-list-item';
1065
- if (valueCom.indexOf(val) !== -1) classStrItem += ' select-popover-list-item-select'; // 选中的样式
1066
- if (_typeof(disabled) === 'object' && disabled.indexOf(val) !== -1) {
1067
- // 禁用
1068
- classStrItem += ' select-popover-list-item-disabled';
1069
- }
1070
- return jsx("div", Object.assign({
1071
- onClick: clickItem(item),
1072
- className: classStrItem,
1073
- onMouseEnter: mouseEnter,
1074
- onMouseLeave: mouseLeave,
1075
- "data-val": val
1076
- }, {
1077
- children: handContent(item)
1078
- }), index);
1079
- })
1080
- }) : !loading && emptyBol && jsx("div", Object.assign({
1081
- className: "select-nodata"
1082
- }, {
1083
- children: jsx(Empty, Object.assign({}, emptyProps, {
1084
- size: (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.size) || "small"
1085
- }))
1086
- })), loading && jsx(Loading, {})]
1087
- }));
1088
- }, [listCom, showName, showValue, valueCom, onChange, multiple, loading, language, locale, emptyProps, emptyBol, renderContent, selectCheckIcon]);
1089
- // 下拉框popover memo
1090
- var SelectPopoverMemo = useMemo(function () {
1091
- if (!showSelect) return '';
1092
- var handSelectPopoverMemoClass = function handSelectPopoverMemoClass() {
1093
- var classStr = 'select-popover-content ' + classOneSelect;
1094
- if (search && searchModel === 'inside') classStr += ' select-popover-content-search';
1095
- return classStr;
1096
- };
1097
- return jsxs("div", Object.assign({
1098
- style: {
1099
- width: (posDom && posDom.current ? posDom.current.offsetWidth : 0) + 'px'
1100
- },
1101
- className: handSelectPopoverMemoClass()
1102
- }, {
1103
- children: [search && searchModel === 'inside' && jsxs("div", Object.assign({
1104
- className: "select-popover-search"
1105
- }, {
1106
- children: [jsx("input", Object.assign({}, searchInputProps, {
1107
- placeholder: searchPlaceholder || intl({
1108
- id: 'searchPlaceholder'
1109
- }),
1110
- value: searchValue,
1111
- onChange: changeSearch,
1112
- onKeyDown: onKeyDownSearch,
1113
- ref: textDom
1114
- })), jsx(SearchIcon, {})]
1115
- })), SelectPopoverListMemo]
1116
- }));
1117
- }, [open, posDom, listCom, childrenName, showValue, showName, valueCom, searchValue, search, classOneSelect, searchModel, multiple, searchPlaceholder, showSelect, loading, searchInputProps, language, locale, emptyProps, emptyBol, renderContent, selectCheckIcon]);
1118
- /** 处理下拉内容 */
1119
- var handDropdown = function handDropdown() {
1120
- return jsx(Dropdown, Object.assign({
1121
- visible: open,
1122
- placement: 'bottomLeft',
1123
- trigger: ['click'],
1124
- overlay: jsx(Fragment, {
1125
- children: SelectPopoverMemo
1126
- }),
1127
- overlayClassName: handleClassPopover(),
1128
- getPopupContainer: getPopupContainer
1129
- }, {
1130
- children: ContentMemo
1131
- }));
1132
- };
1133
- return jsxs("div", Object.assign({
1134
- className: handClass(),
1135
- style: style
1136
- }, {
1137
- children: [OutLabelMemo, handDropdown(), jsx(HelperText, {
1138
- className: "select-error-text",
1139
- error: error,
1140
- helperText: helperText,
1141
- hideErrorDom: hideErrorDom
1142
- })]
1143
- }));
1144
- };
1145
-
1146
- export { Select as default };