@qsxy/element-plus-react 1.0.0-next.10 → 1.0.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/Avatar/Avatar.js +73 -72
  2. package/dist/Avatar/index.js +1 -39
  3. package/dist/Avatar/typings.js +1 -17
  4. package/dist/Badge/Badge.d.ts +2 -2
  5. package/dist/Badge/Badge.js +63 -60
  6. package/dist/Badge/index.js +1 -39
  7. package/dist/Badge/typings.d.ts +1 -1
  8. package/dist/Badge/typings.js +1 -17
  9. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  10. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  11. package/dist/Breadcrumb/index.js +2 -42
  12. package/dist/Breadcrumb/typings.js +1 -17
  13. package/dist/Button/Button.js +132 -105
  14. package/dist/Button/ButtonGroup.js +29 -48
  15. package/dist/Button/ButtonGroupContext.js +2 -30
  16. package/dist/Button/index.js +2 -42
  17. package/dist/Button/typings.d.ts +4 -2
  18. package/dist/Button/typings.js +1 -17
  19. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  20. package/dist/Button/useButtonCustomStyle.js +65 -0
  21. package/dist/Calendar/Calendar.js +310 -237
  22. package/dist/Calendar/CalendarContext.js +3 -27
  23. package/dist/Calendar/DatePanel.js +191 -158
  24. package/dist/Calendar/DateRangePanel.js +140 -125
  25. package/dist/Calendar/Footer.js +41 -51
  26. package/dist/Calendar/Header.js +83 -65
  27. package/dist/Calendar/MonthPanel.js +138 -124
  28. package/dist/Calendar/MonthRangePanel.js +137 -124
  29. package/dist/Calendar/ShortCuts.js +21 -40
  30. package/dist/Calendar/WeekPanel.js +213 -145
  31. package/dist/Calendar/YearPanel.js +150 -125
  32. package/dist/Calendar/YearRangePanel.js +138 -128
  33. package/dist/Calendar/index.js +4 -47
  34. package/dist/Calendar/typings.js +1 -17
  35. package/dist/Calendar/util.js +26 -68
  36. package/dist/Card/Card.js +36 -46
  37. package/dist/Card/index.js +1 -39
  38. package/dist/Card/typings.js +1 -17
  39. package/dist/Carousel/Carousel.js +202 -166
  40. package/dist/Carousel/CarouselContext.js +14 -42
  41. package/dist/Carousel/CarouselItem.js +55 -71
  42. package/dist/Carousel/hooks/useCarousel.js +263 -238
  43. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  44. package/dist/Carousel/index.js +2 -42
  45. package/dist/Carousel/typings.js +1 -17
  46. package/dist/Cascader/Cascader.js +693 -569
  47. package/dist/Cascader/CascaderContext.js +9 -45
  48. package/dist/Cascader/CascaderDropdown.js +90 -77
  49. package/dist/Cascader/CascaderMenu.js +101 -114
  50. package/dist/Cascader/Utils.js +6 -33
  51. package/dist/Cascader/index.js +1 -39
  52. package/dist/Cascader/typings.d.ts +1 -1
  53. package/dist/Cascader/typings.js +1 -17
  54. package/dist/Cascader/useCascader.js +648 -458
  55. package/dist/Checkbox/Checkbox.d.ts +3 -3
  56. package/dist/Checkbox/Checkbox.js +136 -161
  57. package/dist/Checkbox/CheckboxButton.js +132 -157
  58. package/dist/Checkbox/index.js +2 -42
  59. package/dist/Checkbox/typings.d.ts +1 -1
  60. package/dist/Checkbox/typings.js +1 -17
  61. package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
  62. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  63. package/dist/CheckboxGroup/index.js +2 -42
  64. package/dist/Col/Col.js +53 -72
  65. package/dist/Col/index.js +1 -39
  66. package/dist/Col/typings.js +1 -17
  67. package/dist/Collapse/Collapse.js +36 -45
  68. package/dist/Collapse/CollapseContext.js +3 -31
  69. package/dist/Collapse/CollapseItem.js +88 -73
  70. package/dist/Collapse/CollapseTransition.js +29 -67
  71. package/dist/Collapse/index.js +2 -42
  72. package/dist/Collapse/typings.js +1 -17
  73. package/dist/ColorPicker/AlphaSlider.js +117 -99
  74. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  75. package/dist/ColorPicker/ColorPicker.js +233 -189
  76. package/dist/ColorPicker/HueSlider.js +102 -96
  77. package/dist/ColorPicker/Predefine.js +65 -66
  78. package/dist/ColorPicker/SvPanel.js +95 -81
  79. package/dist/ColorPicker/color.js +301 -213
  80. package/dist/ColorPicker/draggable.js +30 -48
  81. package/dist/ColorPicker/index.js +1 -39
  82. package/dist/ColorPicker/typings.js +1 -17
  83. package/dist/ColorPicker/util.js +23 -60
  84. package/dist/ConfigProvider/ConfigProvider.js +4 -28
  85. package/dist/ConfigProvider/index.js +1 -39
  86. package/dist/DatePicker/DatePicker.d.ts +3 -3
  87. package/dist/DatePicker/DatePicker.js +251 -227
  88. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  89. package/dist/DatePicker/DateRangePicker.js +279 -276
  90. package/dist/DatePicker/index.js +2 -39
  91. package/dist/DatePicker/main.d.ts +2 -2
  92. package/dist/DatePicker/main.js +21 -44
  93. package/dist/DatePicker/typings.d.ts +24 -17
  94. package/dist/DatePicker/typings.js +1 -17
  95. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  96. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  97. package/dist/DateTimePicker/index.js +1 -39
  98. package/dist/DateTimePicker/typings.d.ts +10 -13
  99. package/dist/DateTimePicker/typings.js +1 -17
  100. package/dist/DateTimePicker/util.js +5 -35
  101. package/dist/Descriptions/Descriptions.js +83 -63
  102. package/dist/Descriptions/DescriptionsCell.js +67 -79
  103. package/dist/Descriptions/DescriptionsContext.js +4 -32
  104. package/dist/Descriptions/DescriptionsItem.js +4 -27
  105. package/dist/Descriptions/DescriptionsRow.js +42 -44
  106. package/dist/Descriptions/index.js +2 -42
  107. package/dist/Descriptions/typings.js +1 -17
  108. package/dist/Dialog/Dialog.js +224 -176
  109. package/dist/Dialog/DialogBody.js +52 -59
  110. package/dist/Dialog/DialogContext.js +6 -44
  111. package/dist/Dialog/DialogFooter.js +21 -45
  112. package/dist/Dialog/DialogHeader.js +44 -50
  113. package/dist/Dialog/index.js +1 -39
  114. package/dist/Dialog/typings.d.ts +1 -1
  115. package/dist/Dialog/typings.js +1 -17
  116. package/dist/Dialog/useDraggable.js +52 -79
  117. package/dist/Divider/Divider.d.ts +3 -3
  118. package/dist/Divider/Divider.js +38 -44
  119. package/dist/Divider/index.js +1 -39
  120. package/dist/Drawer/Drawer.js +144 -136
  121. package/dist/Drawer/DrawerBody.js +35 -57
  122. package/dist/Drawer/DrawerContext.js +13 -44
  123. package/dist/Drawer/DrawerFooter.js +22 -43
  124. package/dist/Drawer/DrawerHeader.js +41 -48
  125. package/dist/Drawer/index.js +1 -39
  126. package/dist/Drawer/typings.js +1 -17
  127. package/dist/Dropdown/Dropdown.js +89 -107
  128. package/dist/Dropdown/DropdownContext.js +5 -43
  129. package/dist/Dropdown/DropdownItem.js +40 -60
  130. package/dist/Dropdown/DropdownMenu.js +28 -56
  131. package/dist/Dropdown/index.js +3 -45
  132. package/dist/Dropdown/typings.js +1 -17
  133. package/dist/Empty/Empty.js +32 -53
  134. package/dist/Empty/ImgEmpty.js +115 -117
  135. package/dist/Empty/index.js +1 -39
  136. package/dist/Form/FieldContext.js +8 -37
  137. package/dist/Form/Form.js +167 -162
  138. package/dist/Form/FormContext.js +58 -97
  139. package/dist/Form/FormItem.js +620 -352
  140. package/dist/Form/FormItemContext.js +3 -31
  141. package/dist/Form/List.js +121 -104
  142. package/dist/Form/ListContext.js +3 -27
  143. package/dist/Form/index.js +3 -45
  144. package/dist/Form/typings.d.ts +25 -4
  145. package/dist/Form/typings.js +1 -17
  146. package/dist/Form/useForm.js +830 -690
  147. package/dist/Form/useWatch.js +64 -79
  148. package/dist/Form/utils/NameMap.js +98 -69
  149. package/dist/Form/utils/asyncUtil.js +9 -37
  150. package/dist/Form/utils/classUtil.js +26 -48
  151. package/dist/Form/utils/cloneDeep.js +8 -29
  152. package/dist/Form/utils/get.js +6 -30
  153. package/dist/Form/utils/messages.js +25 -53
  154. package/dist/Form/utils/set.js +31 -44
  155. package/dist/Form/utils/typeUtil.js +3 -31
  156. package/dist/Form/utils/util.js +18 -55
  157. package/dist/Form/utils/validateUtil.js +284 -159
  158. package/dist/Form/utils/valueUtil.js +102 -107
  159. package/dist/Icon/Icon.js +39 -63
  160. package/dist/Icon/IconList/Check.js +25 -65
  161. package/dist/Icon/IconList/Close.js +23 -52
  162. package/dist/Icon/IconList/Delete.js +25 -65
  163. package/dist/Icon/IconList/Down.js +25 -65
  164. package/dist/Icon/IconList/Eye.js +25 -65
  165. package/dist/Icon/IconList/EyeClose.js +25 -65
  166. package/dist/Icon/IconList/Left.js +25 -65
  167. package/dist/Icon/IconList/Link.js +19 -55
  168. package/dist/Icon/IconList/More.js +25 -65
  169. package/dist/Icon/IconList/Question.js +25 -65
  170. package/dist/Icon/IconList/Right.js +25 -65
  171. package/dist/Icon/IconList/Search.js +25 -65
  172. package/dist/Icon/IconList/Up.js +25 -65
  173. package/dist/Icon/IconList/Upload.js +25 -65
  174. package/dist/Icon/IconList/index.js +14 -68
  175. package/dist/Icon/index.js +2 -42
  176. package/dist/Icon/typings.js +1 -17
  177. package/dist/Input/Input.js +334 -358
  178. package/dist/Input/InputGroup.js +27 -43
  179. package/dist/Input/InputRange.js +295 -308
  180. package/dist/Input/TextArea.js +129 -120
  181. package/dist/Input/index.js +3 -45
  182. package/dist/Input/typings.js +1 -17
  183. package/dist/InputNumber/InputNumber.js +219 -203
  184. package/dist/InputNumber/index.js +1 -39
  185. package/dist/InputNumber/typings.d.ts +1 -1
  186. package/dist/InputNumber/typings.js +1 -17
  187. package/dist/Link/Link.js +43 -60
  188. package/dist/Link/index.js +1 -39
  189. package/dist/Link/typings.js +1 -17
  190. package/dist/Loading/Loading.js +93 -66
  191. package/dist/Loading/index.js +1 -39
  192. package/dist/Loading/typings.js +1 -17
  193. package/dist/Message/Main.js +41 -66
  194. package/dist/Message/Message.js +167 -130
  195. package/dist/Message/index.js +68 -88
  196. package/dist/Message/typings.js +1 -17
  197. package/dist/MessageBox/Main.js +43 -68
  198. package/dist/MessageBox/MessageBox.js +253 -202
  199. package/dist/MessageBox/index.js +74 -79
  200. package/dist/MessageBox/typings.js +1 -17
  201. package/dist/Notification/Main.js +41 -66
  202. package/dist/Notification/Notification.js +148 -131
  203. package/dist/Notification/index.js +76 -92
  204. package/dist/Notification/typings.js +1 -17
  205. package/dist/Pagination/Options.js +104 -99
  206. package/dist/Pagination/Pager.js +30 -61
  207. package/dist/Pagination/Pagination.js +462 -380
  208. package/dist/Pagination/index.js +1 -39
  209. package/dist/Pagination/typings.js +1 -17
  210. package/dist/Pagination/util.js +10 -41
  211. package/dist/Popconfirm/Popconfirm.js +108 -116
  212. package/dist/Popconfirm/index.js +1 -39
  213. package/dist/Popconfirm/typings.js +1 -17
  214. package/dist/Popover/Popover.js +87 -89
  215. package/dist/Popover/index.js +1 -39
  216. package/dist/Popover/typings.js +1 -17
  217. package/dist/Popper/Popper.js +172 -149
  218. package/dist/Popper/index.js +1 -39
  219. package/dist/Popper/popperOptions.js +79 -90
  220. package/dist/Popper/typings.js +1 -17
  221. package/dist/Progress/Progress.js +186 -155
  222. package/dist/Progress/index.js +1 -39
  223. package/dist/Progress/typings.js +1 -17
  224. package/dist/Radio/Radio.js +158 -117
  225. package/dist/Radio/RadioButton.js +127 -117
  226. package/dist/Radio/index.js +1 -39
  227. package/dist/Radio/typings.js +1 -17
  228. package/dist/RadioGroup/RadioGroup.js +63 -78
  229. package/dist/RadioGroup/index.js +1 -39
  230. package/dist/RadioGroup/typings.js +1 -17
  231. package/dist/Row/Row.js +41 -62
  232. package/dist/Row/RowContext.js +3 -31
  233. package/dist/Row/index.js +2 -42
  234. package/dist/Row/typings.js +1 -17
  235. package/dist/Scrollbar/Scrollbar.js +172 -133
  236. package/dist/Scrollbar/Thumb.js +108 -96
  237. package/dist/Scrollbar/index.js +1 -39
  238. package/dist/Scrollbar/typings.d.ts +11 -2
  239. package/dist/Scrollbar/typings.js +1 -17
  240. package/dist/Scrollbar/util.js +24 -51
  241. package/dist/Select/Option.js +50 -75
  242. package/dist/Select/OptionGroup.js +31 -47
  243. package/dist/Select/Select.js +25 -48
  244. package/dist/Select/SelectContext.js +8 -46
  245. package/dist/Select/SelectCore.js +449 -377
  246. package/dist/Select/SelectDropdown.js +200 -160
  247. package/dist/Select/index.js +2 -42
  248. package/dist/Select/typings.d.ts +1 -1
  249. package/dist/Select/typings.js +1 -17
  250. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  251. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  252. package/dist/Skeleton/PlaceholderParagraph.js +51 -52
  253. package/dist/Skeleton/Skeleton.js +8 -42
  254. package/dist/Skeleton/index.js +1 -39
  255. package/dist/Switch/Switch.js +177 -154
  256. package/dist/Switch/index.js +1 -39
  257. package/dist/Switch/typings.js +1 -17
  258. package/dist/Table/Colgroup.js +17 -41
  259. package/dist/Table/Table.js +246 -188
  260. package/dist/Table/TableBody.js +265 -200
  261. package/dist/Table/TableCell.js +461 -320
  262. package/dist/Table/TableColumn.js +9 -43
  263. package/dist/Table/TableContext.js +44 -63
  264. package/dist/Table/TableHeader.js +112 -102
  265. package/dist/Table/TableHeaderCell.js +211 -158
  266. package/dist/Table/hooks/useResize.js +69 -83
  267. package/dist/Table/hooks/useScroll.js +88 -114
  268. package/dist/Table/hooks/useSelection.js +145 -110
  269. package/dist/Table/hooks/useTable.js +411 -309
  270. package/dist/Table/index.js +2 -42
  271. package/dist/Table/treeUtil.js +99 -77
  272. package/dist/Table/typings.js +1 -17
  273. package/dist/Table/util.js +168 -109
  274. package/dist/Tabs/TabPane.js +51 -53
  275. package/dist/Tabs/Tabs.js +277 -178
  276. package/dist/Tabs/TabsContext.js +4 -32
  277. package/dist/Tabs/index.js +2 -42
  278. package/dist/Tabs/typings.js +1 -17
  279. package/dist/Tag/Tag.js +75 -74
  280. package/dist/Tag/index.js +1 -39
  281. package/dist/Tag/typings.js +1 -17
  282. package/dist/TimeLine/TimeLine.js +13 -42
  283. package/dist/TimeLine/TimeLineItem.js +66 -54
  284. package/dist/TimeLine/index.js +2 -42
  285. package/dist/TimeLine/typings.js +1 -17
  286. package/dist/TimePicker/TimePicker.d.ts +1 -4
  287. package/dist/TimePicker/TimePicker.js +275 -215
  288. package/dist/TimePicker/TimePickerPanel.js +62 -71
  289. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  290. package/dist/TimePicker/TimePickerRange.js +371 -334
  291. package/dist/TimePicker/TimeRangePanel.js +182 -165
  292. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  293. package/dist/TimePicker/index.d.ts +2 -3
  294. package/dist/TimePicker/index.js +1 -42
  295. package/dist/TimePicker/main.d.ts +9 -0
  296. package/dist/TimePicker/main.js +17 -0
  297. package/dist/TimePicker/typings.d.ts +29 -24
  298. package/dist/TimePicker/typings.js +1 -17
  299. package/dist/TimePicker/useTimePicker.js +62 -65
  300. package/dist/TimePicker/util.js +8 -40
  301. package/dist/Tooltip/Tooltip.js +172 -180
  302. package/dist/Tooltip/TooltipContext.js +8 -46
  303. package/dist/Tooltip/index.js +2 -42
  304. package/dist/Tooltip/typings.js +1 -17
  305. package/dist/Transfer/List.js +290 -241
  306. package/dist/Transfer/ListBody.js +92 -106
  307. package/dist/Transfer/ListItem.js +38 -51
  308. package/dist/Transfer/Transfer.js +323 -280
  309. package/dist/Transfer/index.js +1 -39
  310. package/dist/Transfer/interface.js +1 -17
  311. package/dist/Transfer/operation.js +35 -48
  312. package/dist/Transfer/search.js +30 -62
  313. package/dist/Transfer/typings/index.js +1 -17
  314. package/dist/Transfer/typings/list.js +1 -17
  315. package/dist/Transfer/typings/listBody.js +2 -30
  316. package/dist/Transition/Transition.js +271 -234
  317. package/dist/Transition/TransitionGroup.js +136 -88
  318. package/dist/Transition/TransitionGroupContext.js +2 -26
  319. package/dist/Transition/childMapping.js +84 -71
  320. package/dist/Transition/index.js +2 -42
  321. package/dist/Transition/util.d.ts +0 -1
  322. package/dist/Transition/util.js +6 -47
  323. package/dist/Tree/DirectoryTree.js +146 -118
  324. package/dist/Tree/DropIndicator.js +15 -45
  325. package/dist/Tree/Indent.js +23 -54
  326. package/dist/Tree/MotionTreeNode.js +94 -95
  327. package/dist/Tree/NodeList.js +228 -221
  328. package/dist/Tree/RCTree.js +969 -702
  329. package/dist/Tree/Tree.js +64 -79
  330. package/dist/Tree/TreeNode.js +254 -255
  331. package/dist/Tree/contextTypes.js +8 -42
  332. package/dist/Tree/index.js +4 -48
  333. package/dist/Tree/typings.js +1 -17
  334. package/dist/Tree/useUnmount.js +21 -41
  335. package/dist/Tree/util.js +156 -134
  336. package/dist/Tree/utils/conductUtil.js +113 -104
  337. package/dist/Tree/utils/dictUtil.js +50 -78
  338. package/dist/Tree/utils/diffUtil.js +26 -43
  339. package/dist/Tree/utils/dropIndicator.js +23 -51
  340. package/dist/Tree/utils/iconUtil.js +44 -51
  341. package/dist/Tree/utils/keyUtil.js +2 -26
  342. package/dist/Tree/utils/motion.js +34 -72
  343. package/dist/Tree/utils/pickAttrs.js +30 -58
  344. package/dist/Tree/utils/treeUtil.js +263 -203
  345. package/dist/TreeSelect/TreeSelect.js +521 -459
  346. package/dist/TreeSelect/Utils.js +15 -36
  347. package/dist/TreeSelect/index.js +1 -39
  348. package/dist/TreeSelect/typings.d.ts +1 -1
  349. package/dist/TreeSelect/typings.js +1 -17
  350. package/dist/Upload/Upload.js +106 -109
  351. package/dist/Upload/UploadContent.js +227 -182
  352. package/dist/Upload/UploadContext.js +5 -33
  353. package/dist/Upload/UploadDrag.js +77 -97
  354. package/dist/Upload/UploadList.js +104 -73
  355. package/dist/Upload/ajax.js +45 -71
  356. package/dist/Upload/index.js +1 -39
  357. package/dist/Upload/typings.js +34 -36
  358. package/dist/Upload/use-handlers.js +182 -126
  359. package/dist/Util/Math.js +81 -78
  360. package/dist/Util/PopupManager.js +5 -27
  361. package/dist/Util/base.js +101 -171
  362. package/dist/Util/genFileId.js +3 -29
  363. package/dist/Util/index.js +6 -51
  364. package/dist/Util/resize-event.js +31 -54
  365. package/dist/Util/shallowEqual.js +30 -28
  366. package/dist/Util/treeUtils.js +68 -64
  367. package/dist/config/Constants.js +17 -47
  368. package/dist/display.css +1 -0
  369. package/dist/hooks/animationPropsUtils.js +25 -49
  370. package/dist/hooks/htmlPropsUtils.js +54 -121
  371. package/dist/hooks/index.js +14 -73
  372. package/dist/hooks/popperPropsUtils.js +25 -67
  373. package/dist/hooks/prefix.js +22 -55
  374. package/dist/hooks/treePropsUtils.js +24 -103
  375. package/dist/hooks/useChildrenInstance.js +51 -60
  376. package/dist/hooks/useClassNames.d.ts +2 -0
  377. package/dist/hooks/useClassNames.js +279 -197
  378. package/dist/hooks/useClickOutside.js +37 -62
  379. package/dist/hooks/useCommonProps.js +17 -53
  380. package/dist/hooks/useComponentWillMount.js +4 -28
  381. package/dist/hooks/useControlled.js +31 -37
  382. package/dist/hooks/useForceUpdate.js +16 -34
  383. package/dist/hooks/useUpdateEffect.js +6 -29
  384. package/dist/index.css +1 -57810
  385. package/dist/index.d.ts +0 -2
  386. package/dist/index.js +69 -237
  387. package/dist/theme-chalk/common/index.js +1 -2
  388. package/dist/theme-chalk/common/index.scss +2 -2
  389. package/dist/theme-chalk/date-picker/index.scss +1 -1
  390. package/dist/theme-chalk/display.scss +46 -0
  391. package/dist/theme-chalk/form/index.scss +21 -2
  392. package/dist/types/common.js +1 -17
  393. package/dist/types/type.js +16 -28
  394. package/package.json +6 -1
  395. package/theme-chalk/common/index.scss +2 -2
  396. package/theme-chalk/date-picker/index.scss +1 -1
  397. package/theme-chalk/display.scss +46 -0
  398. package/theme-chalk/form/index.scss +21 -2
@@ -1,433 +1,505 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
3
+ var _excluded = ["filterable", "clearable", "error", "warning", "multiple", "collapseTags", "maxCollapseTags", "collapseTagsTooltip", "collapseTips", "filterMethod", "onChange", "allowCreate", "onEnter", "afterLeave", "prepend", "append", "onLoadSuccess"];
4
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
6
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
7
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
9
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+ import classNames from 'classnames';
24
+ import filter from 'lodash/filter';
25
+ import find from 'lodash/find';
26
+ import max from 'lodash/max';
27
+ import min from 'lodash/min';
28
+ import omit from 'lodash/omit';
29
+ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
30
+ import Icon from "../Icon/Icon";
31
+ import Input from "../Input/Input";
32
+ import Popper from "../Popper/Popper";
33
+ import { Tag } from "../Tag";
34
+ import Tooltip from "../Tooltip/Tooltip";
35
+ import { isNotEmpty, mergeDefaultProps } from "../Util";
36
+ import { partitionAnimationProps, partitionHTMLProps, partitionPopperPropsUtils, useChildrenInstance, useClassNames, useControlled, useDisabled, useSize } from "../hooks";
37
+ import SelectDropdown from "./SelectDropdown";
38
+ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
39
+ props = mergeDefaultProps({
40
+ placeholder: '请选择',
41
+ noDataText: '无数据',
42
+ noMatchText: '没有找到匹配的结果',
43
+ loadingText: /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Icon, {
44
+ prefix: "fas",
45
+ name: "spinner",
46
+ spin: true
47
+ }), " \u52A0\u8F7D\u4E2D..."),
48
+ clearable: true,
49
+ filterable: false,
50
+ error: false,
51
+ required: false,
52
+ disabled: false,
53
+ maxWidth: 500,
54
+ collapseTagsTooltip: true,
55
+ maxCollapseTags: 1
56
+ }, props);
57
+ var _useClassNames = useClassNames('select'),
58
+ b = _useClassNames.b,
59
+ e = _useClassNames.e,
60
+ be = _useClassNames.be,
61
+ m = _useClassNames.m,
62
+ is = _useClassNames.is;
63
+ // 选择框容器div
64
+ var containerRef = useRef(null);
65
+ // 下拉选项容器div
66
+ var contentRef = useRef(null);
67
+ var wrapperRef = useRef(null);
68
+ var createInputRef = useRef(null);
69
+ var popperInstRef = useRef(null);
70
+ var selectDropdownRef = useRef(null);
71
+ var inputInstance = useRef(null);
72
+ var searchInstance = useRef(null);
73
+ var _props = props,
74
+ filterable = _props.filterable,
75
+ clearable = _props.clearable,
76
+ error = _props.error,
77
+ warning = _props.warning,
78
+ multiple = _props.multiple,
79
+ _props$collapseTags = _props.collapseTags,
80
+ collapseTags = _props$collapseTags === void 0 ? false : _props$collapseTags,
81
+ maxCollapseTags = _props.maxCollapseTags,
82
+ collapseTagsTooltip = _props.collapseTagsTooltip,
83
+ collapseTips = _props.collapseTips,
84
+ filterMethod = _props.filterMethod,
85
+ onChange = _props.onChange,
86
+ allowCreate = _props.allowCreate,
87
+ onEnter = _props.onEnter,
88
+ afterLeave = _props.afterLeave,
89
+ prepend = _props.prepend,
90
+ append = _props.append,
91
+ onLoadSuccess = _props.onLoadSuccess,
92
+ rest = _objectWithoutProperties(_props, _excluded);
93
+ var _partitionHTMLProps = partitionHTMLProps(rest),
94
+ _partitionHTMLProps2 = _slicedToArray(_partitionHTMLProps, 1),
95
+ htmlInputProps = _partitionHTMLProps2[0];
96
+ var _partitionAnimationPr = partitionAnimationProps(rest),
97
+ _partitionAnimationPr2 = _slicedToArray(_partitionAnimationPr, 1),
98
+ transitionProps = _partitionAnimationPr2[0];
99
+ var _partitionPopperProps = partitionPopperPropsUtils(rest),
100
+ _partitionPopperProps2 = _slicedToArray(_partitionPopperProps, 1),
101
+ popperProps = _partitionPopperProps2[0];
102
+ var _useControlled = useControlled(props.value, props.defaultValue),
103
+ _useControlled2 = _slicedToArray(_useControlled, 2),
104
+ value = _useControlled2[0],
105
+ setValue = _useControlled2[1];
106
+ var _useState = useState(''),
107
+ _useState2 = _slicedToArray(_useState, 2),
108
+ createItem = _useState2[0],
109
+ setCreateItem = _useState2[1];
110
+ var disabled = useDisabled(props.disabled);
111
+ var size = useSize(props.size);
28
112
 
29
- // src/Select/SelectCore.tsx
30
- var SelectCore_exports = {};
31
- __export(SelectCore_exports, {
32
- default: () => SelectCore_default
33
- });
34
- module.exports = __toCommonJS(SelectCore_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_filter = __toESM(require("lodash/filter"));
37
- var import_find = __toESM(require("lodash/find"));
38
- var import_max = __toESM(require("lodash/max"));
39
- var import_min = __toESM(require("lodash/min"));
40
- var import_omit = __toESM(require("lodash/omit"));
41
- var import_react = __toESM(require("react"));
42
- var import_Icon = require("../Icon");
43
- var import_Input = require("../Input");
44
- var import_Popper = require("../Popper");
45
- var import_Tag = require("../Tag");
46
- var import_Tooltip = __toESM(require("../Tooltip/Tooltip"));
47
- var import_Util = require("../Util");
48
- var import_hooks = require("../hooks");
49
- var import_SelectDropdown = __toESM(require("./SelectDropdown"));
50
- var SelectCore = (0, import_react.forwardRef)((props, ref) => {
51
- props = (0, import_Util.mergeDefaultProps)(
52
- {
53
- placeholder: "请选择",
54
- noDataText: "无数据",
55
- noMatchText: "没有找到匹配的结果",
56
- loadingText: /* @__PURE__ */ import_react.default.createElement("span", null, /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { prefix: "fas", name: "spinner", spin: true }), " 加载中..."),
57
- clearable: true,
58
- filterable: false,
59
- error: false,
60
- required: false,
61
- disabled: false,
62
- maxWidth: 500,
63
- collapseTagsTooltip: true,
64
- maxCollapseTags: 1
65
- },
66
- props
67
- );
68
- const { b, e, be, m, is } = (0, import_hooks.useClassNames)("select");
69
- const containerRef = (0, import_react.useRef)(null);
70
- const contentRef = (0, import_react.useRef)(null);
71
- const wrapperRef = (0, import_react.useRef)(null);
72
- const createInputRef = (0, import_react.useRef)(null);
73
- const popperInstRef = (0, import_react.useRef)(null);
74
- const selectDropdownRef = (0, import_react.useRef)(null);
75
- const inputInstance = (0, import_react.useRef)(null);
76
- const searchInstance = (0, import_react.useRef)(null);
77
- const {
78
- filterable,
79
- clearable,
80
- error,
81
- warning,
82
- multiple,
83
- collapseTags = false,
84
- maxCollapseTags,
85
- collapseTagsTooltip,
86
- collapseTips,
87
- filterMethod,
88
- onChange,
89
- allowCreate,
90
- onEnter,
91
- afterLeave,
92
- prepend,
93
- append,
94
- onLoadSuccess,
95
- ...rest
96
- } = props;
97
- const [htmlInputProps] = (0, import_hooks.partitionHTMLProps)(rest);
98
- const [transitionProps] = (0, import_hooks.partitionAnimationProps)(rest);
99
- const [popperProps] = (0, import_hooks.partitionPopperPropsUtils)(rest);
100
- const [value, setValue] = (0, import_hooks.useControlled)(props.value, props.defaultValue);
101
- const [createItem, setCreateItem] = (0, import_react.useState)("");
102
- const disabled = (0, import_hooks.useDisabled)(props.disabled);
103
- const size = (0, import_hooks.useSize)(props.size);
104
- const multiValue = (0, import_react.useMemo)(() => {
113
+ // 多选框值
114
+ var multiValue = useMemo(function () {
105
115
  if (multiple) {
106
116
  if (value instanceof Array) {
107
117
  return value;
108
- } else if (typeof value === "string") {
118
+ } else if (typeof value === 'string') {
109
119
  return [value];
110
120
  }
111
121
  }
112
122
  return [];
113
123
  }, [multiple, value]);
114
- const [label, setLabel] = (0, import_react.useState)("");
115
- const [visible, setVisible] = (0, import_react.useState)(false);
116
- const [popperStyle, setPopperStyle] = (0, import_react.useState)({});
117
- const [inputHeight, setInputHeight] = (0, import_react.useState)(32);
118
- const placeholder = (0, import_react.useMemo)(() => {
119
- return multiple && (0, import_Util.isNotEmpty)(multiValue) || (0, import_Util.isNotEmpty)(createItem) ? "" : props.placeholder;
124
+ // 单选框显示文本
125
+ var _useState3 = useState(''),
126
+ _useState4 = _slicedToArray(_useState3, 2),
127
+ label = _useState4[0],
128
+ setLabel = _useState4[1];
129
+ var _useState5 = useState(false),
130
+ _useState6 = _slicedToArray(_useState5, 2),
131
+ visible = _useState6[0],
132
+ setVisible = _useState6[1];
133
+ var _useState7 = useState({}),
134
+ _useState8 = _slicedToArray(_useState7, 2),
135
+ popperStyle = _useState8[0],
136
+ setPopperStyle = _useState8[1];
137
+ // 多选时input框高度
138
+ var _useState9 = useState(32),
139
+ _useState10 = _slicedToArray(_useState9, 2),
140
+ inputHeight = _useState10[0],
141
+ setInputHeight = _useState10[1];
142
+ // 占位符
143
+ var placeholder = useMemo(function () {
144
+ return multiple && isNotEmpty(multiValue) || isNotEmpty(createItem) ? '' : props.placeholder;
120
145
  }, [createItem, multiValue, multiple, props.placeholder]);
121
- const getOptionInstance = (0, import_hooks.useChildrenInstance)("Select.Option", "OptionGroup");
122
- const optionData = (0, import_react.useMemo)(() => {
146
+
147
+ /** 获取所有的option组件 */
148
+ var getOptionInstance = useChildrenInstance('Select.Option', 'OptionGroup');
149
+ var optionData = useMemo(function () {
123
150
  if (props.children) {
124
- const componentChildren = getOptionInstance(props.children);
125
- return componentChildren.map((node) => {
126
- var _a;
151
+ var componentChildren = getOptionInstance(props.children);
152
+ return componentChildren.map(function (node) {
153
+ var _node$props$label, _node$props;
127
154
  return {
128
- label: ((_a = node.props) == null ? void 0 : _a.label) ?? node.props.value,
155
+ label: (_node$props$label = (_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.label) !== null && _node$props$label !== void 0 ? _node$props$label : node.props.value,
129
156
  value: node.props.value
130
157
  };
131
158
  });
132
159
  }
133
160
  return [];
134
161
  }, [getOptionInstance, props.children]);
135
- const multiLabel = (0, import_react.useMemo)(() => {
162
+ var multiLabel = useMemo(function () {
136
163
  if (multiple) {
137
- return multiValue.map((item) => {
138
- var _a;
139
- return ((_a = (0, import_find.default)(optionData, { value: item })) == null ? void 0 : _a.label) ?? item;
164
+ return multiValue.map(function (item) {
165
+ var _find$label, _find;
166
+ return (_find$label = (_find = find(optionData, {
167
+ value: item
168
+ })) === null || _find === void 0 ? void 0 : _find.label) !== null && _find$label !== void 0 ? _find$label : item;
140
169
  });
141
170
  }
142
171
  return [];
143
172
  }, [multiValue, multiple, optionData]);
144
- const handleEnter = (0, import_react.useCallback)(
145
- (node) => {
146
- var _a;
147
- if (visible && contentRef.current && containerRef.current) {
148
- const rect = containerRef.current.getBoundingClientRect();
149
- const options = Array.from(contentRef.current.querySelectorAll(`.${be("dropdown", "item")}>span`));
150
- const maxWidth = (options.length > 0 ? (0, import_max.default)(options.map((item) => (item == null ? void 0 : item.offsetWidth) ?? 0)) : 0) + 35;
151
- if (maxWidth && maxWidth < rect.width) {
152
- setPopperStyle({
153
- ...popperStyle,
154
- width: rect.width
155
- });
156
- } else {
157
- setPopperStyle({
158
- ...popperStyle,
159
- width: (0, import_min.default)([maxWidth, props.maxWidth])
160
- });
161
- }
162
- (_a = selectDropdownRef.current) == null ? void 0 : _a.scrollToSelected();
163
- onEnter == null ? void 0 : onEnter(node);
164
- }
165
- },
166
- [be, onEnter, popperStyle, props.maxWidth, visible]
167
- );
168
- const handleAfterLeave = (0, import_react.useCallback)(
169
- (node) => {
170
- var _a;
171
- (_a = selectDropdownRef.current) == null ? void 0 : _a.clear();
172
- afterLeave == null ? void 0 : afterLeave(node);
173
- },
174
- [afterLeave]
175
- );
176
- const onClick = (0, import_react.useCallback)(
177
- (event) => {
178
- event.preventDefault();
179
- event == null ? void 0 : event.stopPropagation();
180
- if (disabled) {
181
- setVisible(false);
182
- return;
173
+
174
+ /** 动态计算下拉框宽度 */
175
+ var handleEnter = useCallback(function (node) {
176
+ if (visible && contentRef.current && containerRef.current) {
177
+ var _selectDropdownRef$cu;
178
+ var rect = containerRef.current.getBoundingClientRect();
179
+ // const { width } = contentRef.current.getBoundingClientRect();
180
+ var options = Array.from(contentRef.current.querySelectorAll(".".concat(be('dropdown', 'item'), ">span")));
181
+ var maxWidth = (options.length > 0 ? max(options.map(function (item) {
182
+ var _item$offsetWidth;
183
+ return (_item$offsetWidth = item === null || item === void 0 ? void 0 : item.offsetWidth) !== null && _item$offsetWidth !== void 0 ? _item$offsetWidth : 0;
184
+ })) : 0) + 35;
185
+ if (maxWidth && maxWidth < rect.width) {
186
+ setPopperStyle(_objectSpread(_objectSpread({}, popperStyle), {}, {
187
+ width: rect.width
188
+ }));
189
+ } else {
190
+ setPopperStyle(_objectSpread(_objectSpread({}, popperStyle), {}, {
191
+ width: min([maxWidth, props.maxWidth])
192
+ }));
183
193
  }
184
- setVisible(!visible);
185
- },
186
- [disabled, visible]
187
- );
188
- const onCloseTag = (0, import_react.useCallback)(
189
- (item) => {
190
- const res = (0, import_filter.default)(multiValue, (item1) => item1 !== item);
191
- setValue(res);
192
- onChange == null ? void 0 : onChange(res, multiLabel);
193
- },
194
- [multiLabel, multiValue, onChange, setValue]
195
- );
196
- const onClear = (0, import_react.useCallback)(() => {
197
- var _a;
198
- setValue(multiple ? [] : "");
199
- setLabel("");
200
- (_a = selectDropdownRef.current) == null ? void 0 : _a.hover("");
201
- onChange == null ? void 0 : onChange(multiple ? [] : "", multiple ? [] : "");
202
- setCreateItem("");
194
+ (_selectDropdownRef$cu = selectDropdownRef.current) === null || _selectDropdownRef$cu === void 0 || _selectDropdownRef$cu.scrollToSelected();
195
+ onEnter === null || onEnter === void 0 || onEnter(node);
196
+ }
197
+ }, [be, onEnter, popperStyle, props.maxWidth, visible]);
198
+
199
+ /** 关闭下拉框后清空搜索项 */
200
+ var handleAfterLeave = useCallback(function (node) {
201
+ var _selectDropdownRef$cu2;
202
+ (_selectDropdownRef$cu2 = selectDropdownRef.current) === null || _selectDropdownRef$cu2 === void 0 || _selectDropdownRef$cu2.clear();
203
+ afterLeave === null || afterLeave === void 0 || afterLeave(node);
204
+ }, [afterLeave]);
205
+
206
+ /**
207
+ * 展开/关闭下拉框
208
+ * @param e
209
+ * @returns
210
+ */
211
+ var onClick = useCallback(function (event) {
212
+ event.preventDefault();
213
+ event === null || event === void 0 || event.stopPropagation();
214
+ if (disabled) {
215
+ setVisible(false);
216
+ return;
217
+ }
218
+ setVisible(!visible);
219
+ }, [disabled, visible]);
220
+
221
+ /** 取消多选项 */
222
+ var onCloseTag = useCallback(function (item) {
223
+ var res = filter(multiValue, function (item1) {
224
+ return item1 !== item;
225
+ });
226
+ setValue(res);
227
+ onChange === null || onChange === void 0 || onChange(res, multiLabel);
228
+ }, [multiLabel, multiValue, onChange, setValue]);
229
+
230
+ /** 重置值 */
231
+ var onClear = useCallback(function () {
232
+ var _selectDropdownRef$cu3;
233
+ setValue(multiple ? [] : '');
234
+ setLabel('');
235
+ (_selectDropdownRef$cu3 = selectDropdownRef.current) === null || _selectDropdownRef$cu3 === void 0 || _selectDropdownRef$cu3.hover('');
236
+ onChange === null || onChange === void 0 || onChange(multiple ? [] : '', multiple ? [] : '');
237
+ setCreateItem('');
203
238
  }, [multiple, onChange, setValue]);
204
- const onChoose = (0, import_react.useCallback)(
205
- (val, text, event) => {
206
- event.preventDefault();
207
- if ((0, import_Util.isNotEmpty)(val)) {
208
- let result = val;
209
- if (multiple) {
210
- if (multiValue.includes(val)) {
211
- result = (0, import_filter.default)(multiValue, (item) => item !== val);
212
- } else {
213
- result = [...multiValue, val];
214
- }
239
+
240
+ /** 选中项回调 */
241
+ var onChoose = useCallback(function (val, text, event) {
242
+ event.preventDefault();
243
+ if (isNotEmpty(val)) {
244
+ var result = val;
245
+ if (multiple) {
246
+ if (multiValue.includes(val)) {
247
+ result = filter(multiValue, function (item) {
248
+ return item !== val;
249
+ });
215
250
  } else {
216
- if (val !== createItem) {
217
- setCreateItem("");
218
- }
251
+ result = [].concat(_toConsumableArray(multiValue), [val]);
219
252
  }
220
- setValue(result);
221
- setLabel(multiple ? "" : text);
222
- onChange == null ? void 0 : onChange(result, multiple ? result.map((item) => {
223
- var _a;
224
- return ((_a = (0, import_find.default)(optionData, { value: item })) == null ? void 0 : _a.label) ?? item;
225
- }) : text);
226
- !multiple && onClick(event);
227
253
  } else {
228
- setVisible(false);
254
+ // 当选中项不是创建项时,清空创建项
255
+ if (val !== createItem) {
256
+ setCreateItem('');
257
+ }
229
258
  }
230
- },
231
- [multiple, setValue, onChange, multiValue, onClick, createItem, optionData]
232
- );
233
- (0, import_react.useEffect)(() => {
234
- var _a;
259
+ setValue(result);
260
+ setLabel(multiple ? '' : text);
261
+ onChange === null || onChange === void 0 || onChange(result, multiple ? result.map(function (item) {
262
+ var _find$label2, _find2;
263
+ return (_find$label2 = (_find2 = find(optionData, {
264
+ value: item
265
+ })) === null || _find2 === void 0 ? void 0 : _find2.label) !== null && _find$label2 !== void 0 ? _find$label2 : item;
266
+ }) : text);
267
+ !multiple && onClick(event);
268
+ } else {
269
+ setVisible(false);
270
+ }
271
+ }, [multiple, setValue, onChange, multiValue, onClick, createItem, optionData]);
272
+
273
+ /** 监听加载状态,加载中时自动打开下拉 */
274
+ // useEffect(() => {
275
+ // setVisible(props.loading);
276
+ // popperInstRef.current?.update();
277
+ // }, [props.loading]);
278
+
279
+ // 打开后搜索框自动获取焦点
280
+ useEffect(function () {
235
281
  if (visible && filterable && !allowCreate) {
236
- (_a = searchInstance.current) == null ? void 0 : _a.focus();
282
+ var _searchInstance$curre;
283
+ (_searchInstance$curre = searchInstance.current) === null || _searchInstance$curre === void 0 || _searchInstance$curre.focus();
237
284
  }
285
+ // eslint-disable-next-line react-hooks/exhaustive-deps
238
286
  }, [visible]);
239
- (0, import_react.useEffect)(() => {
240
- var _a;
287
+
288
+ /** 搜索时 */
289
+ useEffect(function () {
241
290
  if (popperInstRef.current && popperInstRef.current.update) {
242
- (_a = popperInstRef.current) == null ? void 0 : _a.update();
291
+ var _popperInstRef$curren;
292
+ (_popperInstRef$curren = popperInstRef.current) === null || _popperInstRef$curren === void 0 || _popperInstRef$curren.update();
243
293
  }
244
294
  }, [popperStyle]);
245
- (0, import_react.useEffect)(() => {
246
- var _a, _b;
295
+
296
+ /** 多选框选择选项后,动态调整input框高度 */
297
+ useEffect(function () {
247
298
  if (wrapperRef.current) {
248
- const height = ((_a = wrapperRef.current) == null ? void 0 : _a.clientHeight) + 4;
299
+ var _wrapperRef$current;
300
+ var height = ((_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientHeight) + 4;
249
301
  setInputHeight(height <= 32 ? 32 : height + 32);
250
302
  }
251
303
  if (popperInstRef.current && popperInstRef.current.update) {
252
- (_b = popperInstRef.current) == null ? void 0 : _b.update();
304
+ var _popperInstRef$curren2;
305
+ (_popperInstRef$curren2 = popperInstRef.current) === null || _popperInstRef$curren2 === void 0 || _popperInstRef$curren2.update();
253
306
  }
254
307
  }, [multiValue]);
255
- (0, import_react.useEffect)(() => {
256
- const labels = (value instanceof Array ? value : [value]).map((item) => {
257
- var _a;
258
- return (_a = (0, import_find.default)(optionData, { value: item })) == null ? void 0 : _a.label;
259
- }).filter((item) => !!item);
308
+
309
+ /** 初次加载时反显选中文本 */
310
+ useEffect(function () {
311
+ var labels = (value instanceof Array ? value : [value]).map(function (item) {
312
+ var _find3;
313
+ return (_find3 = find(optionData, {
314
+ value: item
315
+ })) === null || _find3 === void 0 ? void 0 : _find3.label;
316
+ }).filter(function (item) {
317
+ return !!item;
318
+ });
260
319
  if (labels.length > 0) {
261
- setLabel(multiple ? "" : labels.join(","));
320
+ setLabel(multiple ? '' : labels.join(','));
262
321
  } else {
263
- if ((0, import_Util.isNotEmpty)(value)) {
264
- setLabel(value instanceof Array ? value.join(",") : value + "");
322
+ if (isNotEmpty(value)) {
323
+ setLabel(value instanceof Array ? value.join(',') : value + '');
265
324
  } else {
266
- setLabel("");
325
+ setLabel('');
267
326
  }
268
327
  }
269
- onLoadSuccess == null ? void 0 : onLoadSuccess(value, labels);
328
+ onLoadSuccess === null || onLoadSuccess === void 0 || onLoadSuccess(value, labels);
270
329
  }, [multiple, onLoadSuccess, optionData, value]);
271
- (0, import_react.useImperativeHandle)(ref, () => ({
272
- popperInstRef,
273
- label,
274
- setLabel,
275
- inputInstance,
276
- searchInstance,
277
- getValue: () => value,
278
- setValue,
279
- onClear,
280
- clear: onClear,
281
- setVisible
282
- }));
283
- (0, import_react.useImperativeHandle)(ref, () => containerRef.current);
284
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(b(), e`default`, is({ disabled }), m({ [size]: size }), props.className), style: append || prepend ? {} : props.style, ref: containerRef }, /* @__PURE__ */ import_react.default.createElement("div", { className: e`trigger` }, multiple && /* @__PURE__ */ import_react.default.createElement(
285
- "div",
286
- {
287
- className: e`tags`,
288
- onMouseEnter: () => {
289
- var _a;
290
- return (_a = inputInstance.current) == null ? void 0 : _a.showClear(multiple ? multiValue.join(",") : createItem || label);
330
+ useImperativeHandle(ref, function () {
331
+ return {
332
+ popperInstRef: popperInstRef,
333
+ label: label,
334
+ setLabel: setLabel,
335
+ inputInstance: inputInstance,
336
+ searchInstance: searchInstance,
337
+ getValue: function getValue() {
338
+ return value;
291
339
  },
292
- onMouseLeave: () => {
293
- var _a;
294
- return (_a = inputInstance.current) == null ? void 0 : _a.hideClear();
295
- }
340
+ setValue: setValue,
341
+ onClear: onClear,
342
+ clear: onClear,
343
+ setVisible: setVisible
344
+ };
345
+ });
346
+
347
+ // @ts-ignore
348
+ useImperativeHandle(ref, function () {
349
+ return containerRef.current;
350
+ });
351
+ return /*#__PURE__*/React.createElement("div", {
352
+ className: classNames(b(), e(_templateObject || (_templateObject = _taggedTemplateLiteral(["default"]))), is({
353
+ disabled: disabled
354
+ }), m(_defineProperty({}, size, size)), props.className),
355
+ style: append || prepend ? {} : props.style,
356
+ ref: containerRef
357
+ }, /*#__PURE__*/React.createElement("div", {
358
+ className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["trigger"])))
359
+ }, multiple && /*#__PURE__*/React.createElement("div", {
360
+ className: e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["tags"]))),
361
+ onMouseEnter: function onMouseEnter() {
362
+ var _inputInstance$curren;
363
+ return (_inputInstance$curren = inputInstance.current) === null || _inputInstance$curren === void 0 ? void 0 : _inputInstance$curren.showClear(multiple ? multiValue.join(',') : createItem || label);
296
364
  },
297
- /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(b`tags-wrapper`, "has-prefix"), onClick, ref: wrapperRef }, (collapseTags ? multiLabel.slice(0, maxCollapseTags) : multiLabel).map((item, i) => {
298
- return /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { type: "info", key: multiValue[i], closable: !disabled, onClick, onClose: () => onCloseTag(multiValue[i]), disableTransitions: true }, item);
299
- }), collapseTags && (multiValue == null ? void 0 : multiValue.length) > maxCollapseTags && /* @__PURE__ */ import_react.default.createElement(
300
- import_Tooltip.default,
301
- {
302
- popperClass: e`tooltip`,
303
- placement: "top",
304
- disabled: !collapseTagsTooltip,
305
- content: /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, multiLabel.slice(maxCollapseTags, multiLabel.length).map((item) => /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { key: item, type: "info", disableTransitions: true }, item))),
306
- effect: "light",
307
- enterable: true
365
+ onMouseLeave: function onMouseLeave() {
366
+ var _inputInstance$curren2;
367
+ return (_inputInstance$curren2 = inputInstance.current) === null || _inputInstance$curren2 === void 0 ? void 0 : _inputInstance$curren2.hideClear();
368
+ }
369
+ }, /*#__PURE__*/React.createElement("div", {
370
+ className: classNames(b(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["tags-wrapper"]))), 'has-prefix'),
371
+ onClick: onClick,
372
+ ref: wrapperRef
373
+ }, (collapseTags ? multiLabel.slice(0, maxCollapseTags) : multiLabel).map(function (item, i) {
374
+ return /*#__PURE__*/React.createElement(Tag, {
375
+ type: "info",
376
+ key: multiValue[i],
377
+ closable: !disabled,
378
+ onClick: onClick,
379
+ onClose: function onClose() {
380
+ return onCloseTag(multiValue[i]);
308
381
  },
309
- /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { type: "info", onClick, disableTransitions: true }, collapseTips ? collapseTips(multiLabel.length - maxCollapseTags, multiLabel.length) : `+ ${multiLabel.length - maxCollapseTags}`)
310
- )),
311
- allowCreate && /* @__PURE__ */ import_react.default.createElement(
312
- "input",
313
- {
314
- type: "text",
315
- className: e`input`,
316
- style: { marginLeft: 5, flexGrow: 1, width: "0.111111%", maxWidth: 170 },
317
- ref: createInputRef,
318
- onClick: () => setVisible(!visible),
319
- onInput: (event) => {
320
- var _a;
321
- setVisible(true);
322
- setCreateItem(event.target.value);
323
- if (popperInstRef.current && popperInstRef.current.update) {
324
- (_a = popperInstRef.current) == null ? void 0 : _a.update();
325
- }
326
- },
327
- onKeyDown: (event) => {
328
- if (event.key === "Enter") {
329
- onChoose(createItem, createItem, event);
330
- setCreateItem("");
331
- if (createInputRef.current) {
332
- createInputRef.current.value = "";
333
- }
334
- }
335
- },
336
- onBlur: () => {
337
- setTimeout(() => {
338
- setCreateItem("");
339
- if (createInputRef.current) {
340
- createInputRef.current.value = "";
341
- }
342
- }, 200);
382
+ disableTransitions: true
383
+ }, item);
384
+ }), collapseTags && (multiValue === null || multiValue === void 0 ? void 0 : multiValue.length) > maxCollapseTags && /*#__PURE__*/React.createElement(Tooltip, {
385
+ popperClass: e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["tooltip"]))),
386
+ placement: "top",
387
+ disabled: !collapseTagsTooltip,
388
+ content: /*#__PURE__*/React.createElement(React.Fragment, null, multiLabel.slice(maxCollapseTags, multiLabel.length).map(function (item) {
389
+ return /*#__PURE__*/React.createElement(Tag, {
390
+ key: item,
391
+ type: "info",
392
+ disableTransitions: true
393
+ }, item);
394
+ })),
395
+ effect: "light",
396
+ enterable: true
397
+ }, /*#__PURE__*/React.createElement(Tag, {
398
+ type: "info",
399
+ onClick: onClick,
400
+ disableTransitions: true
401
+ }, collapseTips ? collapseTips(multiLabel.length - maxCollapseTags, multiLabel.length) : "+ ".concat(multiLabel.length - maxCollapseTags)))), allowCreate && /*#__PURE__*/React.createElement("input", {
402
+ type: "text",
403
+ className: e(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["input"]))),
404
+ style: {
405
+ marginLeft: 5,
406
+ flexGrow: 1,
407
+ width: '0.111111%',
408
+ maxWidth: 170
409
+ },
410
+ ref: createInputRef,
411
+ onClick: function onClick() {
412
+ return setVisible(!visible);
413
+ },
414
+ onInput: function onInput(event) {
415
+ setVisible(true);
416
+ setCreateItem(event.target.value);
417
+ if (popperInstRef.current && popperInstRef.current.update) {
418
+ var _popperInstRef$curren3;
419
+ (_popperInstRef$curren3 = popperInstRef.current) === null || _popperInstRef$curren3 === void 0 || _popperInstRef$curren3.update();
420
+ }
421
+ },
422
+ onKeyDown: function onKeyDown(event) {
423
+ if (event.key === 'Enter') {
424
+ onChoose(createItem, createItem, event);
425
+ setCreateItem('');
426
+ if (createInputRef.current) {
427
+ createInputRef.current.value = '';
343
428
  }
344
429
  }
345
- )
346
- ), /* @__PURE__ */ import_react.default.createElement(
347
- import_Input.Input,
348
- {
349
- ref: inputInstance,
350
- value: multiple ? multiValue.join(",") : createItem || label,
351
- hiddenValue: multiple,
352
- placeholder,
353
- readOnly: !allowCreate,
354
- clearable: clearable && !disabled,
355
- disabled,
356
- onClick,
357
- onClear,
358
- plain: props.plain,
359
- className: (0, import_classnames.default)(is({ active: visible })),
360
- size,
361
- onChange: (val) => {
362
- setVisible(true);
363
- setCreateItem(val + "");
364
- },
365
- onKeyDown: (event) => {
366
- if (event.key === "Enter") {
367
- onChoose(createItem, createItem, event);
430
+ },
431
+ onBlur: function onBlur() {
432
+ setTimeout(function () {
433
+ setCreateItem('');
434
+ if (createInputRef.current) {
435
+ createInputRef.current.value = '';
368
436
  }
369
- },
370
- onBlur: () => {
371
- setTimeout(() => {
372
- setCreateItem("");
373
- }, 200);
374
- },
375
- error,
376
- warning,
377
- innerStyle: multiple ? { height: inputHeight } : {},
378
- suffix: /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { prefix: "fal", name: "angle-down", rotate: visible ? 180 : null, onClick }),
379
- ...(0, import_omit.default)(htmlInputProps, [
380
- "value",
381
- "defaultValue",
382
- "onInput",
383
- "size",
384
- "prefix",
385
- "onChange",
386
- "style",
387
- "placeholder",
388
- "readOnly",
389
- "onKeyDown",
390
- "disabled",
391
- "className",
392
- "type",
393
- "name",
394
- "minLength",
395
- "maxLength"
396
- ])
437
+ }, 200);
397
438
  }
398
- )), /* @__PURE__ */ import_react.default.createElement(
399
- import_Popper.Popper,
400
- {
401
- referenceElement: containerRef,
402
- visible,
403
- popperInstRef,
404
- popperStyle,
405
- onDestroy: () => setVisible(false),
406
- onEnter: handleEnter,
407
- afterLeave: handleAfterLeave,
408
- placement: "bottom-start",
409
- transitionAppear: true,
410
- unmountOnExit: true,
411
- ...transitionProps,
412
- ...popperProps
439
+ })), /*#__PURE__*/React.createElement(Input, _extends({
440
+ ref: inputInstance,
441
+ value: multiple ? multiValue.join(',') : createItem || label,
442
+ hiddenValue: multiple,
443
+ placeholder: placeholder,
444
+ readOnly: !allowCreate,
445
+ clearable: clearable && !disabled,
446
+ disabled: disabled,
447
+ onClick: onClick,
448
+ onClear: onClear,
449
+ plain: props.plain,
450
+ className: classNames(is({
451
+ active: visible
452
+ })),
453
+ size: size,
454
+ onChange: function onChange(val) {
455
+ setVisible(true);
456
+ setCreateItem(val + '');
413
457
  },
414
- /* @__PURE__ */ import_react.default.createElement(
415
- import_SelectDropdown.default,
416
- {
417
- ref: selectDropdownRef,
418
- value,
419
- searchInstance,
420
- createItem,
421
- setCreateItem,
422
- onChoose,
423
- contentRef,
424
- createInputRef,
425
- popperInstRef,
426
- ...props
427
- },
428
- props.children
429
- )
430
- ));
458
+ onKeyDown: function onKeyDown(event) {
459
+ if (event.key === 'Enter') {
460
+ onChoose(createItem, createItem, event);
461
+ }
462
+ },
463
+ onBlur: function onBlur() {
464
+ setTimeout(function () {
465
+ setCreateItem('');
466
+ }, 200);
467
+ },
468
+ error: error,
469
+ warning: warning,
470
+ innerStyle: multiple ? {
471
+ height: inputHeight
472
+ } : {},
473
+ suffix: /*#__PURE__*/React.createElement(Icon, {
474
+ prefix: "fal",
475
+ name: "angle-down",
476
+ rotate: visible ? 180 : null,
477
+ onClick: onClick
478
+ })
479
+ }, omit(htmlInputProps, ['value', 'defaultValue', 'onInput', 'size', 'prefix', 'onChange', 'style', 'placeholder', 'readOnly', 'onKeyDown', 'disabled', 'className', 'type', 'name', 'minLength', 'maxLength'])))), /*#__PURE__*/React.createElement(Popper, _extends({
480
+ referenceElement: containerRef,
481
+ visible: visible,
482
+ popperInstRef: popperInstRef,
483
+ popperStyle: popperStyle,
484
+ onDestroy: function onDestroy() {
485
+ return setVisible(false);
486
+ },
487
+ onEnter: handleEnter,
488
+ afterLeave: handleAfterLeave,
489
+ placement: 'bottom-start',
490
+ transitionAppear: true,
491
+ unmountOnExit: true
492
+ }, transitionProps, popperProps), /*#__PURE__*/React.createElement(SelectDropdown, _extends({
493
+ ref: selectDropdownRef,
494
+ value: value,
495
+ searchInstance: searchInstance,
496
+ createItem: createItem,
497
+ setCreateItem: setCreateItem,
498
+ onChoose: onChoose,
499
+ contentRef: contentRef,
500
+ createInputRef: createInputRef,
501
+ popperInstRef: popperInstRef
502
+ }, props), props.children)));
431
503
  });
432
- SelectCore.displayName = "SelectCore";
433
- var SelectCore_default = SelectCore;
504
+ SelectCore.displayName = 'SelectCore';
505
+ export default SelectCore;