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

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 (404) hide show
  1. package/dist/Avatar/Avatar.d.ts +2 -2
  2. package/dist/Avatar/Avatar.js +81 -73
  3. package/dist/Avatar/index.js +1 -39
  4. package/dist/Avatar/typings.js +1 -17
  5. package/dist/Badge/Badge.d.ts +2 -2
  6. package/dist/Badge/Badge.js +75 -60
  7. package/dist/Badge/index.js +1 -39
  8. package/dist/Badge/typings.d.ts +1 -1
  9. package/dist/Badge/typings.js +1 -17
  10. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  11. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  12. package/dist/Breadcrumb/index.js +2 -42
  13. package/dist/Breadcrumb/typings.js +1 -17
  14. package/dist/Button/Button.js +132 -105
  15. package/dist/Button/ButtonGroup.js +29 -48
  16. package/dist/Button/ButtonGroupContext.js +2 -30
  17. package/dist/Button/index.js +2 -42
  18. package/dist/Button/typings.d.ts +4 -2
  19. package/dist/Button/typings.js +1 -17
  20. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  21. package/dist/Button/useButtonCustomStyle.js +65 -0
  22. package/dist/Calendar/Calendar.js +310 -237
  23. package/dist/Calendar/CalendarContext.js +3 -27
  24. package/dist/Calendar/DatePanel.js +191 -158
  25. package/dist/Calendar/DateRangePanel.js +140 -125
  26. package/dist/Calendar/Footer.js +41 -51
  27. package/dist/Calendar/Header.js +83 -65
  28. package/dist/Calendar/MonthPanel.js +138 -124
  29. package/dist/Calendar/MonthRangePanel.js +137 -124
  30. package/dist/Calendar/ShortCuts.js +21 -40
  31. package/dist/Calendar/WeekPanel.js +213 -145
  32. package/dist/Calendar/YearPanel.js +150 -125
  33. package/dist/Calendar/YearRangePanel.js +138 -128
  34. package/dist/Calendar/index.js +4 -47
  35. package/dist/Calendar/typings.js +1 -17
  36. package/dist/Calendar/util.js +26 -68
  37. package/dist/Card/Card.js +36 -46
  38. package/dist/Card/index.js +1 -39
  39. package/dist/Card/typings.js +1 -17
  40. package/dist/Carousel/Carousel.js +202 -166
  41. package/dist/Carousel/CarouselContext.js +14 -42
  42. package/dist/Carousel/CarouselItem.js +55 -71
  43. package/dist/Carousel/hooks/useCarousel.js +263 -238
  44. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  45. package/dist/Carousel/index.js +2 -42
  46. package/dist/Carousel/typings.js +1 -17
  47. package/dist/Cascader/Cascader.js +693 -569
  48. package/dist/Cascader/CascaderContext.js +9 -45
  49. package/dist/Cascader/CascaderDropdown.js +90 -77
  50. package/dist/Cascader/CascaderMenu.js +101 -114
  51. package/dist/Cascader/Utils.js +6 -33
  52. package/dist/Cascader/index.js +1 -39
  53. package/dist/Cascader/typings.d.ts +1 -1
  54. package/dist/Cascader/typings.js +1 -17
  55. package/dist/Cascader/useCascader.js +648 -458
  56. package/dist/Checkbox/Checkbox.d.ts +3 -3
  57. package/dist/Checkbox/Checkbox.js +138 -161
  58. package/dist/Checkbox/CheckboxButton.js +133 -157
  59. package/dist/Checkbox/index.js +2 -42
  60. package/dist/Checkbox/typings.d.ts +3 -2
  61. package/dist/Checkbox/typings.js +1 -17
  62. package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
  63. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  64. package/dist/CheckboxGroup/index.js +2 -42
  65. package/dist/Col/Col.js +53 -72
  66. package/dist/Col/index.js +1 -39
  67. package/dist/Col/typings.js +1 -17
  68. package/dist/Collapse/Collapse.js +36 -45
  69. package/dist/Collapse/CollapseContext.js +3 -31
  70. package/dist/Collapse/CollapseItem.js +88 -73
  71. package/dist/Collapse/CollapseTransition.js +29 -67
  72. package/dist/Collapse/index.js +2 -42
  73. package/dist/Collapse/typings.js +1 -17
  74. package/dist/ColorPicker/AlphaSlider.js +117 -99
  75. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  76. package/dist/ColorPicker/ColorPicker.js +233 -189
  77. package/dist/ColorPicker/HueSlider.js +102 -96
  78. package/dist/ColorPicker/Predefine.js +65 -66
  79. package/dist/ColorPicker/SvPanel.js +95 -81
  80. package/dist/ColorPicker/color.js +301 -213
  81. package/dist/ColorPicker/draggable.js +30 -48
  82. package/dist/ColorPicker/index.js +1 -39
  83. package/dist/ColorPicker/typings.js +1 -17
  84. package/dist/ColorPicker/util.js +23 -60
  85. package/dist/ConfigProvider/ConfigProvider.js +4 -28
  86. package/dist/ConfigProvider/index.js +1 -39
  87. package/dist/DatePicker/DatePicker.d.ts +3 -3
  88. package/dist/DatePicker/DatePicker.js +251 -227
  89. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  90. package/dist/DatePicker/DateRangePicker.js +279 -276
  91. package/dist/DatePicker/index.js +2 -39
  92. package/dist/DatePicker/main.d.ts +2 -2
  93. package/dist/DatePicker/main.js +21 -44
  94. package/dist/DatePicker/typings.d.ts +24 -17
  95. package/dist/DatePicker/typings.js +1 -17
  96. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  97. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  98. package/dist/DateTimePicker/index.js +1 -39
  99. package/dist/DateTimePicker/typings.d.ts +10 -13
  100. package/dist/DateTimePicker/typings.js +1 -17
  101. package/dist/DateTimePicker/util.js +5 -35
  102. package/dist/Descriptions/Descriptions.js +83 -63
  103. package/dist/Descriptions/DescriptionsCell.js +67 -79
  104. package/dist/Descriptions/DescriptionsContext.js +4 -32
  105. package/dist/Descriptions/DescriptionsItem.js +4 -27
  106. package/dist/Descriptions/DescriptionsRow.js +42 -44
  107. package/dist/Descriptions/index.js +2 -42
  108. package/dist/Descriptions/typings.js +1 -17
  109. package/dist/Dialog/Dialog.js +224 -176
  110. package/dist/Dialog/DialogBody.js +52 -59
  111. package/dist/Dialog/DialogContext.js +6 -44
  112. package/dist/Dialog/DialogFooter.js +21 -45
  113. package/dist/Dialog/DialogHeader.js +44 -50
  114. package/dist/Dialog/index.js +1 -39
  115. package/dist/Dialog/typings.d.ts +1 -1
  116. package/dist/Dialog/typings.js +1 -17
  117. package/dist/Dialog/useDraggable.js +52 -79
  118. package/dist/Divider/Divider.d.ts +3 -3
  119. package/dist/Divider/Divider.js +38 -44
  120. package/dist/Divider/index.js +1 -39
  121. package/dist/Drawer/Drawer.js +144 -136
  122. package/dist/Drawer/DrawerBody.js +35 -57
  123. package/dist/Drawer/DrawerContext.js +13 -44
  124. package/dist/Drawer/DrawerFooter.js +22 -43
  125. package/dist/Drawer/DrawerHeader.js +41 -48
  126. package/dist/Drawer/index.js +1 -39
  127. package/dist/Drawer/typings.js +1 -17
  128. package/dist/Dropdown/Dropdown.d.ts +3 -3
  129. package/dist/Dropdown/Dropdown.js +103 -107
  130. package/dist/Dropdown/DropdownContext.js +5 -43
  131. package/dist/Dropdown/DropdownItem.js +40 -60
  132. package/dist/Dropdown/DropdownMenu.js +28 -56
  133. package/dist/Dropdown/index.js +3 -45
  134. package/dist/Dropdown/typings.d.ts +8 -1
  135. package/dist/Dropdown/typings.js +1 -17
  136. package/dist/Empty/Empty.js +32 -53
  137. package/dist/Empty/ImgEmpty.js +115 -117
  138. package/dist/Empty/index.js +1 -39
  139. package/dist/Form/FieldContext.js +8 -37
  140. package/dist/Form/Form.js +167 -162
  141. package/dist/Form/FormContext.js +58 -97
  142. package/dist/Form/FormItem.js +620 -352
  143. package/dist/Form/FormItemContext.js +3 -31
  144. package/dist/Form/List.js +121 -104
  145. package/dist/Form/ListContext.js +3 -27
  146. package/dist/Form/index.js +3 -45
  147. package/dist/Form/typings.d.ts +25 -4
  148. package/dist/Form/typings.js +1 -17
  149. package/dist/Form/useForm.js +830 -690
  150. package/dist/Form/useWatch.js +64 -79
  151. package/dist/Form/utils/NameMap.js +98 -69
  152. package/dist/Form/utils/asyncUtil.js +9 -37
  153. package/dist/Form/utils/classUtil.js +26 -48
  154. package/dist/Form/utils/cloneDeep.js +8 -29
  155. package/dist/Form/utils/get.js +6 -30
  156. package/dist/Form/utils/messages.js +25 -53
  157. package/dist/Form/utils/set.js +31 -44
  158. package/dist/Form/utils/typeUtil.js +3 -31
  159. package/dist/Form/utils/util.js +18 -55
  160. package/dist/Form/utils/validateUtil.js +284 -159
  161. package/dist/Form/utils/valueUtil.js +102 -107
  162. package/dist/Icon/Icon.js +39 -63
  163. package/dist/Icon/IconList/Check.js +25 -65
  164. package/dist/Icon/IconList/Close.js +23 -52
  165. package/dist/Icon/IconList/Delete.js +25 -65
  166. package/dist/Icon/IconList/Down.js +25 -65
  167. package/dist/Icon/IconList/Eye.js +25 -65
  168. package/dist/Icon/IconList/EyeClose.js +25 -65
  169. package/dist/Icon/IconList/Left.js +25 -65
  170. package/dist/Icon/IconList/Link.js +19 -55
  171. package/dist/Icon/IconList/More.js +25 -65
  172. package/dist/Icon/IconList/Question.js +25 -65
  173. package/dist/Icon/IconList/Right.js +25 -65
  174. package/dist/Icon/IconList/Search.js +25 -65
  175. package/dist/Icon/IconList/Up.js +25 -65
  176. package/dist/Icon/IconList/Upload.js +25 -65
  177. package/dist/Icon/IconList/index.js +14 -68
  178. package/dist/Icon/index.js +2 -42
  179. package/dist/Icon/typings.js +1 -17
  180. package/dist/Input/Input.js +335 -358
  181. package/dist/Input/InputGroup.js +27 -43
  182. package/dist/Input/InputRange.js +295 -308
  183. package/dist/Input/TextArea.js +129 -120
  184. package/dist/Input/index.js +3 -45
  185. package/dist/Input/typings.d.ts +1 -1
  186. package/dist/Input/typings.js +1 -17
  187. package/dist/InputNumber/InputNumber.js +224 -203
  188. package/dist/InputNumber/index.js +1 -39
  189. package/dist/InputNumber/typings.d.ts +1 -1
  190. package/dist/InputNumber/typings.js +1 -17
  191. package/dist/Link/Link.js +43 -60
  192. package/dist/Link/index.js +1 -39
  193. package/dist/Link/typings.js +1 -17
  194. package/dist/Loading/Loading.js +93 -66
  195. package/dist/Loading/index.js +1 -39
  196. package/dist/Loading/typings.js +1 -17
  197. package/dist/Message/Main.js +41 -66
  198. package/dist/Message/Message.js +167 -130
  199. package/dist/Message/index.js +68 -88
  200. package/dist/Message/typings.js +1 -17
  201. package/dist/MessageBox/Main.js +43 -68
  202. package/dist/MessageBox/MessageBox.js +253 -202
  203. package/dist/MessageBox/index.js +74 -79
  204. package/dist/MessageBox/typings.js +1 -17
  205. package/dist/Notification/Main.js +41 -66
  206. package/dist/Notification/Notification.js +148 -131
  207. package/dist/Notification/index.js +76 -92
  208. package/dist/Notification/typings.js +1 -17
  209. package/dist/Pagination/Options.js +104 -99
  210. package/dist/Pagination/Pager.js +30 -61
  211. package/dist/Pagination/Pagination.js +462 -380
  212. package/dist/Pagination/index.js +1 -39
  213. package/dist/Pagination/typings.js +1 -17
  214. package/dist/Pagination/util.js +10 -41
  215. package/dist/Popconfirm/Popconfirm.js +108 -116
  216. package/dist/Popconfirm/index.js +1 -39
  217. package/dist/Popconfirm/typings.js +1 -17
  218. package/dist/Popover/Popover.js +87 -89
  219. package/dist/Popover/index.js +1 -39
  220. package/dist/Popover/typings.js +1 -17
  221. package/dist/Popper/Popper.js +172 -149
  222. package/dist/Popper/index.js +1 -39
  223. package/dist/Popper/popperOptions.js +79 -90
  224. package/dist/Popper/typings.js +1 -17
  225. package/dist/Progress/Progress.js +186 -155
  226. package/dist/Progress/index.js +1 -39
  227. package/dist/Progress/typings.js +1 -17
  228. package/dist/Radio/Radio.js +162 -117
  229. package/dist/Radio/RadioButton.d.ts +2 -2
  230. package/dist/Radio/RadioButton.js +137 -117
  231. package/dist/Radio/index.js +1 -39
  232. package/dist/Radio/typings.d.ts +2 -1
  233. package/dist/Radio/typings.js +1 -17
  234. package/dist/RadioGroup/RadioGroup.js +63 -78
  235. package/dist/RadioGroup/index.js +1 -39
  236. package/dist/RadioGroup/typings.js +1 -17
  237. package/dist/Row/Row.js +41 -62
  238. package/dist/Row/RowContext.js +3 -31
  239. package/dist/Row/index.js +2 -42
  240. package/dist/Row/typings.js +1 -17
  241. package/dist/Scrollbar/Scrollbar.js +172 -133
  242. package/dist/Scrollbar/Thumb.js +108 -96
  243. package/dist/Scrollbar/index.js +1 -39
  244. package/dist/Scrollbar/typings.d.ts +11 -2
  245. package/dist/Scrollbar/typings.js +1 -17
  246. package/dist/Scrollbar/util.js +24 -51
  247. package/dist/Select/Option.js +50 -75
  248. package/dist/Select/OptionGroup.js +31 -47
  249. package/dist/Select/Select.js +25 -48
  250. package/dist/Select/SelectContext.js +8 -46
  251. package/dist/Select/SelectCore.js +449 -377
  252. package/dist/Select/SelectDropdown.js +200 -160
  253. package/dist/Select/index.js +2 -42
  254. package/dist/Select/typings.d.ts +1 -1
  255. package/dist/Select/typings.js +1 -17
  256. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  257. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  258. package/dist/Skeleton/PlaceholderParagraph.js +51 -52
  259. package/dist/Skeleton/Skeleton.js +8 -42
  260. package/dist/Skeleton/index.js +1 -39
  261. package/dist/Switch/Switch.js +183 -154
  262. package/dist/Switch/index.js +1 -39
  263. package/dist/Switch/typings.js +1 -17
  264. package/dist/Table/Colgroup.js +17 -41
  265. package/dist/Table/Table.js +246 -188
  266. package/dist/Table/TableBody.js +265 -200
  267. package/dist/Table/TableCell.js +461 -320
  268. package/dist/Table/TableColumn.js +9 -43
  269. package/dist/Table/TableContext.js +44 -63
  270. package/dist/Table/TableHeader.js +112 -102
  271. package/dist/Table/TableHeaderCell.js +211 -158
  272. package/dist/Table/hooks/useResize.js +69 -83
  273. package/dist/Table/hooks/useScroll.js +88 -114
  274. package/dist/Table/hooks/useSelection.js +145 -110
  275. package/dist/Table/hooks/useTable.js +411 -309
  276. package/dist/Table/index.js +2 -42
  277. package/dist/Table/treeUtil.js +99 -77
  278. package/dist/Table/typings.js +1 -17
  279. package/dist/Table/util.js +168 -109
  280. package/dist/Tabs/TabPane.js +51 -53
  281. package/dist/Tabs/Tabs.js +277 -178
  282. package/dist/Tabs/TabsContext.js +4 -32
  283. package/dist/Tabs/index.js +2 -42
  284. package/dist/Tabs/typings.js +1 -17
  285. package/dist/Tag/Tag.js +86 -74
  286. package/dist/Tag/index.js +1 -39
  287. package/dist/Tag/typings.js +1 -17
  288. package/dist/TimeLine/TimeLine.js +13 -42
  289. package/dist/TimeLine/TimeLineItem.js +66 -54
  290. package/dist/TimeLine/index.js +2 -42
  291. package/dist/TimeLine/typings.js +1 -17
  292. package/dist/TimePicker/TimePicker.d.ts +1 -4
  293. package/dist/TimePicker/TimePicker.js +275 -215
  294. package/dist/TimePicker/TimePickerPanel.js +62 -71
  295. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  296. package/dist/TimePicker/TimePickerRange.js +371 -334
  297. package/dist/TimePicker/TimeRangePanel.js +182 -165
  298. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  299. package/dist/TimePicker/index.d.ts +2 -3
  300. package/dist/TimePicker/index.js +1 -42
  301. package/dist/TimePicker/main.d.ts +9 -0
  302. package/dist/TimePicker/main.js +17 -0
  303. package/dist/TimePicker/typings.d.ts +29 -24
  304. package/dist/TimePicker/typings.js +1 -17
  305. package/dist/TimePicker/useTimePicker.js +62 -65
  306. package/dist/TimePicker/util.js +8 -40
  307. package/dist/Tooltip/Tooltip.js +172 -180
  308. package/dist/Tooltip/TooltipContext.js +8 -46
  309. package/dist/Tooltip/index.js +2 -42
  310. package/dist/Tooltip/typings.js +1 -17
  311. package/dist/Transfer/List.js +290 -241
  312. package/dist/Transfer/ListBody.js +92 -106
  313. package/dist/Transfer/ListItem.js +38 -51
  314. package/dist/Transfer/Transfer.js +323 -280
  315. package/dist/Transfer/index.js +1 -39
  316. package/dist/Transfer/interface.js +1 -17
  317. package/dist/Transfer/operation.js +35 -48
  318. package/dist/Transfer/search.js +30 -62
  319. package/dist/Transfer/typings/index.js +1 -17
  320. package/dist/Transfer/typings/list.js +1 -17
  321. package/dist/Transfer/typings/listBody.js +2 -30
  322. package/dist/Transition/Transition.js +271 -234
  323. package/dist/Transition/TransitionGroup.js +136 -88
  324. package/dist/Transition/TransitionGroupContext.js +2 -26
  325. package/dist/Transition/childMapping.js +84 -71
  326. package/dist/Transition/index.js +2 -42
  327. package/dist/Transition/util.d.ts +0 -1
  328. package/dist/Transition/util.js +6 -47
  329. package/dist/Tree/DirectoryTree.js +146 -118
  330. package/dist/Tree/DropIndicator.js +15 -45
  331. package/dist/Tree/Indent.js +23 -54
  332. package/dist/Tree/MotionTreeNode.js +94 -95
  333. package/dist/Tree/NodeList.js +228 -221
  334. package/dist/Tree/RCTree.js +969 -702
  335. package/dist/Tree/Tree.js +64 -79
  336. package/dist/Tree/TreeNode.js +254 -255
  337. package/dist/Tree/contextTypes.js +8 -42
  338. package/dist/Tree/index.js +4 -48
  339. package/dist/Tree/typings.js +1 -17
  340. package/dist/Tree/useUnmount.js +21 -41
  341. package/dist/Tree/util.js +156 -134
  342. package/dist/Tree/utils/conductUtil.js +113 -104
  343. package/dist/Tree/utils/dictUtil.js +50 -78
  344. package/dist/Tree/utils/diffUtil.js +26 -43
  345. package/dist/Tree/utils/dropIndicator.js +23 -51
  346. package/dist/Tree/utils/iconUtil.js +44 -51
  347. package/dist/Tree/utils/keyUtil.js +2 -26
  348. package/dist/Tree/utils/motion.js +34 -72
  349. package/dist/Tree/utils/pickAttrs.js +30 -58
  350. package/dist/Tree/utils/treeUtil.js +263 -203
  351. package/dist/TreeSelect/TreeSelect.js +521 -459
  352. package/dist/TreeSelect/Utils.js +15 -36
  353. package/dist/TreeSelect/index.js +1 -39
  354. package/dist/TreeSelect/typings.d.ts +1 -1
  355. package/dist/TreeSelect/typings.js +1 -17
  356. package/dist/Upload/Upload.js +106 -109
  357. package/dist/Upload/UploadContent.js +227 -182
  358. package/dist/Upload/UploadContext.js +5 -33
  359. package/dist/Upload/UploadDrag.js +77 -97
  360. package/dist/Upload/UploadList.js +104 -73
  361. package/dist/Upload/ajax.js +45 -71
  362. package/dist/Upload/index.js +1 -39
  363. package/dist/Upload/typings.js +34 -36
  364. package/dist/Upload/use-handlers.js +182 -126
  365. package/dist/Util/Math.js +81 -78
  366. package/dist/Util/PopupManager.js +5 -27
  367. package/dist/Util/base.js +101 -171
  368. package/dist/Util/genFileId.js +3 -29
  369. package/dist/Util/index.js +6 -51
  370. package/dist/Util/resize-event.js +31 -54
  371. package/dist/Util/shallowEqual.js +30 -28
  372. package/dist/Util/treeUtils.js +68 -64
  373. package/dist/config/Constants.js +17 -47
  374. package/dist/display.css +1 -0
  375. package/dist/hooks/animationPropsUtils.js +25 -49
  376. package/dist/hooks/htmlPropsUtils.js +54 -121
  377. package/dist/hooks/index.js +14 -73
  378. package/dist/hooks/popperPropsUtils.js +25 -67
  379. package/dist/hooks/prefix.js +22 -55
  380. package/dist/hooks/treePropsUtils.js +24 -103
  381. package/dist/hooks/useChildrenInstance.js +51 -60
  382. package/dist/hooks/useClassNames.d.ts +2 -0
  383. package/dist/hooks/useClassNames.js +279 -197
  384. package/dist/hooks/useClickOutside.js +37 -62
  385. package/dist/hooks/useCommonProps.js +17 -53
  386. package/dist/hooks/useComponentWillMount.js +4 -28
  387. package/dist/hooks/useControlled.js +31 -37
  388. package/dist/hooks/useForceUpdate.js +16 -34
  389. package/dist/hooks/useUpdateEffect.js +6 -29
  390. package/dist/index.css +1 -57810
  391. package/dist/index.d.ts +0 -2
  392. package/dist/index.js +69 -237
  393. package/dist/theme-chalk/common/index.js +1 -2
  394. package/dist/theme-chalk/common/index.scss +2 -2
  395. package/dist/theme-chalk/date-picker/index.scss +1 -1
  396. package/dist/theme-chalk/display.scss +46 -0
  397. package/dist/theme-chalk/form/index.scss +21 -2
  398. package/dist/types/common.js +1 -17
  399. package/dist/types/type.js +16 -28
  400. package/package.json +6 -1
  401. package/theme-chalk/common/index.scss +2 -2
  402. package/theme-chalk/date-picker/index.scss +1 -1
  403. package/theme-chalk/display.scss +46 -0
  404. 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;