@para-ui/core 3.0.55 → 3.0.56

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/AutoBox/index.d.ts +34 -0
  2. package/AutoBox/index.js +277 -0
  3. package/AutoBox/protal.d.ts +17 -0
  4. package/AutoTips/autoTipsMultiline/index.d.ts +18 -0
  5. package/AutoTips/index.d.ts +35 -0
  6. package/AutoTips/index.js +271 -0
  7. package/Breadcrumbs/index.d.ts +53 -0
  8. package/Breadcrumbs/index.js +266 -0
  9. package/Breadcrumbs/lang/en_US.d.ts +4 -0
  10. package/Breadcrumbs/lang/index.d.ts +9 -0
  11. package/Breadcrumbs/lang/zh_CN.d.ts +4 -0
  12. package/Button/SplitButton.d.ts +64 -0
  13. package/Button/index.d.ts +79 -0
  14. package/Button/index.js +376 -0
  15. package/Button/lang/en_US.d.ts +4 -0
  16. package/Button/lang/index.d.ts +9 -0
  17. package/Button/lang/zh_CN.d.ts +4 -0
  18. package/ButtonGroup/index.d.ts +33 -0
  19. package/ButtonGroup/index.js +124 -0
  20. package/Carousel/index.d.ts +38 -0
  21. package/Carousel/index.js +78 -0
  22. package/Cascader/index.d.ts +54 -0
  23. package/Cascader/index.js +159 -0
  24. package/Cascader/lang/en_US.d.ts +4 -0
  25. package/Cascader/lang/index.d.ts +9 -0
  26. package/Cascader/lang/zh_CN.d.ts +4 -0
  27. package/Checkbox/index.d.ts +40 -0
  28. package/Checkbox/index.js +109 -0
  29. package/CheckboxGroup/index.d.ts +45 -0
  30. package/CheckboxGroup/index.js +142 -0
  31. package/Collapse/collapsePanel.d.ts +30 -0
  32. package/Collapse/index.d.ts +57 -0
  33. package/Collapse/index.js +152 -0
  34. package/Collapse/motion.d.ts +5 -0
  35. package/Collapse/util.d.ts +11 -0
  36. package/CollapseBox/index.d.ts +27 -0
  37. package/CollapseBox/index.js +148 -0
  38. package/CollapseBox/util.d.ts +5 -0
  39. package/CollapseLayout/index.d.ts +53 -0
  40. package/CollapseLayout/index.js +176 -0
  41. package/ColorPicker/index.d.ts +4 -0
  42. package/ColorPicker/index.js +4 -0
  43. package/ComboSelect/index.d.ts +6 -0
  44. package/ComboSelect/index.js +1049 -0
  45. package/ComboSelect/interface.d.ts +146 -0
  46. package/ComboSelect/lang/en_US.d.ts +9 -0
  47. package/ComboSelect/lang/index.d.ts +19 -0
  48. package/ComboSelect/lang/zh_CN.d.ts +9 -0
  49. package/ComboSelect/utils.d.ts +9 -0
  50. package/Container/index.d.ts +77 -0
  51. package/Container/index.js +232 -0
  52. package/DatePicker/PickerButton.d.ts +3 -0
  53. package/DatePicker/PickerTag.d.ts +3 -0
  54. package/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
  55. package/DatePicker/generatePicker/generateSinglePicker.d.ts +11 -0
  56. package/DatePicker/generatePicker/index.d.ts +95 -0
  57. package/DatePicker/index.d.ts +18 -0
  58. package/DatePicker/index.js +633 -0
  59. package/DatePicker/lang/en_US.d.ts +3 -0
  60. package/DatePicker/lang/index.d.ts +7 -0
  61. package/DatePicker/lang/zh_CN.d.ts +3 -0
  62. package/DatePicker/util.d.ts +22 -0
  63. package/Desktop/index.d.ts +57 -0
  64. package/Desktop/index.js +746 -0
  65. package/DragVerify/index.d.ts +36 -0
  66. package/DragVerify/index.js +385 -0
  67. package/DragVerify/lang/en_US.d.ts +5 -0
  68. package/DragVerify/lang/index.d.ts +11 -0
  69. package/DragVerify/lang/zh_CN.d.ts +5 -0
  70. package/Drawer/index.d.ts +11 -0
  71. package/Drawer/index.js +235 -0
  72. package/Drawer/interface.d.ts +92 -0
  73. package/Drawer/lang/en_US.d.ts +5 -0
  74. package/Drawer/lang/index.d.ts +11 -0
  75. package/Drawer/lang/zh_CN.d.ts +5 -0
  76. package/Dropdown/index.d.ts +40 -0
  77. package/Dropdown/index.js +10 -0
  78. package/DynamicMultiBox/formItem.d.ts +14 -0
  79. package/DynamicMultiBox/index.d.ts +5 -0
  80. package/DynamicMultiBox/index.js +1323 -0
  81. package/DynamicMultiBox/interface.d.ts +165 -0
  82. package/DynamicMultiBox/rowForm.d.ts +24 -0
  83. package/Empty/images/index.d.ts +3 -0
  84. package/Empty/index.d.ts +30 -0
  85. package/Empty/index.js +642 -0
  86. package/Empty/lang/en_US.d.ts +6 -0
  87. package/Empty/lang/index.d.ts +13 -0
  88. package/Empty/lang/zh_CN.d.ts +6 -0
  89. package/Form/index.d.ts +187 -0
  90. package/Form/index.js +355 -0
  91. package/FormItem/compoments/defaultCompoments/index.d.ts +19 -0
  92. package/FormItem/compoments/formCheckboxGroup/index.d.ts +8 -0
  93. package/FormItem/compoments/formFile/index.d.ts +38 -0
  94. package/FormItem/compoments/formRadioGroup/index.d.ts +8 -0
  95. package/FormItem/compoments/formSelect/index.d.ts +18 -0
  96. package/FormItem/errorTips.d.ts +12 -0
  97. package/FormItem/index.d.ts +152 -0
  98. package/FormItem/index.js +78 -0
  99. package/FormItem/itemType.d.ts +42 -0
  100. package/FormItem/validateFunction.d.ts +15 -0
  101. package/FunctionModal/dialog.d.ts +58 -0
  102. package/FunctionModal/index.d.ts +8 -0
  103. package/FunctionModal/index.js +43 -0
  104. package/FunctionModal/modalContext.d.ts +15 -0
  105. package/GlobalContext/componentsProps.d.ts +21 -0
  106. package/GlobalContext/confirmLocale.d.ts +7 -0
  107. package/GlobalContext/constant.d.ts +8 -0
  108. package/GlobalContext/index.d.ts +28 -0
  109. package/GlobalContext/index.js +41 -0
  110. package/GlobalContext/intl.d.ts +34 -0
  111. package/GlobalContext/useFormatMessage.d.ts +3 -0
  112. package/GlobalContext/usePopupContainer.d.ts +4 -0
  113. package/Help/index.d.ts +24 -0
  114. package/Help/index.js +41 -0
  115. package/HelperText/index.d.ts +27 -0
  116. package/HelperText/index.js +34 -0
  117. package/Hooks/useGlobalProps.d.ts +1 -0
  118. package/InputLang/index.d.ts +57 -0
  119. package/InputLang/index.js +355 -0
  120. package/InputNumber/index.d.ts +71 -0
  121. package/InputNumber/index.js +277 -0
  122. package/Label/index.d.ts +37 -0
  123. package/Label/index.js +85 -0
  124. package/Loading/index.d.ts +17 -0
  125. package/Loading/index.js +47 -0
  126. package/Menu/footerExpansion.d.ts +9 -0
  127. package/Menu/index.d.ts +10 -0
  128. package/Menu/index.js +1105 -0
  129. package/Menu/interface.d.ts +141 -0
  130. package/Menu/logo.d.ts +9 -0
  131. package/Menu/verticalMenuList.d.ts +14 -0
  132. package/Message/index.d.ts +99 -0
  133. package/Message/index.js +246 -0
  134. package/Modal/Confirm/index.d.ts +65 -0
  135. package/Modal/index.d.ts +99 -0
  136. package/Modal/index.js +421 -0
  137. package/Modal/lang/en_US.d.ts +5 -0
  138. package/Modal/lang/index.d.ts +11 -0
  139. package/Modal/lang/zh_CN.d.ts +5 -0
  140. package/MultiBox/index.d.ts +60 -0
  141. package/MultiBox/index.js +277 -0
  142. package/MultiBox/lang/en_US.d.ts +4 -0
  143. package/MultiBox/lang/index.d.ts +9 -0
  144. package/MultiBox/lang/zh_CN.d.ts +4 -0
  145. package/Notification/index.d.ts +74 -0
  146. package/Notification/index.js +252 -0
  147. package/OperateBtn/index.d.ts +59 -0
  148. package/OperateBtn/index.js +237 -0
  149. package/OperateBtn/lang/en_US.d.ts +4 -0
  150. package/OperateBtn/lang/index.d.ts +9 -0
  151. package/OperateBtn/lang/zh_CN.d.ts +4 -0
  152. package/PageHeader/horizontalMeun.d.ts +9 -0
  153. package/PageHeader/horizontalMeunRight.d.ts +9 -0
  154. package/PageHeader/index.d.ts +10 -0
  155. package/PageHeader/index.js +1050 -0
  156. package/PageHeader/interface.d.ts +169 -0
  157. package/Pagination/index.d.ts +46 -0
  158. package/Pagination/index.js +461 -0
  159. package/Pagination/lang/en_US.d.ts +8 -0
  160. package/Pagination/lang/index.d.ts +17 -0
  161. package/Pagination/lang/zh_CN.d.ts +8 -0
  162. package/ParauiProvider/index.d.ts +8 -0
  163. package/ParauiProvider/index.js +52 -0
  164. package/PasswordRules/index.d.ts +55 -0
  165. package/PasswordRules/index.js +144 -0
  166. package/PopConfirm/index.d.ts +61 -0
  167. package/PopConfirm/index.js +194 -0
  168. package/PopConfirm/lang/en_US.d.ts +5 -0
  169. package/PopConfirm/lang/index.d.ts +11 -0
  170. package/PopConfirm/lang/zh_CN.d.ts +5 -0
  171. package/Popover/index.d.ts +16 -0
  172. package/Popover/index.js +59 -0
  173. package/Progress/Line.d.ts +47 -0
  174. package/Progress/Steps.d.ts +17 -0
  175. package/Progress/index.d.ts +83 -0
  176. package/Progress/index.js +323 -0
  177. package/Progress/utils.d.ts +6 -0
  178. package/Querying/images/index.d.ts +3 -0
  179. package/Querying/index.d.ts +26 -0
  180. package/Querying/index.js +760 -0
  181. package/Querying/lang/en_US.d.ts +4 -0
  182. package/Querying/lang/index.d.ts +9 -0
  183. package/Querying/lang/zh_CN.d.ts +4 -0
  184. package/README.md +6 -0
  185. package/Radio/index.d.ts +38 -0
  186. package/Radio/index.js +97 -0
  187. package/RadioGroup/index.d.ts +46 -0
  188. package/RadioGroup/index.js +134 -0
  189. package/Search/index.d.ts +57 -0
  190. package/Search/index.js +208 -0
  191. package/Select/index.d.ts +93 -0
  192. package/Select/index.js +1146 -0
  193. package/Select/lang/en_US.d.ts +5 -0
  194. package/Select/lang/index.d.ts +11 -0
  195. package/Select/lang/zh_CN.d.ts +5 -0
  196. package/SelectInput/index.d.ts +12 -0
  197. package/SelectInput/index.js +55 -0
  198. package/Selector/index.d.ts +11 -0
  199. package/Selector/index.js +2175 -0
  200. package/Selector/interface.d.ts +432 -0
  201. package/Selector/lang/en_US.d.ts +11 -0
  202. package/Selector/lang/index.d.ts +23 -0
  203. package/Selector/lang/zh_CN.d.ts +11 -0
  204. package/Selector/selectorData/index.d.ts +10 -0
  205. package/Selector/selectorMain/index.d.ts +10 -0
  206. package/Selector/selectorNode/index.d.ts +10 -0
  207. package/Selector/util.d.ts +15 -0
  208. package/SelectorPicker/index.d.ts +53 -0
  209. package/SelectorPicker/index.js +444 -0
  210. package/SelectorPicker/lang/en_US.d.ts +5 -0
  211. package/SelectorPicker/lang/index.d.ts +11 -0
  212. package/SelectorPicker/lang/zh_CN.d.ts +5 -0
  213. package/SingleBox/index.d.ts +44 -0
  214. package/SingleBox/index.js +224 -0
  215. package/SingleBox/lang/en_US.d.ts +4 -0
  216. package/SingleBox/lang/index.d.ts +9 -0
  217. package/SingleBox/lang/zh_CN.d.ts +4 -0
  218. package/Slider/index.d.ts +14 -0
  219. package/Slider/index.js +119 -0
  220. package/Slider/interface.d.ts +102 -0
  221. package/Split/index.d.ts +7 -0
  222. package/Split/index.js +123 -0
  223. package/Status/index.d.ts +21 -0
  224. package/Status/index.js +37 -0
  225. package/Stepper/icons.d.ts +5 -0
  226. package/Stepper/index.d.ts +59 -0
  227. package/Stepper/index.js +97 -0
  228. package/Switch/index.d.ts +78 -0
  229. package/Switch/index.js +71 -0
  230. package/Table/index.d.ts +10 -0
  231. package/Table/index.js +3001 -0
  232. package/Table/interface.d.ts +346 -0
  233. package/Table/lang/en_US.d.ts +8 -0
  234. package/Table/lang/index.d.ts +17 -0
  235. package/Table/lang/zh_CN.d.ts +8 -0
  236. package/Table/tableBody.d.ts +9 -0
  237. package/Table/tableBodyElement/index.d.ts +15 -0
  238. package/Table/tableBodyInterface.d.ts +73 -0
  239. package/Table/tableContainer/index.d.ts +16 -0
  240. package/Table/tableElement/index.d.ts +17 -0
  241. package/Table/tableHead.d.ts +9 -0
  242. package/Table/tableHeadElement/index.d.ts +15 -0
  243. package/Table/tableHeadInterface.d.ts +37 -0
  244. package/Table/tablePagination.d.ts +9 -0
  245. package/Table/tablePaginationInterface.d.ts +27 -0
  246. package/Table/tdElement/index.d.ts +15 -0
  247. package/Table/thElement/index.d.ts +28 -0
  248. package/Table/trElement/index.d.ts +15 -0
  249. package/Table/util.d.ts +34 -0
  250. package/Tabs/index.d.ts +69 -0
  251. package/Tabs/index.js +205 -0
  252. package/Tabs/lang/en_US.d.ts +4 -0
  253. package/Tabs/lang/index.d.ts +9 -0
  254. package/Tabs/lang/zh_CN.d.ts +4 -0
  255. package/Tag/TagGroup.d.ts +66 -0
  256. package/Tag/index.d.ts +34 -0
  257. package/Tag/index.js +259 -0
  258. package/TextEditor/common.d.ts +11 -0
  259. package/TextEditor/index.d.ts +127 -0
  260. package/TextEditor/index.js +286 -0
  261. package/TextField/index.d.ts +90 -0
  262. package/TextField/index.js +611 -0
  263. package/TimePicker/index.d.ts +22 -0
  264. package/TimePicker/index.js +80 -0
  265. package/TimePicker/locale/en_US.d.ts +3 -0
  266. package/TimePicker/locale/zh_CN.d.ts +3 -0
  267. package/TimePicker/style/index.d.ts +1 -0
  268. package/Timeline/TimelineItem.d.ts +30 -0
  269. package/Timeline/index.d.ts +32 -0
  270. package/Timeline/index.js +148 -0
  271. package/Title/index.d.ts +30 -0
  272. package/Title/index.js +50 -0
  273. package/ToggleButton/ToggleButtonGroup.d.ts +49 -0
  274. package/ToggleButton/index.d.ts +49 -0
  275. package/ToggleButton/index.js +193 -0
  276. package/Tooltip/index.d.ts +11 -0
  277. package/Tooltip/index.js +368 -0
  278. package/Tooltip/interface.d.ts +35 -0
  279. package/Tooltip/utils.d.ts +18 -0
  280. package/Transfer/box.d.ts +38 -0
  281. package/Transfer/index.d.ts +32 -0
  282. package/Transfer/index.js +611 -0
  283. package/Transfer/lang/en_US.d.ts +10 -0
  284. package/Transfer/lang/index.d.ts +21 -0
  285. package/Transfer/lang/zh_CN.d.ts +10 -0
  286. package/Transfer/useClick.d.ts +3 -0
  287. package/Tree/OperateBar/index.d.ts +13 -0
  288. package/Tree/Tree.d.ts +4 -0
  289. package/Tree/index.d.ts +5 -0
  290. package/Tree/index.js +38 -0
  291. package/Tree/interface.d.ts +210 -0
  292. package/Tree/lang/en_US.d.ts +8 -0
  293. package/Tree/lang/index.d.ts +17 -0
  294. package/Tree/lang/zh_CN.d.ts +8 -0
  295. package/Tree/utils/closestPolyfill.d.ts +0 -0
  296. package/Tree/utils/tools.d.ts +25 -0
  297. package/Tree/utils/treeUtil.d.ts +15 -0
  298. package/Upload/Dragger/index.d.ts +10 -0
  299. package/Upload/ErroTip/index.d.ts +13 -0
  300. package/Upload/ImageUpload/index.d.ts +16 -0
  301. package/Upload/ImgCrop/EasyCrop.d.ts +17 -0
  302. package/Upload/ImgCrop/constants.d.ts +7 -0
  303. package/Upload/ImgCrop/index.d.ts +6 -0
  304. package/Upload/ImgCrop/interface.d.ts +48 -0
  305. package/Upload/UploadList/index.d.ts +5 -0
  306. package/Upload/index.d.ts +15 -0
  307. package/Upload/index.js +1446 -0
  308. package/Upload/interface.d.ts +136 -0
  309. package/Upload/lang/en_US.d.ts +12 -0
  310. package/Upload/lang/index.d.ts +25 -0
  311. package/Upload/lang/zh_CN.d.ts +12 -0
  312. package/_verture/constant-66aa48a1.js +10 -0
  313. package/_verture/defineProperty-62acccfc.js +34 -0
  314. package/_verture/index-74f820ba.js +1355 -0
  315. package/_verture/index-77f9e0fb.js +236 -0
  316. package/_verture/index-a369ca3f.js +4 -0
  317. package/_verture/index-beef914f.js +340 -0
  318. package/_verture/index-d03136d4.js +711 -0
  319. package/_verture/index-e2881a53.js +16 -0
  320. package/_verture/intl-5cbb940c.js +57 -0
  321. package/_verture/modalContext-92bb0e16.js +201 -0
  322. package/_verture/slicedToArray-76060636.js +43 -0
  323. package/_verture/sortable.esm-49896035.js +3791 -0
  324. package/_verture/style-inject.es-300983ab.js +28 -0
  325. package/_verture/toConsumableArray-81040c9e.js +19 -0
  326. package/_verture/tslib.es6-55ed4bd2.js +38 -0
  327. package/_verture/typeof-498dd2b1.js +11 -0
  328. package/_verture/unsupportedIterableToArray-cb478f24.js +16 -0
  329. package/_verture/useFormatMessage-703f8b20.js +20 -0
  330. package/_verture/useGlobalProps-1b846a65.js +11 -0
  331. package/_verture/usePopupContainer-87febeb9.js +68 -0
  332. package/_verture/util-7e1fb1e2.js +18 -0
  333. package/index.d.ts +144 -0
  334. package/index.js +180 -0
  335. package/package.json +1 -1
  336. package/umd/AutoBox.js +43 -0
  337. package/umd/AutoTips.js +15 -0
  338. package/umd/Breadcrumbs.js +42 -0
  339. package/umd/Button.js +43 -0
  340. package/umd/ButtonGroup.js +43 -0
  341. package/umd/Carousel.js +6 -0
  342. package/umd/Cascader.js +43 -0
  343. package/umd/Checkbox.js +42 -0
  344. package/umd/CheckboxGroup.js +42 -0
  345. package/umd/Collapse.js +43 -0
  346. package/umd/CollapseBox.js +1 -0
  347. package/umd/CollapseLayout.js +29 -0
  348. package/umd/ColorPicker.js +1 -0
  349. package/umd/ComboSelect.js +42 -0
  350. package/umd/Container.js +1 -0
  351. package/umd/DatePicker.js +42 -0
  352. package/umd/Desktop.js +42 -0
  353. package/umd/DragVerify.js +28 -0
  354. package/umd/Drawer.js +43 -0
  355. package/umd/Dropdown.js +15 -0
  356. package/umd/DynamicMultiBox.js +54 -0
  357. package/umd/Empty.js +15 -0
  358. package/umd/Form.js +42 -0
  359. package/umd/FormItem.js +42 -0
  360. package/umd/FunctionModal.js +42 -0
  361. package/umd/GlobalContext.js +1 -0
  362. package/umd/Help.js +42 -0
  363. package/umd/HelperText.js +1 -0
  364. package/umd/InputLang.js +42 -0
  365. package/umd/InputNumber.js +42 -0
  366. package/umd/Label.js +42 -0
  367. package/umd/Loading.js +29 -0
  368. package/umd/Menu.js +29 -0
  369. package/umd/Message.js +30 -0
  370. package/umd/Modal.js +42 -0
  371. package/umd/MultiBox.js +42 -0
  372. package/umd/Notification.js +43 -0
  373. package/umd/OperateBtn.js +42 -0
  374. package/umd/PageHeader.js +42 -0
  375. package/umd/Pagination.js +42 -0
  376. package/umd/ParauiProvider.js +15 -0
  377. package/umd/PasswordRules.js +29 -0
  378. package/umd/PopConfirm.js +42 -0
  379. package/umd/Popover.js +15 -0
  380. package/umd/Progress.js +35 -0
  381. package/umd/Querying.js +15 -0
  382. package/umd/Radio.js +42 -0
  383. package/umd/RadioGroup.js +42 -0
  384. package/umd/Search.js +42 -0
  385. package/umd/Select.js +42 -0
  386. package/umd/SelectInput.js +42 -0
  387. package/umd/Selector.js +42 -0
  388. package/umd/SelectorPicker.js +42 -0
  389. package/umd/SingleBox.js +42 -0
  390. package/umd/Slider.js +15 -0
  391. package/umd/Split.js +1 -0
  392. package/umd/Status.js +1 -0
  393. package/umd/Stepper.js +42 -0
  394. package/umd/Switch.js +42 -0
  395. package/umd/Table.js +42 -0
  396. package/umd/Tabs.js +42 -0
  397. package/umd/Tag.js +43 -0
  398. package/umd/TextEditor.js +205 -0
  399. package/umd/TextField.js +42 -0
  400. package/umd/TimePicker.js +42 -0
  401. package/umd/Timeline.js +1 -0
  402. package/umd/Title.js +1 -0
  403. package/umd/ToggleButton.js +43 -0
  404. package/umd/Tooltip.js +15 -0
  405. package/umd/Transfer.js +49 -0
  406. package/umd/Tree.js +42 -0
  407. package/umd/Upload.js +56 -0
@@ -0,0 +1,1049 @@
1
+ import { _ as _defineProperty } from '../_verture/defineProperty-62acccfc.js';
2
+ import { _ as _toConsumableArray } from '../_verture/toConsumableArray-81040c9e.js';
3
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
4
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
+ import React__default, { useRef, useState, useImperativeHandle, useEffect, useMemo } from 'react';
6
+ import Down from '@para-ui/icons/Down';
7
+ import SearchIcon from '@para-ui/icons/Search';
8
+ import CloseIcon from '@para-ui/icons/Close';
9
+ import CloseCircle from '@para-ui/icons/CloseCircle';
10
+ import Table from '../Table/index.js';
11
+ import { T as Tree } from '../_verture/index-74f820ba.js';
12
+ import { Button } from '../Button/index.js';
13
+ import { D as Dropdown } from '../_verture/index-77f9e0fb.js';
14
+ import { Popover } from '../Popover/index.js';
15
+ import AutoTips from '../AutoTips/index.js';
16
+ import { Tooltip } from '../Tooltip/index.js';
17
+ import clsx from 'clsx';
18
+ import { DeepClone, ArrayToObject } from '@paraview/lib';
19
+ import GlobalContext from '@para-ui/core/GlobalContext';
20
+ import { u as useFormatMessage } from '../_verture/useFormatMessage-703f8b20.js';
21
+ import Label from '../Label/index.js';
22
+ import HelperText from '../HelperText/index.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/typeof-498dd2b1.js';
26
+ import '../_verture/unsupportedIterableToArray-cb478f24.js';
27
+ import '../_verture/index-beef914f.js';
28
+ import '../_verture/tslib.es6-55ed4bd2.js';
29
+ import '../Checkbox/index.js';
30
+ import '../Help/index.js';
31
+ import '@para-ui/icons/Help';
32
+ import 'rc-tooltip';
33
+ import 'rc-tooltip/lib/placements';
34
+ import '@para-ui/icons/ScreenF';
35
+ import '@para-ui/icons/UpTriangleF';
36
+ import '@para-ui/icons/DownTriangleF';
37
+ import '@para-ui/icons/Panel';
38
+ import '../Radio/index.js';
39
+ import '../Empty/index.js';
40
+ import '../_verture/useGlobalProps-1b846a65.js';
41
+ import '../OperateBtn/index.js';
42
+ import '@para-ui/icons/More';
43
+ import '../Pagination/index.js';
44
+ import '../TextField/index.js';
45
+ import '@para-ui/icons/PreviewClose';
46
+ import '@para-ui/icons/PreviewOpen';
47
+ import '../Loading/index.js';
48
+ import '@para-ui/icons/LoadingF';
49
+ import '../Select/index.js';
50
+ import '@para-ui/icons/Check';
51
+ import '@para-ui/icons/DoubleLeft';
52
+ import '@para-ui/icons/Left';
53
+ import 'rc-pagination';
54
+ import '@para-ui/icons/Right';
55
+ import '@para-ui/icons/DoubleRight';
56
+ import 'rc-tree';
57
+ import '@para-ui/icons/Document';
58
+ import 'react-dom';
59
+ import '@para-ui/icons/EditFile';
60
+ import '@para-ui/icons/PlusCircle';
61
+ import '@para-ui/icons/Delete';
62
+ import '@para-ui/icons/Forbid';
63
+ import '@para-ui/icons/MoreCircle';
64
+ import 'rc-dropdown';
65
+ import '../_verture/usePopupContainer-87febeb9.js';
66
+ import 'dayjs';
67
+
68
+ //获取替换字段
69
+ var getReplaceField = function getReplaceField(mode, repl, tableP, treeP) {
70
+ var t = {};
71
+ if (mode === 'tree') t = treeP === null || treeP === void 0 ? void 0 : treeP.replaceFields;else t = tableP === null || tableP === void 0 ? void 0 : tableP.replaceFields;
72
+ return Object.assign(Object.assign({}, repl), t);
73
+ };
74
+ //to array
75
+ var toArray = function toArray(list) {
76
+ if (!list) return [];
77
+ return Array.isArray(list) ? list : JSON.stringify(list) === '{}' ? [] : [list];
78
+ };
79
+ var isRemoteLoad = function isRemoteLoad(mode, props) {
80
+ if (mode === 'table') {
81
+ return !(props && Array.isArray(props.data));
82
+ }
83
+ return !(props && Array.isArray(props.treeData));
84
+ };
85
+ var getOverlaySize = function getOverlaySize(mode) {
86
+ var isRemoteLoad = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
87
+ var maxHeight = arguments.length > 2 ? arguments[2] : undefined;
88
+ var height = arguments.length > 3 ? arguments[3] : undefined;
89
+ var _a;
90
+ var screenH = 720;
91
+ var treeOverlay = "".concat(maxHeight || 254, "px");
92
+ var listOverlay = "".concat(maxHeight || 232, "px");
93
+ // let largeScreenH = 880;
94
+ var largeTreeOverlayH = "".concat(maxHeight || 338, "px");
95
+ var largeListOverlayH = "".concat(maxHeight || 304, "px");
96
+ var clientH = document.documentElement.clientHeight;
97
+ var fixHeight = height !== undefined ? 'height' : 'maxHeight';
98
+ if (mode === 'tree') {
99
+ //tree
100
+ if (clientH <= screenH) {
101
+ //小屏幕
102
+ return isRemoteLoad ? {
103
+ height: treeOverlay
104
+ } : _defineProperty({}, fixHeight, treeOverlay);
105
+ }
106
+ //大屏幕
107
+ return isRemoteLoad ? {
108
+ height: largeTreeOverlayH
109
+ } : _defineProperty({}, fixHeight, largeTreeOverlayH);
110
+ } else if (mode === 'list') {
111
+ //list
112
+ if (clientH <= screenH) {
113
+ return isRemoteLoad ? {
114
+ height: listOverlay
115
+ } : _defineProperty({}, fixHeight, listOverlay);
116
+ }
117
+ return isRemoteLoad ? {
118
+ height: largeListOverlayH
119
+ } : _defineProperty({}, fixHeight, largeListOverlayH);
120
+ } else {
121
+ //table
122
+ return {
123
+ height: "".concat((_a = maxHeight !== null && maxHeight !== void 0 ? maxHeight : height) !== null && _a !== void 0 ? _a : 360, "px")
124
+ };
125
+ }
126
+ };
127
+
128
+ var en = {
129
+ searchPlaceholder: 'Please enter',
130
+ cancel: 'Cancel',
131
+ ok: 'Ok',
132
+ fullPath: 'Full path',
133
+ pleaseSelect: 'Please select',
134
+ selected: 'selected'
135
+ };
136
+
137
+ var zh = {
138
+ searchPlaceholder: '请输入',
139
+ cancel: '取消',
140
+ ok: '确定',
141
+ fullPath: '完整路径',
142
+ pleaseSelect: '请选择',
143
+ selected: '已选中'
144
+ };
145
+
146
+ var localeJson = {
147
+ zh: zh,
148
+ en: en
149
+ };
150
+
151
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/11/18 上午10:16\n* @description\n*/\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-comboselect .comboselect-wrapper {\n position: relative;\n display: flex;\n width: 100%;\n min-height: 32px;\n padding: 0 12px;\n font-size: 14px;\n border: 1px solid rgba(171, 176, 185, 0.4);\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n cursor: pointer;\n transition: 0.3s;\n}\n.paraui-v3-comboselect .comboselect-wrapper:hover {\n border-color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-placeholder {\n position: absolute;\n top: 50%;\n left: 12px;\n right: 42px;\n transform: translateY(-50%);\n font-size: 14px;\n color: rgba(46, 55, 67, 0.4);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-arrow {\n position: absolute;\n top: 5px;\n right: 12px;\n line-height: 0;\n transition: 0.3s;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-arrow svg {\n color: rgba(46, 55, 67, 0.7);\n font-size: 20px;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-clear {\n position: absolute;\n top: 9px;\n right: 12px;\n opacity: 0;\n line-height: 0;\n cursor: pointer;\n transition: 0.3s;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-clear svg {\n color: rgba(46, 55, 67, 0.7);\n font-size: 16px;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow {\n position: relative;\n display: flex;\n width: 100%;\n flex: auto;\n flex-wrap: wrap;\n padding: 4px 30px 0 0;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow {\n height: 30px;\n padding: 0 30px 0 0;\n align-items: center;\n overflow: hidden;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow .comboselect-single-content {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n color: rgb(46, 55, 67);\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item {\n flex: none;\n max-width: 100%;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item {\n display: inline-flex;\n align-items: center;\n padding: 0 12px;\n height: 22px;\n margin: 0 8px 4px 0;\n max-width: 100%;\n color: rgb(46, 55, 67);\n line-height: 22px;\n background-color: rgba(171, 176, 185, 0.2);\n border-radius: 4px;\n user-select: none;\n transition: 0.3s;\n cursor: default;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-content {\n display: inline-block;\n margin-right: 4px;\n overflow: hidden;\n font-size: 12px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-remove {\n display: inline-flex;\n cursor: pointer;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item .comboselect-item-remove svg {\n font-size: 16px;\n color: inherit;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item--disabled {\n color: rgba(46, 55, 67, 0.4);\n background-color: rgba(171, 176, 185, 0.4);\n cursor: not-allowed;\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item--disabled .comboselect-item-remove {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-comboselect .comboselect-wrapper .comboselect-overflow-item .comboselect-item--unclosable .comboselect-item-content {\n margin-right: 0;\n}\n.paraui-v3-comboselect-focused .comboselect-wrapper {\n border-color: rgb(54, 102, 214);\n}\n.paraui-v3-comboselect-focused .comboselect-wrapper .comboselect-arrow {\n transform: rotate(180deg);\n color: rgb(54, 102, 214);\n}\n.paraui-v3-comboselect-disabled {\n cursor: not-allowed;\n}\n.paraui-v3-comboselect-disabled .comboselect-wrapper {\n background-color: rgba(171, 176, 185, 0.12);\n border-color: rgba(171, 176, 185, 0.4);\n pointer-events: none;\n}\n.paraui-v3-comboselect-large .comboselect-wrapper {\n min-height: 36px;\n}\n.paraui-v3-comboselect-large .comboselect-wrapper .comboselect-overflow {\n padding-top: 5px;\n}\n.paraui-v3-comboselect-large .comboselect-wrapper .comboselect-overflow-item .comboselect-item {\n height: 24px;\n margin-bottom: 5px;\n line-height: 24px;\n}\n.paraui-v3-comboselect-large .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow {\n height: 34px;\n}\n.paraui-v3-comboselect-large .comboselect-wrapper .comboselect-arrow {\n top: 7px;\n}\n.paraui-v3-comboselect-small .comboselect-wrapper {\n min-height: 28px;\n}\n.paraui-v3-comboselect-small .comboselect-wrapper .comboselect-overflow {\n padding-top: 3px;\n}\n.paraui-v3-comboselect-small .comboselect-wrapper .comboselect-overflow-item .comboselect-item {\n height: 20px;\n margin-bottom: 3px;\n line-height: 20px;\n}\n.paraui-v3-comboselect-small .comboselect-wrapper .comboselect-overflow-single.comboselect-overflow {\n height: 26px;\n}\n.paraui-v3-comboselect-small .comboselect-wrapper .comboselect-arrow {\n top: 3px;\n}\n.paraui-v3-comboselect-error .comboselect-wrapper {\n border-color: rgb(235, 96, 84);\n}\n.paraui-v3-comboselect-error .comboselect-wrapper:hover {\n border-color: rgb(235, 96, 84);\n}\n.paraui-v3-comboselect-clear .comboselect-wrapper:hover .comboselect-arrow {\n opacity: 0;\n}\n.paraui-v3-comboselect-clear .comboselect-wrapper:hover .comboselect-clear {\n opacity: 1;\n}\n.paraui-v3-comboselect-non-popup {\n border: 1px solid rgba(171, 176, 185, 0.4);\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v3-comboselect-non-popup .comboselect-wrapper {\n border: none;\n border-bottom: 1px solid rgba(171, 176, 185, 0.4);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n cursor: default;\n}\n.paraui-v3-comboselect-non-popup .comboselect-wrapper:hover {\n border-color: rgba(171, 176, 185, 0.4);\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content {\n position: relative;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 18px;\n border-bottom: 1px solid rgba(171, 176, 185, 0.2);\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-icon {\n line-height: 0;\n cursor: pointer;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-icon svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-input {\n width: 100%;\n height: 100%;\n flex: auto;\n margin: 0 10px 0 10px;\n border: none;\n color: rgb(46, 55, 67);\n font-size: 14px;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search-input::placeholder {\n color: rgba(46, 55, 67, 0.4);\n font-size: 14px;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search .comboselect-clear-icon {\n display: inline-flex;\n cursor: pointer;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search .comboselect-clear-icon svg {\n font-size: 16px;\n color: rgba(46, 55, 67, 0.7);\n transition: all 0.3s;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-search .comboselect-clear-icon svg:hover {\n color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-table {\n padding-bottom: 10px;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-table .paraui-v3-table {\n box-shadow: none;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-tree {\n padding: 6px 7px;\n}\n.paraui-v3-comboselect-non-popup .comboselect-non-popup-content .comboselect-tree .paraui-v3-tree-empty {\n padding: 52px 0 73px 0;\n}\n.paraui-v3-comboselect-dropdown .comboselect-dropdown-wrapper {\n position: relative;\n color: initial;\n overflow: hidden;\n}\n.paraui-v3-comboselect-dropdown .comboselect-search {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 18px;\n border-bottom: 1px solid rgba(171, 176, 185, 0.2);\n}\n.paraui-v3-comboselect-dropdown .comboselect-search-icon {\n line-height: 0;\n cursor: pointer;\n}\n.paraui-v3-comboselect-dropdown .comboselect-search-icon svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-comboselect-dropdown .comboselect-search-input {\n width: 100%;\n flex: auto;\n margin: 0 10px 0 10px;\n border: none;\n color: rgb(46, 55, 67);\n font-size: 14px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-search-input::placeholder {\n color: rgba(46, 55, 67, 0.4);\n font-size: 14px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-search .comboselect-clear-icon {\n display: inline-flex;\n cursor: pointer;\n}\n.paraui-v3-comboselect-dropdown .comboselect-search .comboselect-clear-icon svg {\n font-size: 16px;\n color: rgba(46, 55, 67, 0.7);\n transition: all 0.3s;\n}\n.paraui-v3-comboselect-dropdown .comboselect-search .comboselect-clear-icon svg:hover {\n color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-comboselect-dropdown .comboselect-table {\n height: 100%;\n padding-bottom: 10px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-table .paraui-v3-table {\n box-shadow: none;\n}\n.paraui-v3-comboselect-dropdown .comboselect-tree {\n height: 100%;\n padding: 6px 7px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-tree .paraui-v3-tree-empty {\n height: 100%;\n padding: 52px 0 73px 0;\n}\n.paraui-v3-comboselect-dropdown .comboselect-actions {\n display: flex;\n align-items: center;\n padding: 8px 20px 8px 0;\n justify-content: flex-end;\n border-top: 1px solid rgba(171, 176, 185, 0.2);\n}\n.paraui-v3-comboselect-dropdown .comboselect-actions button + button {\n margin-left: 10px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-fullPath {\n height: 34px;\n line-height: 34px;\n padding: 0 12px;\n border-top: 1px solid rgba(171, 176, 185, 0.2);\n font-size: 14px;\n color: rgb(46, 55, 67);\n}\n.paraui-v3-comboselect-dropdown .comboselect-fullPath span {\n display: inline-block;\n height: 100%;\n padding-right: 10px;\n border-right: 1px solid rgba(171, 176, 185, 0.2);\n}\n.paraui-v3-comboselect-dropdown .comboselect-list {\n padding: 8px 0;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-empty {\n padding: 50px 0 72px 0;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode {\n width: 100%;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode .paraui-v3-tree-switcher {\n display: none;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode .paraui-v3-tree-checkbox {\n display: none;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode .paraui-v3-tree-node-content-wrapper {\n width: 100%;\n margin: 0;\n padding: 6px 28px 6px 12px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode .paraui-v3-tree-node-content-wrapper:hover {\n background-color: rgba(171, 176, 185, 0.12);\n border-radius: 0;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode-checkbox-checked .paraui-v3-tree-node-content-wrapper {\n position: relative;\n color: rgb(54, 102, 214);\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode-checkbox-checked .paraui-v3-tree-node-content-wrapper::after {\n position: absolute;\n content: \" \";\n width: 5px;\n height: 10px;\n right: 12px;\n top: 50%;\n transform: translateY(-50%) rotate(45deg);\n border: 2px solid rgb(54, 102, 214);\n border-top: 0;\n border-left: 0;\n border-bottom-right-radius: 2px;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list .paraui-v3-tree-treenode-disabled .paraui-v3-tree-node-content-wrapper:hover {\n background-color: transparent;\n}\n.paraui-v3-comboselect-dropdown .comboselect-list-single .paraui-v3-tree-treenode-checkbox-checked .paraui-v3-tree-node-content-wrapper::after {\n display: none;\n}\n.paraui-v3-comboselect-more-popover {\n padding-left: 12px;\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper {\n width: 300px;\n padding: 12px 0;\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-title {\n display: block;\n padding: 0 12px;\n margin-bottom: 5px;\n font-size: 12px;\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-content {\n max-height: 300px;\n padding: 0 12px;\n overflow-y: auto;\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item {\n display: flex;\n align-items: center;\n height: 36px;\n font-size: 14px;\n color: rgb(46, 55, 67);\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-text {\n display: inline-block;\n max-width: calc(100% - 25px);\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-remove {\n display: inline-flex;\n margin-left: auto;\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-remove svg {\n font-size: 20px;\n color: rgb(46, 55, 67);\n cursor: pointer;\n}\n.paraui-v3-comboselect-more-popover .comboselect-more-wrapper .comboselect-more-item-remove svg:hover {\n color: rgb(54, 102, 214);\n}";
152
+ styleInject(css_248z);
153
+
154
+ //组合选择器
155
+ var ComboSelect = function ComboSelect(props) {
156
+ var _props$mode = props.mode,
157
+ mode = _props$mode === void 0 ? 'table' : _props$mode,
158
+ placeholder = props.placeholder,
159
+ searchPlaceholder = props.searchPlaceholder,
160
+ maxCount = props.maxCount,
161
+ _props$disabled = props.disabled,
162
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
163
+ _props$allowClear = props.allowClear,
164
+ allowClear = _props$allowClear === void 0 ? false : _props$allowClear,
165
+ className = props.className,
166
+ style = props.style,
167
+ maxHeight = props.maxHeight,
168
+ height = props.height,
169
+ _props$placement = props.placement,
170
+ placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,
171
+ popoverClassName = props.popoverClassName,
172
+ _props$size = props.size,
173
+ size = _props$size === void 0 ? 'large' : _props$size,
174
+ _props$popoverActions = props.popoverActions,
175
+ popoverActions = _props$popoverActions === void 0 ? null : _props$popoverActions,
176
+ _props$showPopoverAct = props.showPopoverActions,
177
+ showPopoverActions = _props$showPopoverAct === void 0 ? false : _props$showPopoverAct,
178
+ _props$defaultOpen = props.defaultOpen,
179
+ defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
180
+ defaultValue = props.defaultValue,
181
+ _props$replaceFields = props.replaceFields,
182
+ replaceFields = _props$replaceFields === void 0 ? {
183
+ key: 'key',
184
+ title: 'title',
185
+ children: 'children'
186
+ } : _props$replaceFields,
187
+ _props$outputFields = props.outputFields,
188
+ outputFields = _props$outputFields === void 0 ? {
189
+ outputKey: 'key',
190
+ outputTitle: 'label'
191
+ } : _props$outputFields,
192
+ value = props.value,
193
+ onClear = props.onClear,
194
+ onCancel = props.onCancel,
195
+ onOk = props.onOk,
196
+ onClose = props.onClose,
197
+ onChange = props.onChange,
198
+ onSearch = props.onSearch,
199
+ refresh = props.refresh,
200
+ TableProps = props.TableProps,
201
+ TreeProps = props.TreeProps,
202
+ _props$checkable = props.checkable,
203
+ checkable = _props$checkable === void 0 ? true : _props$checkable,
204
+ url = props.url,
205
+ ctx = props.ctx,
206
+ params = props.params,
207
+ _props$method = props.method,
208
+ method = _props$method === void 0 ? 'Get' : _props$method,
209
+ _props$showSearch = props.showSearch,
210
+ showSearch = _props$showSearch === void 0 ? false : _props$showSearch,
211
+ _props$error = props.error,
212
+ error = _props$error === void 0 ? false : _props$error,
213
+ hideErrorDom = props.hideErrorDom,
214
+ helperText = props.helperText,
215
+ paramsCallback = props.paramsCallback,
216
+ fullPathKey = props.fullPathKey,
217
+ fullPathRender = props.fullPathRender,
218
+ _props$disablePopup = props.disablePopup,
219
+ disablePopup = _props$disablePopup === void 0 ? false : _props$disablePopup,
220
+ tagRender = props.tagRender,
221
+ onTagRemove = props.onTagRemove,
222
+ action = props.action,
223
+ _props$label = props.label,
224
+ label = _props$label === void 0 ? '' : _props$label,
225
+ labelTooltip = props.labelTooltip,
226
+ _props$required = props.required,
227
+ required = _props$required === void 0 ? false : _props$required,
228
+ emptyProps = props.emptyProps,
229
+ _props$toggleSelected = props.toggleSelectedOnSingle,
230
+ toggleSelectedOnSingle = _props$toggleSelected === void 0 ? false : _props$toggleSelected,
231
+ optionRender = props.optionRender,
232
+ getOptionLabel = props.getOptionLabel,
233
+ _props$dropdownMatchS = props.dropdownMatchSelectWidth,
234
+ dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,
235
+ getPopupContainer = props.getPopupContainer,
236
+ maxTagTextLength = props.maxTagTextLength;
237
+ var _React$useContext = React__default.useContext(GlobalContext),
238
+ language = _React$useContext.language,
239
+ locale = _React$useContext.locale;
240
+ var selectRef = useRef();
241
+ var _useState = useState(false),
242
+ _useState2 = _slicedToArray(_useState, 2),
243
+ open = _useState2[0],
244
+ setOpen = _useState2[1]; //打开popover
245
+ var _useState3 = useState([]),
246
+ _useState4 = _slicedToArray(_useState3, 2),
247
+ checkKeys = _useState4[0],
248
+ setCheckKeys = _useState4[1]; //选中key
249
+ var checkValuesRef = useRef(new Map()); //选中value
250
+ var _useState5 = useState([]),
251
+ _useState6 = _slicedToArray(_useState5, 2),
252
+ checkList = _useState6[0],
253
+ setCheckList = _useState6[1]; //tag显示选中项
254
+ var _useState7 = useState(''),
255
+ _useState8 = _slicedToArray(_useState7, 2),
256
+ inputValue = _useState8[0],
257
+ setInputValue = _useState8[1]; //input value
258
+ var searchKeyRef = useRef(undefined); //搜索参数
259
+ var _useState9 = useState(null),
260
+ _useState10 = _slicedToArray(_useState9, 2),
261
+ fullPath = _useState10[0],
262
+ setFullPath = _useState10[1]; //路径
263
+ var _useState11 = useState(false),
264
+ _useState12 = _slicedToArray(_useState11, 2),
265
+ hasAllClear = _useState12[0],
266
+ setHasAllClear = _useState12[1]; //显示清除按钮
267
+ var _useState13 = useState(0),
268
+ _useState14 = _slicedToArray(_useState13, 2),
269
+ inRefresh = _useState14[0],
270
+ setInRefresh = _useState14[1]; //内部刷新组件
271
+ var _useState15 = useState(false),
272
+ _useState16 = _slicedToArray(_useState15, 2),
273
+ openMore = _useState16[0],
274
+ setOpenMore = _useState16[1]; //显示更过选中
275
+ var _useState17 = useState([]),
276
+ _useState18 = _slicedToArray(_useState17, 2),
277
+ moreTagList = _useState18[0],
278
+ setMoreTagList = _useState18[1]; //更多tag列表
279
+ var originValueRef = useRef([]); // 保存value
280
+ var hasPopup = useRef(false); //显示弹框标识
281
+ var popUpNodeRef = useRef(); //popup dom
282
+ var emptyParamsRef = useRef({}); //空参数常量
283
+ var searchInputRef = useRef(); //search input
284
+ var mergedReplaceF = getReplaceField(mode, replaceFields, TableProps, TreeProps); //替换字段
285
+ var _mergedReplaceF$key = mergedReplaceF.key,
286
+ fieldKey = _mergedReplaceF$key === void 0 ? '' : _mergedReplaceF$key,
287
+ _mergedReplaceF$title = mergedReplaceF.title,
288
+ fieldTitle = _mergedReplaceF$title === void 0 ? '' : _mergedReplaceF$title;
289
+ var _ref = outputFields || {},
290
+ _ref$outputKey = _ref.outputKey,
291
+ outputKey = _ref$outputKey === void 0 ? 'key' : _ref$outputKey,
292
+ _ref$outputTitle = _ref.outputTitle,
293
+ outputTitle = _ref$outputTitle === void 0 ? 'label' : _ref$outputTitle;
294
+ var intl = useFormatMessage('ComboSelect', localeJson);
295
+ var isRemoteLoadRef = useRef(isRemoteLoad(mode, mode === 'table' ? TableProps : TreeProps)); //是否远程加载数据
296
+ var _useState19 = useState(),
297
+ _useState20 = _slicedToArray(_useState19, 2),
298
+ loadedKeys = _useState20[0],
299
+ setLoadKeys = _useState20[1]; //加载过的key
300
+ //选择框点击
301
+ var handleSelectorClick = function handleSelectorClick(event) {
302
+ if (disablePopup) return;
303
+ if (disabled) return;
304
+ if (hasPopup.current) {
305
+ handlePopoverClose();
306
+ return;
307
+ }
308
+ hasPopup.current = true;
309
+ setOpen(true);
310
+ };
311
+ //关闭popover
312
+ var handlePopoverClose = function handlePopoverClose(event, reason) {
313
+ hasPopup.current = false;
314
+ searchKeyRef.current = undefined;
315
+ emptyParamsRef.current = {};
316
+ setOpen(false);
317
+ setFullPath(null);
318
+ setInputValue('');
319
+ onClose === null || onClose === void 0 ? void 0 : onClose();
320
+ if (reason === 'cancel') {
321
+ clearSelectorData();
322
+ }
323
+ };
324
+ //清空选择器数据
325
+ var clearSelectorData = function clearSelectorData() {
326
+ setCheckKeys([]);
327
+ setCheckList([]);
328
+ setMoreTagList([]);
329
+ };
330
+ //处理选中
331
+ var handleChecked = function handleChecked(keys, values) {
332
+ setCheckKeys(keys);
333
+ formatSelectedData(values, keys);
334
+ };
335
+ //内部状态变化
336
+ var internalChange = function internalChange(currItem) {
337
+ setCheckKeys(function (prev) {
338
+ var idx = prev.findIndex(function (k) {
339
+ return k === currItem[outputKey];
340
+ });
341
+ if (idx > -1) prev.splice(idx, 1);
342
+ return _toConsumableArray(prev);
343
+ });
344
+ };
345
+ //删除当前选中项
346
+ var handleRemoveTagClick = function handleRemoveTagClick(evt, currItem) {
347
+ evt.stopPropagation();
348
+ if (currItem.closable === false) return; //tag 不可关闭
349
+ if ((onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(currItem)) === false) return; //返回false不删除
350
+ var newCheckList = _toConsumableArray(checkList);
351
+ var idx = newCheckList.findIndex(function (_) {
352
+ return _[outputKey] === currItem[outputKey];
353
+ });
354
+ if (idx > -1) newCheckList.splice(idx, 1);
355
+ setCheckList(newCheckList);
356
+ internalChange(currItem);
357
+ onChange === null || onChange === void 0 ? void 0 : onChange(newCheckList);
358
+ };
359
+ //输入框
360
+ var handleInputChange = function handleInputChange(evt) {
361
+ setInputValue(evt.target.value);
362
+ };
363
+ //清空搜索值,重置搜索
364
+ var handleClearSearchValue = function handleClearSearchValue() {
365
+ setInputValue('');
366
+ if (onSearch) return onSearch('');
367
+ searchKeyRef.current = '';
368
+ setInRefresh(Math.random());
369
+ };
370
+ //输入框回车搜索
371
+ var handleEnterSearch = function handleEnterSearch(evt, type) {
372
+ var searchFn = function searchFn() {
373
+ if (!onSearch) {
374
+ searchKeyRef.current = inputValue === null || inputValue === void 0 ? void 0 : inputValue.trim();
375
+ setInRefresh(Math.random());
376
+ } else {
377
+ onSearch(inputValue);
378
+ }
379
+ if (isRemoteLoadRef.current) setLoadKeys([]);
380
+ };
381
+ if (type === 'click') {
382
+ searchFn();
383
+ } else if (evt) {
384
+ var keyCode = evt.which || evt.keyCode;
385
+ if (keyCode === 13) searchFn();
386
+ }
387
+ };
388
+ //popover 完成
389
+ var handlePopoverDone = function handlePopoverDone(evt, flag) {
390
+ if (flag) {
391
+ onOk === null || onOk === void 0 ? void 0 : onOk(checkList);
392
+ handlePopoverClose(null, 'ok');
393
+ } else {
394
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
395
+ handlePopoverClose(null, 'cancel');
396
+ }
397
+ };
398
+ //设置容器宽高
399
+ var setPopoverWH = function setPopoverWH() {
400
+ var w = 'auto';
401
+ if (selectRef.current) w = selectRef.current.offsetWidth + 'px';
402
+ var overlayStyle = getOverlaySize(mode, isRemoteLoadRef.current, maxHeight, height);
403
+ var wObj = {
404
+ minWidth: w,
405
+ maxWidth: 960
406
+ };
407
+ if (typeof dropdownMatchSelectWidth === 'number') {
408
+ wObj.width = dropdownMatchSelectWidth;
409
+ } else if (dropdownMatchSelectWidth) {
410
+ wObj.width = w;
411
+ }
412
+ return Object.assign(Object.assign({
413
+ overflow: 'auto'
414
+ }, wObj), overlayStyle);
415
+ };
416
+ //select className
417
+ var makeSelectCls = function makeSelectCls() {
418
+ var _clsx;
419
+ var isMedium = size !== 'medium';
420
+ return clsx("".concat($prefixCls, "-comboselect"), className, (_clsx = {}, _defineProperty(_clsx, "".concat($prefixCls, "-comboselect-focused"), open && !disablePopup), _defineProperty(_clsx, "".concat($prefixCls, "-comboselect-disabled"), disabled), _defineProperty(_clsx, "".concat($prefixCls, "-comboselect-radioable"), !checkable), _defineProperty(_clsx, "".concat($prefixCls, "-comboselect-error"), error), _defineProperty(_clsx, "".concat($prefixCls, "-comboselect-clear"), hasAllClear), _defineProperty(_clsx, "".concat($prefixCls, "-comboselect-non-popup"), disablePopup), _clsx), isMedium && "".concat($prefixCls, "-comboselect-").concat(size));
421
+ };
422
+ //格式化选中数据
423
+ var formatSelectedData = function formatSelectedData(values, keys) {
424
+ var _a;
425
+ var opts = [];
426
+ if (values === null || values === void 0 ? void 0 : values.length) {
427
+ opts = values.map(function (item) {
428
+ var _a;
429
+ var temp = {};
430
+ temp[outputKey] = item[fieldKey] || '';
431
+ if (getOptionLabel) temp[outputTitle] = getOptionLabel(item) || '';else temp[outputTitle] = item[fieldTitle] || '';
432
+ var oValue = (_a = originValueRef.current) === null || _a === void 0 ? void 0 : _a.find(function (v) {
433
+ return v[outputKey] === temp[outputKey];
434
+ });
435
+ if (oValue) {
436
+ if (oValue.disabled !== undefined) {
437
+ temp.disabled = oValue.disabled;
438
+ }
439
+ if (oValue.closable !== undefined) {
440
+ temp.closable = oValue.closable;
441
+ }
442
+ }
443
+ return temp;
444
+ });
445
+ }
446
+ if ((keys === null || keys === void 0 ? void 0 : keys.length) && values) {
447
+ var _opts;
448
+ var fKeys = keys.filter(function (k) {
449
+ return values.findIndex(function (v) {
450
+ return v[fieldKey] === k;
451
+ }) === -1;
452
+ });
453
+ var diffValue = (_a = originValueRef.current) === null || _a === void 0 ? void 0 : _a.filter(function (v) {
454
+ return fKeys === null || fKeys === void 0 ? void 0 : fKeys.includes(v[outputKey]);
455
+ });
456
+ if (diffValue) (_opts = opts).push.apply(_opts, _toConsumableArray(diffValue));
457
+ }
458
+ setCheckList(opts);
459
+ var vals = DeepClone(values || []);
460
+ if (!checkable)
461
+ //单选
462
+ onChange === null || onChange === void 0 ? void 0 : onChange(opts[0], vals[0]);else onChange === null || onChange === void 0 ? void 0 : onChange(opts, vals);
463
+ };
464
+ //外部数据转换为内部状态
465
+ var transformToState = function transformToState(options) {
466
+ var keys = options.map(function (_) {
467
+ return _[outputKey];
468
+ });
469
+ setCheckList(options);
470
+ setCheckKeys(keys);
471
+ originValueRef.current = options;
472
+ };
473
+ //tree select
474
+ var handleSelect = function handleSelect(selectedKeys, info) {
475
+ setFullPath(info.node);
476
+ };
477
+ //渲染搜索
478
+ var renderSearch = function renderSearch() {
479
+ var styObj = {};
480
+ if (!disablePopup) {
481
+ var _setPopoverWH = setPopoverWH(),
482
+ width = _setPopoverWH.width,
483
+ minWidth = _setPopoverWH.minWidth,
484
+ maxWidth = _setPopoverWH.maxWidth;
485
+ styObj = {
486
+ width: width,
487
+ minWidth: minWidth,
488
+ maxWidth: maxWidth
489
+ };
490
+ }
491
+ return jsxs("div", Object.assign({
492
+ className: 'comboselect-search',
493
+ style: styObj
494
+ }, {
495
+ children: [jsx("span", Object.assign({
496
+ className: 'comboselect-search-icon',
497
+ onClick: function onClick() {
498
+ return handleEnterSearch(null, 'click');
499
+ }
500
+ }, {
501
+ children: jsx(SearchIcon, {})
502
+ })), jsx("input", {
503
+ placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : intl({
504
+ id: 'searchPlaceholder'
505
+ }),
506
+ className: 'comboselect-search-input',
507
+ ref: searchInputRef,
508
+ onChange: handleInputChange,
509
+ value: inputValue,
510
+ onKeyUp: function onKeyUp(evt) {
511
+ return handleEnterSearch(evt, 'enter');
512
+ }
513
+ }), inputValue && jsx("span", Object.assign({
514
+ className: 'comboselect-clear-icon',
515
+ onClick: handleClearSearchValue
516
+ }, {
517
+ children: jsx(CloseCircle, {})
518
+ }))]
519
+ }));
520
+ };
521
+ //render popover action
522
+ var renderActions = function renderActions() {
523
+ if (popoverActions) return jsx("div", Object.assign({
524
+ className: 'comboselect-actions'
525
+ }, {
526
+ children: popoverActions
527
+ }));
528
+ return jsxs("div", Object.assign({
529
+ className: 'comboselect-actions'
530
+ }, {
531
+ children: [jsx(Button, Object.assign({
532
+ onClick: function onClick(evt) {
533
+ return handlePopoverDone(evt, false);
534
+ },
535
+ variant: "outlined",
536
+ size: 'small'
537
+ }, {
538
+ children: intl({
539
+ id: 'cancel'
540
+ })
541
+ })), jsx(Button, Object.assign({
542
+ variant: "outlined",
543
+ onClick: function onClick(evt) {
544
+ return handlePopoverDone(evt, true);
545
+ },
546
+ size: 'small'
547
+ }, {
548
+ children: intl({
549
+ id: 'ok'
550
+ })
551
+ }))]
552
+ }));
553
+ };
554
+ //渲染完整路径
555
+ var renderFullPath = function renderFullPath() {
556
+ var _a;
557
+ if (mode !== 'tree' || !fullPath) return null;
558
+ if (fullPathRender) {
559
+ return jsx("div", Object.assign({
560
+ className: 'comboselect-fullPath'
561
+ }, {
562
+ children: fullPathRender(fullPath !== null && fullPath !== void 0 ? fullPath : {})
563
+ }));
564
+ }
565
+ return jsxs("div", Object.assign({
566
+ className: 'comboselect-fullPath'
567
+ }, {
568
+ children: [jsx("span", {
569
+ children: intl({
570
+ id: 'fullPath'
571
+ })
572
+ }), (_a = fullPath === null || fullPath === void 0 ? void 0 : fullPath[fullPathKey]) !== null && _a !== void 0 ? _a : '']
573
+ }));
574
+ };
575
+ //全部清空
576
+ var handleAllClear = function handleAllClear(evt) {
577
+ evt.stopPropagation();
578
+ clearSelectorData();
579
+ handlePopoverClose();
580
+ setOpenMore(false);
581
+ onClear === null || onClear === void 0 ? void 0 : onClear();
582
+ onChange === null || onChange === void 0 ? void 0 : onChange(checkable ? [] : {});
583
+ };
584
+ //显示更多
585
+ var handleOpenMore = function handleOpenMore(e) {
586
+ e.stopPropagation();
587
+ setOpenMore(true);
588
+ handlePopoverClose();
589
+ };
590
+ //暴露给外部的行为
591
+ useImperativeHandle(action, function () {
592
+ return {
593
+ closePopup: function closePopup() {
594
+ return handlePopoverClose();
595
+ }
596
+ };
597
+ });
598
+ useEffect(function () {
599
+ if (!disablePopup && defaultOpen) {
600
+ //默认打开
601
+ hasPopup.current = true;
602
+ setOpen(defaultOpen);
603
+ }
604
+ }, [defaultOpen]);
605
+ useEffect(function () {
606
+ if (defaultValue) {
607
+ //默认值
608
+ transformToState(toArray(defaultValue));
609
+ }
610
+ }, []);
611
+ useEffect(function () {
612
+ if (value) {
613
+ //受控values
614
+ transformToState(toArray(value));
615
+ }
616
+ }, [value]);
617
+ //是否显示清除图标
618
+ useEffect(function () {
619
+ if (allowClear) setHasAllClear(!!(checkList === null || checkList === void 0 ? void 0 : checkList.length));
620
+ }, [checkList]);
621
+ useEffect(function () {
622
+ var ownerDocument = function ownerDocument(node) {
623
+ return node && node.ownerDocument || document;
624
+ };
625
+ var handleMouseDown = function handleMouseDown(evt) {
626
+ var _a, _b;
627
+ var doc = ownerDocument(selectRef.current);
628
+ var target = evt.target;
629
+ var insideDOM = !doc.documentElement.contains(target) || ((_a = popUpNodeRef.current) === null || _a === void 0 ? void 0 : _a.contains(target)) || ((_b = selectRef.current) === null || _b === void 0 ? void 0 : _b.contains(target)) || false;
630
+ if (mode === 'table') {
631
+ //表格模式时,显示点击popover时阻止 关闭弹框
632
+ //表格分页popover
633
+ var tablePageSelectCls = ".".concat($prefixCls, "-select-popover .select-popover-content");
634
+ //表格显示列popover
635
+ var tableColumCls = ".".concat($prefixCls, "-table-show-colums-popover");
636
+ //表格过滤popover
637
+ var tableFilterCls = ".".concat($prefixCls, "-filter-popover");
638
+ var tablePageSelectDom = document.querySelector(tablePageSelectCls);
639
+ var tableColumn = document.querySelector(tableColumCls);
640
+ var tableFilter = document.querySelector(tableFilterCls);
641
+ if (tablePageSelectDom && tablePageSelectDom.contains(target)) return;
642
+ if (tableColumn && tableColumn.contains(target)) return;
643
+ if (tableFilter && tableFilter.contains(target)) return;
644
+ }
645
+ if (hasPopup.current && !insideDOM) {
646
+ handlePopoverClose();
647
+ }
648
+ };
649
+ if (open) {
650
+ setTimeout(function () {
651
+ var _a;
652
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
653
+ }, 200);
654
+ }
655
+ if (!disablePopup && open) {
656
+ var doc = ownerDocument(selectRef.current);
657
+ doc.addEventListener('mousedown', handleMouseDown);
658
+ return function () {
659
+ doc.removeEventListener('mousedown', handleMouseDown);
660
+ };
661
+ }
662
+ }, [open]);
663
+ //tag memo
664
+ var tagMemo = useMemo(function () {
665
+ var _a;
666
+ if (!(checkList === null || checkList === void 0 ? void 0 : checkList.length)) return null;
667
+ if (!checkable) {
668
+ //单选
669
+ return jsx("span", Object.assign({
670
+ className: 'comboselect-single-content'
671
+ }, {
672
+ children: (_a = checkList[0]) === null || _a === void 0 ? void 0 : _a[outputTitle]
673
+ }));
674
+ }
675
+ var realShowList = _toConsumableArray(checkList); //实际显示
676
+ var overList = [];
677
+ if (maxCount) {
678
+ if (checkList.length > maxCount) {
679
+ overList = checkList.slice(maxCount); //超出
680
+ realShowList = checkList.slice(0, maxCount);
681
+ setMoreTagList(overList);
682
+ } else {
683
+ setMoreTagList([]);
684
+ setOpenMore(false);
685
+ }
686
+ }
687
+ //超出tag渲染
688
+ var renderOverTag = function renderOverTag() {
689
+ return (overList === null || overList === void 0 ? void 0 : overList.length) ? jsx("div", Object.assign({
690
+ className: 'comboselect-overflow-item'
691
+ }, {
692
+ children: jsx("span", Object.assign({
693
+ className: 'comboselect-item',
694
+ onClick: handleOpenMore
695
+ }, {
696
+ children: jsx("span", Object.assign({
697
+ className: 'comboselect-item-content'
698
+ }, {
699
+ children: "+".concat(overList === null || overList === void 0 ? void 0 : overList.length)
700
+ }))
701
+ }))
702
+ })) : null;
703
+ };
704
+ //渲染tag item
705
+ var renderTagItem = function renderTagItem(item) {
706
+ if (tagRender) return tagRender(item);
707
+ var _ref2 = item !== null && item !== void 0 ? item : {},
708
+ disabled = _ref2.disabled,
709
+ _ref2$closable = _ref2.closable,
710
+ closable = _ref2$closable === void 0 ? true : _ref2$closable;
711
+ var displayLabel = item[outputTitle];
712
+ var isOverflow = false;
713
+ //限制tag文本长度
714
+ if (typeof maxTagTextLength === 'number') {
715
+ if (typeof displayLabel === 'string' || typeof displayLabel === 'number') {
716
+ var strLabel = String(displayLabel);
717
+ if (strLabel.length > maxTagTextLength) {
718
+ displayLabel = "".concat(strLabel.slice(0, maxTagTextLength), "...");
719
+ isOverflow = true;
720
+ }
721
+ }
722
+ }
723
+ return jsxs("span", Object.assign({
724
+ className: clsx('comboselect-item', {
725
+ 'comboselect-item--disabled': disabled,
726
+ 'comboselect-item--unclosable': !closable
727
+ })
728
+ }, {
729
+ children: [isOverflow ? jsx(Tooltip, Object.assign({
730
+ title: jsx("div", Object.assign({
731
+ onClick: function onClick(e) {
732
+ return e.stopPropagation();
733
+ }
734
+ }, {
735
+ children: item[outputTitle]
736
+ })),
737
+ arrow: false,
738
+ placement: 'bottomLeft'
739
+ }, {
740
+ children: jsx("span", Object.assign({
741
+ className: 'comboselect-item-content'
742
+ }, {
743
+ children: displayLabel
744
+ }))
745
+ })) : jsx("span", Object.assign({
746
+ className: 'comboselect-item-content'
747
+ }, {
748
+ children: jsx(AutoTips, {
749
+ children: displayLabel
750
+ })
751
+ })), closable === true && jsx("span", Object.assign({
752
+ className: 'comboselect-item-remove',
753
+ onClick: function onClick(evt) {
754
+ return handleRemoveTagClick(evt, item);
755
+ },
756
+ onMouseDown: function onMouseDown(e) {
757
+ return e.stopPropagation();
758
+ }
759
+ }, {
760
+ children: jsx(CloseIcon, {})
761
+ }))]
762
+ }));
763
+ };
764
+ return jsxs(Fragment, {
765
+ children: [realShowList.map(function (item, idx) {
766
+ return jsx("div", Object.assign({
767
+ className: 'comboselect-overflow-item'
768
+ }, {
769
+ children: renderTagItem(item)
770
+ }), idx);
771
+ }), renderOverTag()]
772
+ });
773
+ }, [checkList, onChange]);
774
+ //处理参数
775
+ var getParams = useMemo(function () {
776
+ var P = params || emptyParamsRef.current;
777
+ if (showSearch && !onSearch && searchKeyRef.current !== undefined) {
778
+ P = Object.assign(Object.assign({}, P), {
779
+ searchKey: searchKeyRef.current
780
+ });
781
+ }
782
+ return (paramsCallback === null || paramsCallback === void 0 ? void 0 : paramsCallback(P)) || P;
783
+ }, [params, inRefresh, refresh, open]);
784
+ //表格组件
785
+ var tableMemo = useMemo(function () {
786
+ if (!disablePopup && !open || mode !== 'table') return null;
787
+ var reqOpts = {
788
+ url: url,
789
+ ctx: ctx,
790
+ search: getParams,
791
+ method: method
792
+ };
793
+ //处理table radio
794
+ var handleTableRadio = function handleTableRadio(keys, values) {
795
+ if (!checkable) {
796
+ //单选时关闭下拉框,点击自己不取消
797
+ handlePopoverClose();
798
+ if (checkKeys.includes(keys)) return;
799
+ }
800
+ handleChecked([keys], [values]);
801
+ };
802
+ return jsx("div", Object.assign({
803
+ className: 'comboselect-table'
804
+ }, {
805
+ children: jsx(Table, Object.assign({}, reqOpts, TableProps, {
806
+ emptyProps: emptyProps,
807
+ check: checkable,
808
+ radio: !checkable,
809
+ rowKey: fieldKey,
810
+ setCheck: handleChecked,
811
+ setRadio: handleTableRadio,
812
+ checkDefaultValue: checkKeys,
813
+ radioDefaultValue: checkKeys[0],
814
+ refresh: refresh !== null && refresh !== void 0 ? refresh : inRefresh,
815
+ autoSize: false
816
+ }))
817
+ }));
818
+ }, [checkKeys, refresh, params, inRefresh, open]);
819
+ //树组件
820
+ var treeMemo = useMemo(function () {
821
+ if (!disablePopup && !open || !['tree', 'list'].includes(mode)) return null;
822
+ var reqOpts = {
823
+ url: url,
824
+ ctx: ctx,
825
+ params: getParams,
826
+ method: method
827
+ };
828
+ //处理tree nodes
829
+ var handleTreeCheck = function handleTreeCheck(checkedKeys, info) {
830
+ var _a;
831
+ if (!info.checked) {
832
+ var temp = {};
833
+ temp[outputKey] = info.node[fieldKey] || '';
834
+ temp[outputTitle] = info.node[fieldTitle] || '';
835
+ if ((onTagRemove === null || onTagRemove === void 0 ? void 0 : onTagRemove(temp)) === false) {
836
+ //返回false不删除
837
+ return;
838
+ }
839
+ }
840
+ if (!checkable) {
841
+ //单选时
842
+ handlePopoverClose();
843
+ if (!toggleSelectedOnSingle) {
844
+ if (checkKeys.includes((_a = info.node) === null || _a === void 0 ? void 0 : _a.key)) return;
845
+ }
846
+ }
847
+ var nodes = info.checkedNodes;
848
+ if (!checkable) {
849
+ //单选
850
+ if (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) nodes = [info.node];
851
+ }
852
+ //多选
853
+ if (checkable) {
854
+ var nodesObj = ArrayToObject('key', nodes);
855
+ var ckeys = Array.from(checkValuesRef.current.keys());
856
+ ckeys.forEach(function (k) {
857
+ if (!checkedKeys.includes(k)) {
858
+ checkValuesRef.current.delete(k);
859
+ }
860
+ });
861
+ checkedKeys.forEach(function (k) {
862
+ if (nodesObj[k]) {
863
+ checkValuesRef.current.set(k, nodesObj[k]);
864
+ }
865
+ });
866
+ nodes = Array.from(checkValuesRef.current.values());
867
+ }
868
+ handleChecked(checkedKeys, nodes);
869
+ };
870
+ var _titleRender = function _titleRender(dataNode) {
871
+ if (TreeProps === null || TreeProps === void 0 ? void 0 : TreeProps.titleRender) {
872
+ return TreeProps.titleRender(dataNode);
873
+ }
874
+ if (optionRender) {
875
+ return optionRender(dataNode);
876
+ }
877
+ return dataNode.title;
878
+ };
879
+ var treeCls = clsx('comboselect-tree', {
880
+ 'comboselect-list': mode === 'list',
881
+ 'comboselect-list-single': mode === 'list' && !checkable
882
+ });
883
+ return jsx("div", Object.assign({
884
+ className: treeCls
885
+ }, {
886
+ children: jsx(Tree, Object.assign({
887
+ blockNode: true
888
+ }, reqOpts, TreeProps, {
889
+ wrapperStyle: {
890
+ position: 'static'
891
+ },
892
+ emptyProps: Object.assign({
893
+ size: 'small'
894
+ }, emptyProps),
895
+ replaceFields: mergedReplaceF,
896
+ checkable: checkable,
897
+ radioable: !checkable,
898
+ showRadio: false,
899
+ selectable: mode !== 'list',
900
+ loadedKeys: loadedKeys,
901
+ checkedKeys: checkKeys,
902
+ onCheck: handleTreeCheck,
903
+ onSelect: handleSelect,
904
+ titleRender: _titleRender,
905
+ refresh: refresh !== null && refresh !== void 0 ? refresh : inRefresh
906
+ }))
907
+ }));
908
+ }, [checkKeys, refresh, params, inRefresh, open, loadedKeys]);
909
+ //组合选择器输入框
910
+ var comboSelectorInput = jsxs("div", Object.assign({
911
+ className: 'comboselect-wrapper',
912
+ ref: selectRef,
913
+ onClick: handleSelectorClick
914
+ }, {
915
+ children: [jsx("div", Object.assign({
916
+ className: clsx('comboselect-overflow', !checkable && 'comboselect-overflow-single')
917
+ }, {
918
+ children: tagMemo
919
+ })), !disablePopup && jsx("span", Object.assign({
920
+ className: 'comboselect-arrow'
921
+ }, {
922
+ children: jsx(Down, {})
923
+ })), hasAllClear && jsx("span", Object.assign({
924
+ className: 'comboselect-clear',
925
+ onClick: handleAllClear
926
+ }, {
927
+ children: jsx(CloseCircle, {})
928
+ })), !(checkList === null || checkList === void 0 ? void 0 : checkList.length) && jsx("span", Object.assign({
929
+ className: 'comboselect-placeholder'
930
+ }, {
931
+ children: placeholder !== null && placeholder !== void 0 ? placeholder : intl({
932
+ id: 'pleaseSelect'
933
+ })
934
+ }))]
935
+ }));
936
+ //渲染label
937
+ var renderLabel = function renderLabel() {
938
+ if (label || required) {
939
+ return jsx(Label, Object.assign({
940
+ label: label,
941
+ required: required
942
+ }, labelTooltip));
943
+ }
944
+ return null;
945
+ };
946
+ //非popover 模式
947
+ var nonPopoverMemo = useMemo(function () {
948
+ return jsxs(Fragment, {
949
+ children: [comboSelectorInput, jsxs("div", Object.assign({
950
+ className: 'comboselect-non-popup-content'
951
+ }, {
952
+ children: [showSearch && renderSearch(), mode === 'table' ? tableMemo : treeMemo, renderFullPath(), showPopoverActions && renderActions()]
953
+ }))]
954
+ });
955
+ }, [checkKeys, inputValue, refresh, params, fullPath, hasAllClear, helperText, language, locale, onChange, onClear]);
956
+ //popover 浮层
957
+ var renderOverlay = function renderOverlay() {
958
+ return jsxs("div", Object.assign({
959
+ ref: popUpNodeRef,
960
+ className: 'comboselect-dropdown-wrapper'
961
+ }, {
962
+ children: [showSearch && renderSearch(), jsxs("div", Object.assign({
963
+ style: setPopoverWH(),
964
+ className: "".concat($prefixCls, "-scrollbar-small")
965
+ }, {
966
+ children: [mode === 'table' ? tableMemo : treeMemo, open && renderFullPath(), showPopoverActions && renderActions()]
967
+ }))]
968
+ }));
969
+ };
970
+ //popover 渲染更多节点
971
+ var renderPopoverMore = function renderPopoverMore() {
972
+ var generateMoreTag = function generateMoreTag() {
973
+ if (!(moreTagList === null || moreTagList === void 0 ? void 0 : moreTagList.length)) return null;
974
+ return moreTagList.map(function (item, idx) {
975
+ return jsxs("div", Object.assign({
976
+ className: "comboselect-more-item"
977
+ }, {
978
+ children: [jsx("span", Object.assign({
979
+ className: "comboselect-more-item-text"
980
+ }, {
981
+ children: jsx(AutoTips, {
982
+ children: item[outputTitle]
983
+ })
984
+ })), jsx("span", Object.assign({
985
+ className: 'comboselect-more-item-remove',
986
+ onClick: function onClick(e) {
987
+ return handleRemoveTagClick(e, item);
988
+ }
989
+ }, {
990
+ children: jsx(CloseIcon, {})
991
+ }))]
992
+ }), idx);
993
+ });
994
+ };
995
+ return jsxs("div", Object.assign({
996
+ className: "comboselect-more-wrapper"
997
+ }, {
998
+ children: [jsx("span", Object.assign({
999
+ className: "comboselect-more-title"
1000
+ }, {
1001
+ children: jsxs("span", {
1002
+ children: [intl({
1003
+ id: 'selected'
1004
+ }), " ( ".concat(moreTagList.length, " )")]
1005
+ })
1006
+ })), jsx("div", Object.assign({
1007
+ className: "comboselect-more-content"
1008
+ }, {
1009
+ children: generateMoreTag()
1010
+ }))]
1011
+ }));
1012
+ };
1013
+ //popover 模式
1014
+ var popoverMemo = useMemo(function () {
1015
+ return jsx(Dropdown, Object.assign({
1016
+ overlay: renderOverlay(),
1017
+ visible: open,
1018
+ placement: placement,
1019
+ trigger: ['click'],
1020
+ overlayClassName: clsx("".concat($prefixCls, "-comboselect-dropdown"), popoverClassName),
1021
+ getPopupContainer: getPopupContainer
1022
+ }, {
1023
+ children: jsx(Popover, Object.assign({
1024
+ visible: openMore,
1025
+ destroyTooltipOnHide: true,
1026
+ placement: "rightTop",
1027
+ content: renderPopoverMore(),
1028
+ onVisibleChange: function onVisibleChange() {
1029
+ return setOpenMore(false);
1030
+ },
1031
+ overlayClassName: "".concat($prefixCls, "-comboselect-more-popover")
1032
+ }, {
1033
+ children: comboSelectorInput
1034
+ }))
1035
+ }));
1036
+ }, [open, checkKeys, inputValue, refresh, params, fullPath, inRefresh, hasAllClear, helperText, language, locale, openMore, moreTagList, loadedKeys, onChange, onClear]);
1037
+ return jsxs("div", Object.assign({
1038
+ className: makeSelectCls(),
1039
+ style: style
1040
+ }, {
1041
+ children: [renderLabel(), disablePopup ? nonPopoverMemo : popoverMemo, !disablePopup ? jsx(HelperText, {
1042
+ error: error,
1043
+ helperText: helperText,
1044
+ hideErrorDom: hideErrorDom
1045
+ }) : null]
1046
+ }));
1047
+ };
1048
+
1049
+ export { ComboSelect, ComboSelect as default };