@qsxy/element-plus-react 1.0.0-next.7 → 1.0.1

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 (704) hide show
  1. package/README.md +42 -3
  2. package/dist/Avatar/Avatar.d.ts +4 -0
  3. package/dist/Avatar/Avatar.js +94 -0
  4. package/dist/Avatar/index.d.ts +2 -0
  5. package/dist/Avatar/index.js +1 -0
  6. package/dist/Avatar/typings.d.ts +21 -0
  7. package/dist/Avatar/typings.js +1 -0
  8. package/dist/Badge/Badge.d.ts +2 -2
  9. package/dist/Badge/Badge.js +75 -60
  10. package/dist/Badge/index.js +1 -39
  11. package/dist/Badge/typings.d.ts +1 -1
  12. package/dist/Badge/typings.js +1 -17
  13. package/dist/Breadcrumb/Breadcrumb.js +32 -50
  14. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  15. package/dist/Breadcrumb/index.js +2 -42
  16. package/dist/Breadcrumb/typings.js +1 -17
  17. package/dist/Button/Button.js +136 -104
  18. package/dist/Button/ButtonGroup.js +29 -48
  19. package/dist/Button/ButtonGroupContext.js +2 -30
  20. package/dist/Button/index.js +2 -42
  21. package/dist/Button/typings.d.ts +7 -3
  22. package/dist/Button/typings.js +1 -17
  23. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  24. package/dist/Button/useButtonCustomStyle.js +65 -0
  25. package/dist/Calendar/Calendar.js +328 -238
  26. package/dist/Calendar/CalendarContext.js +3 -27
  27. package/dist/Calendar/DatePanel.js +226 -159
  28. package/dist/Calendar/DateRangePanel.js +154 -125
  29. package/dist/Calendar/Footer.js +58 -52
  30. package/dist/Calendar/Header.js +87 -65
  31. package/dist/Calendar/MonthPanel.js +151 -124
  32. package/dist/Calendar/MonthRangePanel.js +151 -124
  33. package/dist/Calendar/ShortCuts.js +21 -40
  34. package/dist/Calendar/WeekPanel.js +248 -146
  35. package/dist/Calendar/YearPanel.js +150 -125
  36. package/dist/Calendar/YearRangePanel.js +148 -128
  37. package/dist/Calendar/index.js +4 -47
  38. package/dist/Calendar/typings.js +1 -17
  39. package/dist/Calendar/util.js +26 -68
  40. package/dist/Card/Card.js +45 -46
  41. package/dist/Card/index.js +1 -39
  42. package/dist/Card/typings.js +1 -17
  43. package/dist/Carousel/Carousel.js +202 -166
  44. package/dist/Carousel/CarouselContext.js +14 -42
  45. package/dist/Carousel/CarouselItem.js +55 -71
  46. package/dist/Carousel/hooks/useCarousel.js +263 -238
  47. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  48. package/dist/Carousel/index.js +2 -42
  49. package/dist/Carousel/typings.js +1 -17
  50. package/dist/Cascader/Cascader.js +703 -569
  51. package/dist/Cascader/CascaderContext.js +9 -45
  52. package/dist/Cascader/CascaderDropdown.js +90 -77
  53. package/dist/Cascader/CascaderMenu.js +101 -114
  54. package/dist/Cascader/Utils.js +6 -33
  55. package/dist/Cascader/index.js +1 -39
  56. package/dist/Cascader/typings.d.ts +1 -1
  57. package/dist/Cascader/typings.js +1 -17
  58. package/dist/Cascader/useCascader.js +648 -458
  59. package/dist/Checkbox/Checkbox.d.ts +3 -3
  60. package/dist/Checkbox/Checkbox.js +138 -161
  61. package/dist/Checkbox/CheckboxButton.js +133 -157
  62. package/dist/Checkbox/index.js +2 -42
  63. package/dist/Checkbox/typings.d.ts +3 -2
  64. package/dist/Checkbox/typings.js +1 -17
  65. package/dist/CheckboxGroup/CheckboxGroup.js +134 -112
  66. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  67. package/dist/CheckboxGroup/index.js +2 -42
  68. package/dist/Col/Col.js +53 -72
  69. package/dist/Col/index.js +1 -39
  70. package/dist/Col/typings.js +1 -17
  71. package/dist/Collapse/Collapse.js +36 -45
  72. package/dist/Collapse/CollapseContext.js +3 -31
  73. package/dist/Collapse/CollapseItem.js +88 -73
  74. package/dist/Collapse/CollapseTransition.js +29 -67
  75. package/dist/Collapse/index.js +2 -42
  76. package/dist/Collapse/typings.js +1 -17
  77. package/dist/ColorPicker/AlphaSlider.d.ts +0 -7
  78. package/dist/ColorPicker/AlphaSlider.js +110 -99
  79. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  80. package/dist/ColorPicker/ColorPicker.js +243 -189
  81. package/dist/ColorPicker/HueSlider.d.ts +0 -7
  82. package/dist/ColorPicker/HueSlider.js +95 -96
  83. package/dist/ColorPicker/Predefine.d.ts +0 -7
  84. package/dist/ColorPicker/Predefine.js +58 -66
  85. package/dist/ColorPicker/SvPanel.d.ts +0 -7
  86. package/dist/ColorPicker/SvPanel.js +88 -81
  87. package/dist/ColorPicker/color.js +301 -213
  88. package/dist/ColorPicker/draggable.js +30 -48
  89. package/dist/ColorPicker/index.js +1 -39
  90. package/dist/ColorPicker/typings.js +1 -17
  91. package/dist/ColorPicker/util.js +23 -60
  92. package/dist/ConfigProvider/ConfigProvider.d.ts +6 -20
  93. package/dist/ConfigProvider/ConfigProvider.js +69 -33
  94. package/dist/ConfigProvider/ConfigProviderContext.d.ts +5 -0
  95. package/dist/ConfigProvider/ConfigProviderContext.js +13 -0
  96. package/dist/ConfigProvider/index.d.ts +1 -1
  97. package/dist/ConfigProvider/index.js +1 -39
  98. package/dist/ConfigProvider/typings.d.ts +53 -0
  99. package/dist/ConfigProvider/typings.js +1 -0
  100. package/dist/Container/Aside.d.ts +5 -0
  101. package/dist/Container/Aside.js +26 -0
  102. package/dist/Container/Container.d.ts +5 -0
  103. package/dist/Container/Container.js +37 -0
  104. package/dist/Container/Footer.d.ts +5 -0
  105. package/dist/Container/Footer.js +26 -0
  106. package/dist/Container/Header.d.ts +5 -0
  107. package/dist/Container/Header.js +26 -0
  108. package/dist/Container/Main.d.ts +3 -0
  109. package/dist/Container/Main.js +14 -0
  110. package/dist/Container/index.d.ts +6 -0
  111. package/dist/Container/index.js +5 -0
  112. package/dist/Container/typings.d.ts +30 -0
  113. package/dist/Container/typings.js +1 -0
  114. package/dist/DatePicker/DatePicker.d.ts +3 -3
  115. package/dist/DatePicker/DatePicker.js +251 -227
  116. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  117. package/dist/DatePicker/DateRangePicker.js +279 -276
  118. package/dist/DatePicker/index.js +2 -39
  119. package/dist/DatePicker/main.d.ts +2 -2
  120. package/dist/DatePicker/main.js +21 -44
  121. package/dist/DatePicker/typings.d.ts +24 -17
  122. package/dist/DatePicker/typings.js +1 -17
  123. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  124. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  125. package/dist/DateTimePicker/index.js +1 -39
  126. package/dist/DateTimePicker/typings.d.ts +10 -13
  127. package/dist/DateTimePicker/typings.js +1 -17
  128. package/dist/DateTimePicker/util.js +5 -35
  129. package/dist/Descriptions/Descriptions.d.ts +2 -2
  130. package/dist/Descriptions/Descriptions.js +85 -64
  131. package/dist/Descriptions/DescriptionsCell.d.ts +11 -12
  132. package/dist/Descriptions/DescriptionsCell.js +75 -80
  133. package/dist/Descriptions/DescriptionsContext.js +4 -32
  134. package/dist/Descriptions/DescriptionsItem.js +4 -27
  135. package/dist/Descriptions/DescriptionsRow.d.ts +2 -5
  136. package/dist/Descriptions/DescriptionsRow.js +49 -44
  137. package/dist/Descriptions/index.js +2 -42
  138. package/dist/Descriptions/typings.js +1 -17
  139. package/dist/Dialog/Dialog.js +228 -179
  140. package/dist/Dialog/DialogBody.js +52 -59
  141. package/dist/Dialog/DialogContext.d.ts +1 -1
  142. package/dist/Dialog/DialogContext.js +7 -45
  143. package/dist/Dialog/DialogFooter.js +21 -45
  144. package/dist/Dialog/DialogHeader.js +44 -50
  145. package/dist/Dialog/index.js +1 -39
  146. package/dist/Dialog/typings.d.ts +1 -1
  147. package/dist/Dialog/typings.js +1 -17
  148. package/dist/Dialog/useDraggable.js +52 -79
  149. package/dist/Divider/Divider.d.ts +3 -3
  150. package/dist/Divider/Divider.js +38 -44
  151. package/dist/Divider/index.js +1 -39
  152. package/dist/Drawer/Drawer.d.ts +2 -5
  153. package/dist/Drawer/Drawer.js +210 -139
  154. package/dist/Drawer/DrawerBody.js +29 -57
  155. package/dist/Drawer/DrawerContext.d.ts +1 -13
  156. package/dist/Drawer/DrawerContext.js +5 -46
  157. package/dist/Drawer/DrawerFooter.js +22 -43
  158. package/dist/Drawer/DrawerHeader.js +34 -54
  159. package/dist/Drawer/index.js +1 -39
  160. package/dist/Drawer/typings.d.ts +31 -10
  161. package/dist/Drawer/typings.js +1 -17
  162. package/dist/Dropdown/Dropdown.d.ts +3 -3
  163. package/dist/Dropdown/Dropdown.js +103 -107
  164. package/dist/Dropdown/DropdownContext.js +5 -43
  165. package/dist/Dropdown/DropdownItem.js +40 -60
  166. package/dist/Dropdown/DropdownMenu.d.ts +5 -2
  167. package/dist/Dropdown/DropdownMenu.js +30 -56
  168. package/dist/Dropdown/index.js +3 -45
  169. package/dist/Dropdown/typings.d.ts +11 -2
  170. package/dist/Dropdown/typings.js +1 -17
  171. package/dist/Empty/Empty.js +32 -53
  172. package/dist/Empty/ImgEmpty.js +115 -117
  173. package/dist/Empty/index.js +1 -39
  174. package/dist/Form/FieldContext.js +8 -37
  175. package/dist/Form/Form.d.ts +9 -4
  176. package/dist/Form/Form.js +170 -163
  177. package/dist/Form/FormContext.js +58 -97
  178. package/dist/Form/FormItem.js +620 -352
  179. package/dist/Form/FormItemContext.js +3 -31
  180. package/dist/Form/List.js +121 -104
  181. package/dist/Form/ListContext.js +3 -27
  182. package/dist/Form/index.js +3 -45
  183. package/dist/Form/typings.d.ts +27 -6
  184. package/dist/Form/typings.js +1 -17
  185. package/dist/Form/useForm.js +830 -690
  186. package/dist/Form/useWatch.js +64 -79
  187. package/dist/Form/utils/NameMap.js +98 -69
  188. package/dist/Form/utils/asyncUtil.js +9 -37
  189. package/dist/Form/utils/classUtil.js +26 -48
  190. package/dist/Form/utils/cloneDeep.js +8 -29
  191. package/dist/Form/utils/get.js +6 -30
  192. package/dist/Form/utils/messages.js +25 -53
  193. package/dist/Form/utils/set.js +31 -44
  194. package/dist/Form/utils/typeUtil.js +3 -31
  195. package/dist/Form/utils/util.js +18 -55
  196. package/dist/Form/utils/validateUtil.js +284 -159
  197. package/dist/Form/utils/valueUtil.js +102 -107
  198. package/dist/Icon/Icon.js +39 -63
  199. package/dist/Icon/IconList/Check.js +25 -65
  200. package/dist/Icon/IconList/Close.js +23 -52
  201. package/dist/Icon/IconList/Delete.js +25 -65
  202. package/dist/Icon/IconList/Down.js +25 -65
  203. package/dist/Icon/IconList/Eye.js +25 -65
  204. package/dist/Icon/IconList/EyeClose.js +25 -65
  205. package/dist/Icon/IconList/Left.js +25 -65
  206. package/dist/Icon/IconList/Link.js +19 -55
  207. package/dist/Icon/IconList/More.js +25 -65
  208. package/dist/Icon/IconList/Question.js +25 -65
  209. package/dist/Icon/IconList/Right.js +25 -65
  210. package/dist/Icon/IconList/Search.js +25 -65
  211. package/dist/Icon/IconList/Up.js +25 -65
  212. package/dist/Icon/IconList/Upload.js +25 -65
  213. package/dist/Icon/IconList/index.js +14 -68
  214. package/dist/Icon/index.js +2 -42
  215. package/dist/Icon/typings.js +1 -17
  216. package/dist/Input/Input.js +335 -358
  217. package/dist/Input/InputGroup.js +27 -43
  218. package/dist/Input/InputRange.js +295 -308
  219. package/dist/Input/TextArea.js +129 -120
  220. package/dist/Input/index.js +3 -45
  221. package/dist/Input/typings.d.ts +1 -1
  222. package/dist/Input/typings.js +1 -17
  223. package/dist/InputNumber/InputNumber.d.ts +2 -2
  224. package/dist/InputNumber/InputNumber.js +225 -204
  225. package/dist/InputNumber/index.js +1 -39
  226. package/dist/InputNumber/typings.d.ts +1 -1
  227. package/dist/InputNumber/typings.js +1 -17
  228. package/dist/Link/Link.js +57 -60
  229. package/dist/Link/index.js +1 -39
  230. package/dist/Link/typings.d.ts +3 -1
  231. package/dist/Link/typings.js +1 -17
  232. package/dist/Loading/Loading.d.ts +7 -2
  233. package/dist/Loading/Loading.js +148 -60
  234. package/dist/Loading/index.js +1 -39
  235. package/dist/Loading/typings.d.ts +7 -1
  236. package/dist/Loading/typings.js +1 -17
  237. package/dist/Menu/Menu.d.ts +4 -0
  238. package/dist/Menu/Menu.js +281 -0
  239. package/dist/Menu/MenuCollapseTransition.d.ts +6 -0
  240. package/dist/Menu/MenuCollapseTransition.js +40 -0
  241. package/dist/Menu/MenuContext.d.ts +18 -0
  242. package/dist/Menu/MenuContext.js +20 -0
  243. package/dist/Menu/MenuItem.d.ts +7 -0
  244. package/dist/Menu/MenuItem.js +77 -0
  245. package/dist/Menu/MenuItemGroup.d.ts +7 -0
  246. package/dist/Menu/MenuItemGroup.js +45 -0
  247. package/dist/Menu/SubMenu.d.ts +7 -0
  248. package/dist/Menu/SubMenu.js +287 -0
  249. package/dist/Menu/SubMenuCollapseTransition.d.ts +6 -0
  250. package/dist/Menu/SubMenuCollapseTransition.js +52 -0
  251. package/dist/Menu/index.d.ts +5 -0
  252. package/dist/Menu/index.js +4 -0
  253. package/dist/Menu/typings.d.ts +121 -0
  254. package/dist/Menu/typings.js +1 -0
  255. package/dist/Menu/useEllipsis.d.ts +6 -0
  256. package/dist/Menu/useEllipsis.js +82 -0
  257. package/dist/Message/Main.d.ts +0 -7
  258. package/dist/Message/Main.js +34 -66
  259. package/dist/Message/Message.d.ts +2 -2
  260. package/dist/Message/Message.js +169 -131
  261. package/dist/Message/index.d.ts +0 -8
  262. package/dist/Message/index.js +71 -93
  263. package/dist/Message/typings.js +1 -17
  264. package/dist/MessageBox/Main.js +43 -68
  265. package/dist/MessageBox/MessageBox.js +270 -202
  266. package/dist/MessageBox/index.d.ts +5 -5
  267. package/dist/MessageBox/index.js +75 -79
  268. package/dist/MessageBox/typings.d.ts +1 -0
  269. package/dist/MessageBox/typings.js +1 -17
  270. package/dist/Notification/Main.d.ts +0 -7
  271. package/dist/Notification/Main.js +34 -66
  272. package/dist/Notification/Notification.js +151 -131
  273. package/dist/Notification/index.d.ts +0 -8
  274. package/dist/Notification/index.js +67 -92
  275. package/dist/Notification/typings.d.ts +0 -2
  276. package/dist/Notification/typings.js +1 -17
  277. package/dist/Pagination/Options.d.ts +7 -2
  278. package/dist/Pagination/Options.js +130 -109
  279. package/dist/Pagination/Pager.js +30 -61
  280. package/dist/Pagination/Pagination.js +470 -418
  281. package/dist/Pagination/index.js +1 -39
  282. package/dist/Pagination/typings.d.ts +27 -28
  283. package/dist/Pagination/typings.js +1 -17
  284. package/dist/Pagination/util.js +10 -41
  285. package/dist/Popconfirm/Popconfirm.d.ts +3 -2
  286. package/dist/Popconfirm/Popconfirm.js +126 -117
  287. package/dist/Popconfirm/index.js +1 -39
  288. package/dist/Popconfirm/typings.d.ts +2 -1
  289. package/dist/Popconfirm/typings.js +1 -17
  290. package/dist/Popover/Popover.d.ts +3 -2
  291. package/dist/Popover/Popover.js +96 -91
  292. package/dist/Popover/index.js +1 -39
  293. package/dist/Popover/typings.d.ts +1 -2
  294. package/dist/Popover/typings.js +1 -17
  295. package/dist/Popper/Popper.js +177 -149
  296. package/dist/Popper/index.js +1 -39
  297. package/dist/Popper/popperOptions.d.ts +7 -6
  298. package/dist/Popper/popperOptions.js +126 -89
  299. package/dist/Popper/typings.d.ts +1 -0
  300. package/dist/Popper/typings.js +1 -17
  301. package/dist/Progress/Progress.js +186 -155
  302. package/dist/Progress/index.js +1 -39
  303. package/dist/Progress/typings.js +1 -17
  304. package/dist/Radio/Radio.js +163 -117
  305. package/dist/Radio/RadioButton.d.ts +2 -2
  306. package/dist/Radio/RadioButton.js +138 -117
  307. package/dist/Radio/index.js +1 -39
  308. package/dist/Radio/typings.d.ts +3 -2
  309. package/dist/Radio/typings.js +1 -17
  310. package/dist/RadioGroup/RadioGroup.js +63 -78
  311. package/dist/RadioGroup/index.js +1 -39
  312. package/dist/RadioGroup/typings.js +1 -17
  313. package/dist/Row/Row.js +41 -62
  314. package/dist/Row/RowContext.js +3 -31
  315. package/dist/Row/index.js +2 -42
  316. package/dist/Row/typings.js +1 -17
  317. package/dist/Scrollbar/Scrollbar.js +172 -133
  318. package/dist/Scrollbar/Thumb.js +108 -96
  319. package/dist/Scrollbar/index.js +1 -39
  320. package/dist/Scrollbar/typings.d.ts +11 -2
  321. package/dist/Scrollbar/typings.js +1 -17
  322. package/dist/Scrollbar/util.js +24 -51
  323. package/dist/Select/Option.js +50 -75
  324. package/dist/Select/OptionGroup.js +31 -47
  325. package/dist/Select/Select.d.ts +3 -15
  326. package/dist/Select/Select.js +22 -51
  327. package/dist/Select/SelectContext.js +8 -46
  328. package/dist/Select/SelectCore.js +494 -382
  329. package/dist/Select/SelectDropdown.js +262 -162
  330. package/dist/Select/index.d.ts +1 -0
  331. package/dist/Select/index.js +3 -42
  332. package/dist/Select/typings.d.ts +19 -2
  333. package/dist/Select/typings.js +1 -17
  334. package/dist/Skeleton/PlaceholderGraph.d.ts +1 -1
  335. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  336. package/dist/Skeleton/PlaceholderGrid.d.ts +1 -1
  337. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  338. package/dist/Skeleton/PlaceholderParagraph.d.ts +2 -2
  339. package/dist/Skeleton/PlaceholderParagraph.js +56 -52
  340. package/dist/Skeleton/Skeleton.d.ts +2 -9
  341. package/dist/Skeleton/Skeleton.js +93 -40
  342. package/dist/Skeleton/SkeletonContext.d.ts +17 -0
  343. package/dist/Skeleton/SkeletonContext.js +5 -0
  344. package/dist/Skeleton/SkeletonItem.d.ts +4 -0
  345. package/dist/Skeleton/SkeletonItem.js +47 -0
  346. package/dist/Skeleton/index.d.ts +2 -3
  347. package/dist/Skeleton/index.js +2 -39
  348. package/dist/Skeleton/typings.d.ts +29 -0
  349. package/dist/Skeleton/typings.js +1 -0
  350. package/dist/Switch/Switch.js +215 -153
  351. package/dist/Switch/index.js +1 -39
  352. package/dist/Switch/typings.d.ts +4 -0
  353. package/dist/Switch/typings.js +1 -17
  354. package/dist/Table/Colgroup.js +17 -41
  355. package/dist/Table/Table.d.ts +1 -2
  356. package/dist/Table/Table.js +254 -188
  357. package/dist/Table/TableBody.js +265 -200
  358. package/dist/Table/TableCell.js +461 -320
  359. package/dist/Table/TableColumn.js +9 -43
  360. package/dist/Table/TableContext.js +44 -63
  361. package/dist/Table/TableHeader.js +112 -102
  362. package/dist/Table/TableHeaderCell.js +214 -161
  363. package/dist/Table/hooks/useResize.js +69 -83
  364. package/dist/Table/hooks/useScroll.js +88 -114
  365. package/dist/Table/hooks/useSelection.d.ts +3 -3
  366. package/dist/Table/hooks/useSelection.js +145 -110
  367. package/dist/Table/hooks/useTable.d.ts +0 -7
  368. package/dist/Table/hooks/useTable.js +404 -310
  369. package/dist/Table/index.js +2 -42
  370. package/dist/Table/treeUtil.js +99 -77
  371. package/dist/Table/typings.d.ts +1 -1
  372. package/dist/Table/typings.js +1 -17
  373. package/dist/Table/util.d.ts +2 -4
  374. package/dist/Table/util.js +168 -109
  375. package/dist/Tabs/TabPane.js +51 -53
  376. package/dist/Tabs/Tabs.d.ts +2 -2
  377. package/dist/Tabs/Tabs.js +282 -179
  378. package/dist/Tabs/TabsContext.js +4 -32
  379. package/dist/Tabs/index.js +2 -42
  380. package/dist/Tabs/typings.d.ts +2 -0
  381. package/dist/Tabs/typings.js +1 -17
  382. package/dist/Tag/Tag.d.ts +1 -1
  383. package/dist/Tag/Tag.js +87 -75
  384. package/dist/Tag/index.js +1 -39
  385. package/dist/Tag/typings.d.ts +1 -1
  386. package/dist/Tag/typings.js +1 -17
  387. package/dist/TimeLine/TimeLine.js +14 -42
  388. package/dist/TimeLine/TimeLineItem.js +67 -54
  389. package/dist/TimeLine/index.js +2 -42
  390. package/dist/TimeLine/typings.d.ts +2 -2
  391. package/dist/TimeLine/typings.js +1 -17
  392. package/dist/TimePicker/TimePicker.d.ts +1 -4
  393. package/dist/TimePicker/TimePicker.js +275 -215
  394. package/dist/TimePicker/TimePickerPanel.js +62 -71
  395. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  396. package/dist/TimePicker/TimePickerRange.js +371 -334
  397. package/dist/TimePicker/TimeRangePanel.js +182 -165
  398. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  399. package/dist/TimePicker/index.d.ts +2 -3
  400. package/dist/TimePicker/index.js +1 -42
  401. package/dist/TimePicker/main.d.ts +9 -0
  402. package/dist/TimePicker/main.js +17 -0
  403. package/dist/TimePicker/typings.d.ts +29 -24
  404. package/dist/TimePicker/typings.js +1 -17
  405. package/dist/TimePicker/useTimePicker.d.ts +0 -7
  406. package/dist/TimePicker/useTimePicker.js +56 -66
  407. package/dist/TimePicker/util.js +8 -40
  408. package/dist/Tooltip/Tooltip.d.ts +3 -3
  409. package/dist/Tooltip/Tooltip.js +174 -180
  410. package/dist/Tooltip/TooltipContext.js +8 -46
  411. package/dist/Tooltip/index.js +2 -42
  412. package/dist/Tooltip/typings.js +1 -17
  413. package/dist/Transfer/List.js +290 -241
  414. package/dist/Transfer/ListBody.js +92 -106
  415. package/dist/Transfer/ListItem.js +38 -51
  416. package/dist/Transfer/Transfer.js +323 -280
  417. package/dist/Transfer/index.js +1 -39
  418. package/dist/Transfer/interface.js +1 -17
  419. package/dist/Transfer/operation.js +35 -48
  420. package/dist/Transfer/search.js +30 -62
  421. package/dist/Transfer/typings/index.js +1 -17
  422. package/dist/Transfer/typings/list.js +1 -17
  423. package/dist/Transfer/typings/listBody.js +2 -30
  424. package/dist/Transition/CssTransiton.d.ts +15 -0
  425. package/dist/Transition/CssTransiton.js +29 -0
  426. package/dist/Transition/Transition.d.ts +2 -0
  427. package/dist/Transition/Transition.js +276 -234
  428. package/dist/Transition/TransitionGroup.js +136 -88
  429. package/dist/Transition/TransitionGroupContext.js +2 -26
  430. package/dist/Transition/childMapping.js +84 -71
  431. package/dist/Transition/index.js +2 -42
  432. package/dist/Transition/util.d.ts +0 -1
  433. package/dist/Transition/util.js +6 -47
  434. package/dist/Tree/DirectoryTree.js +146 -118
  435. package/dist/Tree/DropIndicator.js +15 -45
  436. package/dist/Tree/Indent.js +23 -54
  437. package/dist/Tree/MotionTreeNode.js +94 -95
  438. package/dist/Tree/NodeList.js +228 -221
  439. package/dist/Tree/RCTree.js +969 -702
  440. package/dist/Tree/Tree.js +64 -79
  441. package/dist/Tree/TreeNode.js +254 -255
  442. package/dist/Tree/contextTypes.js +8 -42
  443. package/dist/Tree/index.js +4 -48
  444. package/dist/Tree/typings.js +1 -17
  445. package/dist/Tree/useUnmount.js +21 -41
  446. package/dist/Tree/util.js +156 -134
  447. package/dist/Tree/utils/conductUtil.js +113 -104
  448. package/dist/Tree/utils/dictUtil.js +50 -78
  449. package/dist/Tree/utils/diffUtil.js +26 -43
  450. package/dist/Tree/utils/dropIndicator.js +23 -51
  451. package/dist/Tree/utils/iconUtil.js +44 -51
  452. package/dist/Tree/utils/keyUtil.js +2 -26
  453. package/dist/Tree/utils/motion.js +34 -72
  454. package/dist/Tree/utils/pickAttrs.js +30 -58
  455. package/dist/Tree/utils/treeUtil.js +263 -203
  456. package/dist/TreeSelect/TreeSelect.d.ts +1 -1
  457. package/dist/TreeSelect/TreeSelect.js +521 -459
  458. package/dist/TreeSelect/Utils.js +15 -36
  459. package/dist/TreeSelect/index.js +1 -39
  460. package/dist/TreeSelect/typings.d.ts +1 -1
  461. package/dist/TreeSelect/typings.js +1 -17
  462. package/dist/Upload/Upload.js +106 -109
  463. package/dist/Upload/UploadContent.js +227 -182
  464. package/dist/Upload/UploadContext.js +5 -33
  465. package/dist/Upload/UploadDrag.js +77 -97
  466. package/dist/Upload/UploadList.js +104 -73
  467. package/dist/Upload/ajax.js +45 -71
  468. package/dist/Upload/index.js +1 -39
  469. package/dist/Upload/typings.js +34 -36
  470. package/dist/Upload/use-handlers.js +182 -126
  471. package/dist/Util/Math.js +81 -78
  472. package/dist/Util/PopupManager.js +5 -27
  473. package/dist/Util/base.js +102 -172
  474. package/dist/Util/genFileId.js +3 -29
  475. package/dist/Util/index.js +6 -51
  476. package/dist/Util/resize-event.js +31 -54
  477. package/dist/Util/shallowEqual.js +30 -28
  478. package/dist/Util/treeUtils.js +68 -64
  479. package/dist/config/Constants.js +17 -47
  480. package/dist/display.css +1 -0
  481. package/dist/fonts/fa-brands-400.ttf +0 -0
  482. package/dist/fonts/fa-brands-400.woff2 +0 -0
  483. package/dist/fonts/fa-duotone-900.ttf +0 -0
  484. package/dist/fonts/fa-duotone-900.woff2 +0 -0
  485. package/dist/fonts/fa-light-300.ttf +0 -0
  486. package/dist/fonts/fa-light-300.woff2 +0 -0
  487. package/dist/fonts/fa-regular-400.ttf +0 -0
  488. package/dist/fonts/fa-regular-400.woff2 +0 -0
  489. package/dist/fonts/fa-solid-900.ttf +0 -0
  490. package/dist/fonts/fa-solid-900.woff2 +0 -0
  491. package/dist/fonts/fa-thin-100.ttf +0 -0
  492. package/dist/fonts/fa-thin-100.woff2 +0 -0
  493. package/dist/fonts/fa-v4compatibility.ttf +0 -0
  494. package/dist/fonts/fa-v4compatibility.woff2 +0 -0
  495. package/dist/hooks/animationPropsUtils.d.ts +0 -4
  496. package/dist/hooks/animationPropsUtils.js +21 -49
  497. package/dist/hooks/htmlPropsUtils.js +54 -121
  498. package/dist/hooks/index.js +14 -73
  499. package/dist/hooks/popperPropsUtils.d.ts +0 -4
  500. package/dist/hooks/popperPropsUtils.js +21 -67
  501. package/dist/hooks/prefix.js +22 -55
  502. package/dist/hooks/treePropsUtils.js +24 -103
  503. package/dist/hooks/useChildrenInstance.d.ts +0 -4
  504. package/dist/hooks/useChildrenInstance.js +47 -60
  505. package/dist/hooks/useClassNames.d.ts +3 -0
  506. package/dist/hooks/useClassNames.js +284 -192
  507. package/dist/hooks/useClickOutside.js +37 -62
  508. package/dist/hooks/useCommonProps.js +20 -53
  509. package/dist/hooks/useComponentWillMount.js +4 -28
  510. package/dist/hooks/useControlled.js +31 -37
  511. package/dist/hooks/useCssTransiton.d.ts +27 -0
  512. package/dist/hooks/useCssTransiton.js +87 -0
  513. package/dist/hooks/useForceUpdate.js +16 -34
  514. package/dist/hooks/useResizeObserver.d.ts +42 -0
  515. package/dist/hooks/useResizeObserver.js +42 -0
  516. package/dist/hooks/useUpdateEffect.js +6 -29
  517. package/dist/index.css +1 -12945
  518. package/dist/index.d.ts +15 -10
  519. package/dist/index.js +73 -234
  520. package/dist/locale/en.d.ts +181 -0
  521. package/dist/locale/en.js +180 -0
  522. package/dist/locale/i18n.d.ts +2 -0
  523. package/dist/locale/i18n.js +44 -0
  524. package/dist/locale/zhCn.d.ts +180 -0
  525. package/dist/locale/zhCn.js +179 -0
  526. package/dist/types/common.d.ts +2 -2
  527. package/dist/types/common.js +1 -17
  528. package/dist/types/type.js +16 -28
  529. package/package.json +11 -24
  530. package/theme-chalk/aside.scss +8 -0
  531. package/theme-chalk/avatar.scss +50 -0
  532. package/{dist/theme-chalk/badge/index.scss → theme-chalk/badge.scss} +1 -1
  533. package/{dist/theme-chalk/breadcrumb/index.scss → theme-chalk/breadcrumb.scss} +1 -1
  534. package/theme-chalk/build.scss +2 -0
  535. package/theme-chalk/button/_mixins.scss +317 -0
  536. package/theme-chalk/button/button-group.scss +83 -0
  537. package/theme-chalk/button/button.scss +382 -0
  538. package/theme-chalk/button/index.scss +2 -0
  539. package/{dist/theme-chalk/button → theme-chalk/button--bak}/_mixins.scss +3 -3
  540. package/{dist/theme-chalk/button → theme-chalk/button--bak}/button-group.scss +1 -1
  541. package/{dist/theme-chalk/button → theme-chalk/button--bak}/button.scss +2 -2
  542. package/theme-chalk/button--bak/index.scss +2 -0
  543. package/theme-chalk/button-group.scss +80 -0
  544. package/theme-chalk/button.scss +304 -0
  545. package/{dist/theme-chalk → theme-chalk}/calendar/date-picker.scss +1 -1
  546. package/{dist/theme-chalk → theme-chalk}/calendar/date-range-picker.scss +1 -1
  547. package/theme-chalk/calendar/date-table.scss +164 -0
  548. package/{dist/theme-chalk/calendar/date-table.scss → theme-chalk/calendar/date-table.scss--bak} +1 -1
  549. package/theme-chalk/calendar/index.scss +6 -0
  550. package/{dist/theme-chalk → theme-chalk}/calendar/month-table.scss +1 -1
  551. package/{dist/theme-chalk → theme-chalk}/calendar/picker-panel.scss +1 -1
  552. package/{dist/theme-chalk → theme-chalk}/calendar/year-table.scss +1 -1
  553. package/{dist/theme-chalk/card/index.scss → theme-chalk/card.scss} +1 -1
  554. package/{dist/theme-chalk/carousel/index.scss → theme-chalk/carousel.scss} +1 -1
  555. package/{dist/theme-chalk/cascader → theme-chalk}/cascader-panel.scss +1 -1
  556. package/{dist/theme-chalk/cascader → theme-chalk}/cascader.scss +1 -1
  557. package/{dist/theme-chalk/checkbox-button/index.scss → theme-chalk/checkbox-button.scss} +1 -1
  558. package/{dist/theme-chalk/checkbox-group/index.scss → theme-chalk/checkbox-group.scss} +1 -1
  559. package/{dist/theme-chalk/checkbox/index.scss → theme-chalk/checkbox.scss} +4 -3
  560. package/{dist/theme-chalk → theme-chalk}/col/_mixins.scss +5 -3
  561. package/{dist/theme-chalk → theme-chalk}/col/index.scss +2 -2
  562. package/{dist/theme-chalk/collapse/index.scss → theme-chalk/collapse.scss} +1 -1
  563. package/theme-chalk/color/index.scss +20 -0
  564. package/{dist/theme-chalk/color-picker/index.scss → theme-chalk/color-picker.scss} +3 -3
  565. package/theme-chalk/common/index.scss +171 -0
  566. package/theme-chalk/common/transition.scss +142 -0
  567. package/theme-chalk/common/var.scss +1632 -0
  568. package/theme-chalk/container.scss +14 -0
  569. package/theme-chalk/dark/css-vars.scss +39 -0
  570. package/theme-chalk/dark/var.scss +225 -0
  571. package/{dist/theme-chalk/date-picker/index.scss → theme-chalk/date-picker.scss} +2 -2
  572. package/{dist/theme-chalk/date-time-picker/time-picker.scss → theme-chalk/date-time-picker.scss} +1 -1
  573. package/{dist/theme-chalk/descriptions → theme-chalk}/descriptions-item.scss +1 -1
  574. package/{dist/theme-chalk/descriptions → theme-chalk}/descriptions.scss +1 -1
  575. package/theme-chalk/dev.scss +2 -0
  576. package/{dist/theme-chalk/dialog/index.scss → theme-chalk/dialog.scss} +1 -1
  577. package/theme-chalk/display.scss +46 -0
  578. package/{dist/theme-chalk/divider/index.scss → theme-chalk/divider.scss} +1 -1
  579. package/theme-chalk/doc.scss +2 -0
  580. package/{dist/theme-chalk/drawer/index.scss → theme-chalk/drawer.scss} +62 -66
  581. package/{dist/theme-chalk/dropdown/index.scss → theme-chalk/dropdown.scss} +1 -1
  582. package/{dist/theme-chalk/empty/index.scss → theme-chalk/empty.scss} +1 -1
  583. package/theme-chalk/fonts/fa-brands-400.ttf +0 -0
  584. package/theme-chalk/fonts/fa-brands-400.woff2 +0 -0
  585. package/theme-chalk/fonts/fa-duotone-900.ttf +0 -0
  586. package/theme-chalk/fonts/fa-duotone-900.woff2 +0 -0
  587. package/theme-chalk/fonts/fa-light-300.ttf +0 -0
  588. package/theme-chalk/fonts/fa-light-300.woff2 +0 -0
  589. package/theme-chalk/fonts/fa-regular-400.ttf +0 -0
  590. package/theme-chalk/fonts/fa-regular-400.woff2 +0 -0
  591. package/theme-chalk/fonts/fa-solid-900.ttf +0 -0
  592. package/theme-chalk/fonts/fa-solid-900.woff2 +0 -0
  593. package/theme-chalk/fonts/fa-thin-100.ttf +0 -0
  594. package/theme-chalk/fonts/fa-thin-100.woff2 +0 -0
  595. package/theme-chalk/fonts/fa-v4compatibility.ttf +0 -0
  596. package/theme-chalk/fonts/fa-v4compatibility.woff2 +0 -0
  597. package/theme-chalk/footer.scss +12 -0
  598. package/{dist/theme-chalk/form/index.scss → theme-chalk/form.scss} +22 -3
  599. package/theme-chalk/header.scss +12 -0
  600. package/theme-chalk/icon/fonts.scss +9 -0
  601. package/{dist/theme-chalk → theme-chalk}/icon/index.scss +1 -1
  602. package/{dist/theme-chalk → theme-chalk}/icon/scss/_animated.scss +1 -0
  603. package/{dist/theme-chalk → theme-chalk}/icon/scss/_bordered-pulled.scss +1 -0
  604. package/{dist/theme-chalk → theme-chalk}/icon/scss/_core.scss +2 -0
  605. package/{dist/theme-chalk → theme-chalk}/icon/scss/_duotone-icons.scss +3 -4
  606. package/{dist/theme-chalk → theme-chalk}/icon/scss/_fixed-width.scss +1 -0
  607. package/{dist/theme-chalk → theme-chalk}/icon/scss/_functions.scss +2 -1
  608. package/theme-chalk/icon/scss/_icons.scss +10 -0
  609. package/{dist/theme-chalk → theme-chalk}/icon/scss/_list.scss +1 -0
  610. package/{dist/theme-chalk → theme-chalk}/icon/scss/_mixins.scss +10 -7
  611. package/{dist/theme-chalk → theme-chalk}/icon/scss/_rotated-flipped.scss +1 -0
  612. package/{dist/theme-chalk → theme-chalk}/icon/scss/_screen-reader.scss +2 -0
  613. package/{dist/theme-chalk → theme-chalk}/icon/scss/_shims.scss +610 -608
  614. package/{dist/theme-chalk → theme-chalk}/icon/scss/_sizing.scss +2 -0
  615. package/{dist/theme-chalk → theme-chalk}/icon/scss/_stacked.scss +1 -0
  616. package/theme-chalk/icon/scss/brands.scss +29 -0
  617. package/{dist/theme-chalk → theme-chalk}/icon/scss/duotone.scss +6 -10
  618. package/theme-chalk/icon/scss/fontawesome.scss +13 -0
  619. package/theme-chalk/icon/scss/index.scss +12 -0
  620. package/{dist/theme-chalk → theme-chalk}/icon/scss/light.scss +5 -9
  621. package/{dist/theme-chalk → theme-chalk}/icon/scss/regular.scss +5 -9
  622. package/{dist/theme-chalk → theme-chalk}/icon/scss/solid.scss +5 -9
  623. package/{dist/theme-chalk → theme-chalk}/icon/scss/thin.scss +5 -9
  624. package/{dist/theme-chalk/icon/scss/_variables.scss → theme-chalk/icon/scss/variables.scss} +3 -3
  625. package/theme-chalk/index.scss +81 -0
  626. package/{dist/theme-chalk → theme-chalk}/input/_mixins.scss +1 -1
  627. package/theme-chalk/input/index.scss +2 -0
  628. package/{dist/theme-chalk → theme-chalk}/input/input-range.scss +2 -1
  629. package/{dist/theme-chalk → theme-chalk}/input/input.scss +2 -1
  630. package/{dist/theme-chalk/input-number/index.scss → theme-chalk/input-number.scss} +4 -4
  631. package/theme-chalk/link.scss +87 -0
  632. package/{dist/theme-chalk/link/index.scss → theme-chalk/link.scss--bak} +1 -1
  633. package/{dist/theme-chalk/loading/index.scss → theme-chalk/loading.scss} +6 -8
  634. package/theme-chalk/main.scss +14 -0
  635. package/theme-chalk/menu-item-group.scss +0 -0
  636. package/theme-chalk/menu-item.scss +0 -0
  637. package/theme-chalk/menu.scss +353 -0
  638. package/{dist/theme-chalk/message-box/index.scss → theme-chalk/message-box.scss} +1 -1
  639. package/{dist/theme-chalk/message/index.scss → theme-chalk/message.scss} +18 -9
  640. package/theme-chalk/mixins/_button.scss +224 -0
  641. package/theme-chalk/mixins/_col.scss +33 -0
  642. package/theme-chalk/mixins/_var.scss +67 -0
  643. package/{dist/theme-chalk/common/_var.scss → theme-chalk/mixins/config.scss} +5 -5
  644. package/theme-chalk/mixins/function.scss +99 -0
  645. package/theme-chalk/mixins/mixins.scss +240 -0
  646. package/theme-chalk/mixins/utils.scss +39 -0
  647. package/{dist/theme-chalk/notification/index.scss → theme-chalk/notification.scss} +7 -6
  648. package/theme-chalk/pagination.scss +303 -0
  649. package/{dist/theme-chalk/popconfirm/index.scss → theme-chalk/popconfirm.scss} +1 -1
  650. package/{dist/theme-chalk/popover/index.scss → theme-chalk/popover.scss} +1 -1
  651. package/theme-chalk/popper.scss +104 -0
  652. package/{dist/theme-chalk/popper/index.scss → theme-chalk/popper.scss--bak} +1 -1
  653. package/{dist/theme-chalk/progress/index.scss → theme-chalk/progress.scss} +1 -1
  654. package/theme-chalk/radio-button.scss +169 -0
  655. package/{dist/theme-chalk/radio/radio-button.scss → theme-chalk/radio-button.scss--bak} +1 -1
  656. package/{dist/theme-chalk/radio-group/index.scss → theme-chalk/radio-group.scss} +1 -10
  657. package/{dist/theme-chalk/radio → theme-chalk}/radio.scss +1 -1
  658. package/{dist/theme-chalk/row/index.scss → theme-chalk/row.scss} +1 -1
  659. package/{dist/theme-chalk/scrollbar/index.scss → theme-chalk/scrollbar.scss} +1 -1
  660. package/{dist/theme-chalk → theme-chalk}/select/index.scss +11 -8
  661. package/{dist/theme-chalk/placeholder/index.scss → theme-chalk/skeleton.scss} +23 -38
  662. package/theme-chalk/switch.scss +300 -0
  663. package/{dist/theme-chalk/switch/index.scss → theme-chalk/switch.scss--bak} +1 -1
  664. package/{dist/theme-chalk/table/index.scss → theme-chalk/table.scss} +1 -1
  665. package/{dist/theme-chalk/tabs/index.scss → theme-chalk/tabs.scss} +5 -5
  666. package/theme-chalk/tag.scss +203 -0
  667. package/{dist/theme-chalk/time-line/_timeline.scss → theme-chalk/time-line.scss} +1 -1
  668. package/{dist/theme-chalk/time-picker/index.scss → theme-chalk/time-picker.scss} +1 -1
  669. package/{dist/theme-chalk/date-time-picker → theme-chalk}/time-range-picker.scss +1 -1
  670. package/{dist/theme-chalk/time-line/_timeline-item.scss → theme-chalk/timeline-item.scss} +2 -2
  671. package/{dist/theme-chalk/tooltip/index.scss → theme-chalk/tooltip.scss} +1 -1
  672. package/{dist/theme-chalk/transfer/index.scss → theme-chalk/transfer.scss} +1 -1
  673. package/{dist/theme-chalk/transition/index.scss → theme-chalk/transition.scss} +1 -1
  674. package/{dist/theme-chalk → theme-chalk}/tree/_directory.scss +1 -1
  675. package/{dist/theme-chalk → theme-chalk}/tree/_tree.scss +1 -1
  676. package/theme-chalk/tree/index.scss +2 -0
  677. package/{dist/theme-chalk/tree-select/index.scss → theme-chalk/tree-select.scss} +1 -1
  678. package/{dist/theme-chalk/upload/index.scss → theme-chalk/upload.scss} +1 -1
  679. package/theme-chalk/var.scss +83 -0
  680. package/dist/theme-chalk/button/index.scss +0 -2
  681. package/dist/theme-chalk/calendar/index.scss +0 -6
  682. package/dist/theme-chalk/cascader/index.scss +0 -2
  683. package/dist/theme-chalk/common/index.d.ts +0 -1
  684. package/dist/theme-chalk/common/index.js +0 -2
  685. package/dist/theme-chalk/common/index.scss +0 -222
  686. package/dist/theme-chalk/date-time-picker/index.scss +0 -3
  687. package/dist/theme-chalk/descriptions/index.scss +0 -2
  688. package/dist/theme-chalk/dev.scss +0 -2
  689. package/dist/theme-chalk/icon/fonts.scss +0 -8
  690. package/dist/theme-chalk/icon/scss/_icons.scss +0 -11
  691. package/dist/theme-chalk/icon/scss/brands.scss +0 -32
  692. package/dist/theme-chalk/icon/scss/fontawesome.scss +0 -21
  693. package/dist/theme-chalk/icon/scss/index.scss +0 -15
  694. package/dist/theme-chalk/icon/scss/v4-shims.scss +0 -11
  695. package/dist/theme-chalk/index.scss +0 -65
  696. package/dist/theme-chalk/input/index.scss +0 -3
  697. package/dist/theme-chalk/pagination/index.scss +0 -515
  698. package/dist/theme-chalk/radio/index.scss +0 -2
  699. package/dist/theme-chalk/tag/index.scss +0 -360
  700. package/dist/theme-chalk/time-line/index.scss +0 -2
  701. package/dist/theme-chalk/tree/index.scss +0 -2
  702. /package/{dist/theme-chalk → theme-chalk}/select/option-group.scss +0 -0
  703. /package/{dist/theme-chalk → theme-chalk}/select/option.scss +0 -0
  704. /package/{dist/theme-chalk → theme-chalk}/select/select-dropdown.scss +0 -0
@@ -1,433 +1,545 @@
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", "tagType", "tagEffect", "showArrow", "collapseTips", "filterMethod", "onChange", "allowCreate", "onEnter", "afterLeave", "prepend", "append", "onLoadSuccess", "onVisibleChange", "onRemoveTag", "onClear"];
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 { useTranslation } from 'react-i18next';
31
+ import { useConfigProvider } from "../ConfigProvider/ConfigProviderContext";
32
+ import Icon from "../Icon/Icon";
33
+ import Input from "../Input/Input";
34
+ import Popper from "../Popper/Popper";
35
+ import { Tag } from "../Tag";
36
+ import Tooltip from "../Tooltip/Tooltip";
37
+ import { isNotEmpty, mergeDefaultProps } from "../Util";
38
+ import { partitionAnimationProps, partitionHTMLProps, partitionPopperPropsUtils, useChildrenInstance, useClassNames, useControlled, useDisabled, useSize } from "../hooks";
39
+ import SelectDropdown from "./SelectDropdown";
40
+ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
41
+ var _useConfigProvider = useConfigProvider(),
42
+ locale = _useConfigProvider.locale;
43
+ var _useTranslation = useTranslation(),
44
+ t = _useTranslation.t;
45
+ props = mergeDefaultProps({
46
+ placeholder: t('el.select.placeholder', {
47
+ lng: locale
48
+ }),
49
+ noDataText: t('el.select.noData', {
50
+ lng: locale
51
+ }),
52
+ noMatchText: t('el.select.noMatch', {
53
+ lng: locale
54
+ }),
55
+ loadingText: /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Icon, {
56
+ prefix: "fas",
57
+ name: "spinner",
58
+ spin: true
59
+ }), " ", t('el.select.loading', {
60
+ lng: locale
61
+ })),
62
+ showArrow: true,
63
+ clearable: true,
64
+ filterable: false,
65
+ error: false,
66
+ required: false,
67
+ disabled: false,
68
+ maxWidth: 500,
69
+ collapseTagsTooltip: true,
70
+ maxCollapseTags: 1,
71
+ tagType: 'info',
72
+ tagEffect: 'light'
73
+ }, props);
74
+ var _useClassNames = useClassNames('select'),
75
+ b = _useClassNames.b,
76
+ e = _useClassNames.e,
77
+ be = _useClassNames.be,
78
+ m = _useClassNames.m,
79
+ is = _useClassNames.is;
80
+ // 选择框容器div
81
+ var containerRef = useRef(null);
82
+ // 下拉选项容器div
83
+ var contentRef = useRef(null);
84
+ var wrapperRef = useRef(null);
85
+ var createInputRef = useRef(null);
86
+ var popperInstRef = useRef(null);
87
+ var selectDropdownRef = useRef(null);
88
+ var inputInstance = useRef(null);
89
+ var searchInstance = useRef(null);
90
+ var tagTooltipRef = useRef(null);
91
+ var _props = props,
92
+ filterable = _props.filterable,
93
+ clearable = _props.clearable,
94
+ error = _props.error,
95
+ warning = _props.warning,
96
+ multiple = _props.multiple,
97
+ _props$collapseTags = _props.collapseTags,
98
+ collapseTags = _props$collapseTags === void 0 ? false : _props$collapseTags,
99
+ maxCollapseTags = _props.maxCollapseTags,
100
+ collapseTagsTooltip = _props.collapseTagsTooltip,
101
+ tagType = _props.tagType,
102
+ tagEffect = _props.tagEffect,
103
+ showArrow = _props.showArrow,
104
+ collapseTips = _props.collapseTips,
105
+ filterMethod = _props.filterMethod,
106
+ onChange = _props.onChange,
107
+ allowCreate = _props.allowCreate,
108
+ onEnter = _props.onEnter,
109
+ afterLeave = _props.afterLeave,
110
+ prepend = _props.prepend,
111
+ append = _props.append,
112
+ onLoadSuccess = _props.onLoadSuccess,
113
+ onVisibleChange = _props.onVisibleChange,
114
+ onRemoveTag = _props.onRemoveTag,
115
+ onClearProp = _props.onClear,
116
+ rest = _objectWithoutProperties(_props, _excluded);
117
+ var _partitionHTMLProps = partitionHTMLProps(rest),
118
+ _partitionHTMLProps2 = _slicedToArray(_partitionHTMLProps, 1),
119
+ htmlInputProps = _partitionHTMLProps2[0];
120
+ var _partitionAnimationPr = partitionAnimationProps(rest),
121
+ _partitionAnimationPr2 = _slicedToArray(_partitionAnimationPr, 1),
122
+ transitionProps = _partitionAnimationPr2[0];
123
+ var _partitionPopperProps = partitionPopperPropsUtils(rest),
124
+ _partitionPopperProps2 = _slicedToArray(_partitionPopperProps, 1),
125
+ popperProps = _partitionPopperProps2[0];
126
+ var _useControlled = useControlled(props.value, props.defaultValue),
127
+ _useControlled2 = _slicedToArray(_useControlled, 2),
128
+ value = _useControlled2[0],
129
+ setValue = _useControlled2[1];
130
+ var _useState = useState(''),
131
+ _useState2 = _slicedToArray(_useState, 2),
132
+ createItem = _useState2[0],
133
+ setCreateItem = _useState2[1];
134
+ var disabled = useDisabled(props.disabled);
135
+ var size = useSize(props.size);
28
136
 
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)(() => {
137
+ // 多选框值
138
+ var multiValue = useMemo(function () {
105
139
  if (multiple) {
106
140
  if (value instanceof Array) {
107
141
  return value;
108
- } else if (typeof value === "string") {
142
+ } else if (typeof value === 'string') {
109
143
  return [value];
110
144
  }
111
145
  }
112
146
  return [];
113
147
  }, [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;
148
+ // 单选框显示文本
149
+ var _useState3 = useState(''),
150
+ _useState4 = _slicedToArray(_useState3, 2),
151
+ label = _useState4[0],
152
+ setLabel = _useState4[1];
153
+ var _useState5 = useState(false),
154
+ _useState6 = _slicedToArray(_useState5, 2),
155
+ visible = _useState6[0],
156
+ setVisible = _useState6[1];
157
+ var _useState7 = useState({}),
158
+ _useState8 = _slicedToArray(_useState7, 2),
159
+ popperStyle = _useState8[0],
160
+ setPopperStyle = _useState8[1];
161
+ // 多选时input框高度
162
+ var _useState9 = useState(32),
163
+ _useState10 = _slicedToArray(_useState9, 2),
164
+ inputHeight = _useState10[0],
165
+ setInputHeight = _useState10[1];
166
+ // 占位符
167
+ var placeholder = useMemo(function () {
168
+ return multiple && isNotEmpty(multiValue) || isNotEmpty(createItem) ? '' : props.placeholder;
120
169
  }, [createItem, multiValue, multiple, props.placeholder]);
121
- const getOptionInstance = (0, import_hooks.useChildrenInstance)("Select.Option", "OptionGroup");
122
- const optionData = (0, import_react.useMemo)(() => {
170
+
171
+ /** 获取所有的option组件 */
172
+ var getOptionInstance = useChildrenInstance('ElOption', 'ElOptionGroup');
173
+ var optionData = useMemo(function () {
123
174
  if (props.children) {
124
- const componentChildren = getOptionInstance(props.children);
125
- return componentChildren.map((node) => {
126
- var _a;
175
+ var componentChildren = getOptionInstance(props.children);
176
+ return componentChildren.map(function (node) {
177
+ var _node$props$label, _node$props;
127
178
  return {
128
- label: ((_a = node.props) == null ? void 0 : _a.label) ?? node.props.value,
179
+ 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
180
  value: node.props.value
130
181
  };
131
182
  });
132
183
  }
133
184
  return [];
134
185
  }, [getOptionInstance, props.children]);
135
- const multiLabel = (0, import_react.useMemo)(() => {
186
+ var multiLabel = useMemo(function () {
136
187
  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;
188
+ return multiValue.map(function (item) {
189
+ var _find$label, _find;
190
+ return (_find$label = (_find = find(optionData, {
191
+ value: item
192
+ })) === null || _find === void 0 ? void 0 : _find.label) !== null && _find$label !== void 0 ? _find$label : item;
140
193
  });
141
194
  }
142
195
  return [];
143
196
  }, [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);
197
+
198
+ /** 动态计算下拉框宽度 */
199
+ var handleEnter = useCallback(function (node) {
200
+ if (visible && contentRef.current && containerRef.current) {
201
+ var _selectDropdownRef$cu, _selectDropdownRef$cu2;
202
+ var rect = containerRef.current.getBoundingClientRect();
203
+ // const { width } = contentRef.current.getBoundingClientRect();
204
+ var options = Array.from(contentRef.current.querySelectorAll(".".concat(be('dropdown', 'item'), ">span")));
205
+ var maxWidth = (options.length > 0 ? max(options.map(function (item) {
206
+ var _item$offsetWidth;
207
+ return (_item$offsetWidth = item === null || item === void 0 ? void 0 : item.offsetWidth) !== null && _item$offsetWidth !== void 0 ? _item$offsetWidth : 0;
208
+ })) : 0) + 35;
209
+ if (maxWidth && maxWidth < rect.width) {
210
+ setPopperStyle(_objectSpread(_objectSpread({}, popperStyle), {}, {
211
+ width: rect.width
212
+ }));
213
+ } else {
214
+ setPopperStyle(_objectSpread(_objectSpread({}, popperStyle), {}, {
215
+ width: min([maxWidth, props.maxWidth])
216
+ }));
164
217
  }
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;
218
+ (_selectDropdownRef$cu = selectDropdownRef.current) === null || _selectDropdownRef$cu === void 0 || _selectDropdownRef$cu.scrollToSelected();
219
+ onEnter === null || onEnter === void 0 || onEnter(node);
220
+ (_selectDropdownRef$cu2 = selectDropdownRef.current) === null || _selectDropdownRef$cu2 === void 0 || _selectDropdownRef$cu2.onEnter();
221
+ }
222
+ }, [be, onEnter, popperStyle, props.maxWidth, visible]);
223
+
224
+ /** 关闭下拉框后清空搜索项 */
225
+ var handleAfterLeave = useCallback(function (node) {
226
+ var _selectDropdownRef$cu3;
227
+ (_selectDropdownRef$cu3 = selectDropdownRef.current) === null || _selectDropdownRef$cu3 === void 0 || _selectDropdownRef$cu3.clear();
228
+ afterLeave === null || afterLeave === void 0 || afterLeave(node);
229
+ }, [afterLeave]);
230
+
231
+ /**
232
+ * 展开/关闭下拉框
233
+ * @param e
234
+ * @returns
235
+ */
236
+ var onClick = useCallback(function (event) {
237
+ event.preventDefault();
238
+ event === null || event === void 0 || event.stopPropagation();
239
+ if (disabled) {
240
+ setVisible(false);
241
+ return;
242
+ }
243
+ setVisible(!visible);
244
+ }, [disabled, visible]);
245
+
246
+ /** 取消多选项 */
247
+ var onCloseTag = useCallback(function (item) {
248
+ var res = filter(multiValue, function (item1) {
249
+ return item1 !== item;
250
+ });
251
+ setValue(res);
252
+ onChange === null || onChange === void 0 || onChange(res, multiLabel);
253
+ onRemoveTag === null || onRemoveTag === void 0 || onRemoveTag(item);
254
+ setTimeout(function () {
255
+ if (tagTooltipRef.current) {
256
+ tagTooltipRef.current.updatePopper();
183
257
  }
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("");
203
- }, [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
- }
258
+ }, 50);
259
+ }, [multiLabel, multiValue, onChange, onRemoveTag, setValue]);
260
+
261
+ /** 重置值 */
262
+ var onClear = useCallback(function () {
263
+ var _selectDropdownRef$cu4;
264
+ setValue(multiple ? [] : '');
265
+ setLabel('');
266
+ (_selectDropdownRef$cu4 = selectDropdownRef.current) === null || _selectDropdownRef$cu4 === void 0 || _selectDropdownRef$cu4.hover('');
267
+ onChange === null || onChange === void 0 || onChange(multiple ? [] : '', multiple ? [] : '');
268
+ setCreateItem('');
269
+ onClearProp === null || onClearProp === void 0 || onClearProp();
270
+ }, [multiple, onChange, onClearProp, setValue]);
271
+
272
+ /** 选中项回调 */
273
+ var onChoose = useCallback(function (val, text, event) {
274
+ event.preventDefault();
275
+ if (isNotEmpty(val)) {
276
+ var result = val;
277
+ if (multiple) {
278
+ if (multiValue.includes(val)) {
279
+ result = filter(multiValue, function (item) {
280
+ return item !== val;
281
+ });
215
282
  } else {
216
- if (val !== createItem) {
217
- setCreateItem("");
218
- }
283
+ result = [].concat(_toConsumableArray(multiValue), [val]);
219
284
  }
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
285
  } else {
228
- setVisible(false);
286
+ // 当选中项不是创建项时,清空创建项
287
+ if (val !== createItem) {
288
+ setCreateItem('');
289
+ }
229
290
  }
230
- },
231
- [multiple, setValue, onChange, multiValue, onClick, createItem, optionData]
232
- );
233
- (0, import_react.useEffect)(() => {
234
- var _a;
291
+ setValue(result);
292
+ setLabel(multiple ? '' : text);
293
+ onChange === null || onChange === void 0 || onChange(result, multiple ? result.map(function (item) {
294
+ var _find$label2, _find2;
295
+ return (_find$label2 = (_find2 = find(optionData, {
296
+ value: item
297
+ })) === null || _find2 === void 0 ? void 0 : _find2.label) !== null && _find$label2 !== void 0 ? _find$label2 : item;
298
+ }) : text);
299
+ !multiple && onClick(event);
300
+ } else {
301
+ setVisible(false);
302
+ }
303
+ }, [multiple, setValue, onChange, multiValue, onClick, createItem, optionData]);
304
+
305
+ /** 监听加载状态,加载中时自动打开下拉 */
306
+ // useEffect(() => {
307
+ // setVisible(props.loading);
308
+ // popperInstRef.current?.update();
309
+ // }, [props.loading]);
310
+
311
+ // 打开后搜索框自动获取焦点
312
+ useEffect(function () {
235
313
  if (visible && filterable && !allowCreate) {
236
- (_a = searchInstance.current) == null ? void 0 : _a.focus();
314
+ var _searchInstance$curre;
315
+ (_searchInstance$curre = searchInstance.current) === null || _searchInstance$curre === void 0 || _searchInstance$curre.focus();
237
316
  }
317
+ onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(visible);
318
+ // eslint-disable-next-line react-hooks/exhaustive-deps
238
319
  }, [visible]);
239
- (0, import_react.useEffect)(() => {
240
- var _a;
320
+
321
+ /** 搜索时 */
322
+ useEffect(function () {
241
323
  if (popperInstRef.current && popperInstRef.current.update) {
242
- (_a = popperInstRef.current) == null ? void 0 : _a.update();
324
+ var _popperInstRef$curren;
325
+ (_popperInstRef$curren = popperInstRef.current) === null || _popperInstRef$curren === void 0 || _popperInstRef$curren.update();
243
326
  }
244
327
  }, [popperStyle]);
245
- (0, import_react.useEffect)(() => {
246
- var _a, _b;
247
- if (wrapperRef.current) {
248
- const height = ((_a = wrapperRef.current) == null ? void 0 : _a.clientHeight) + 4;
249
- setInputHeight(height <= 32 ? 32 : height + 32);
250
- }
251
- if (popperInstRef.current && popperInstRef.current.update) {
252
- (_b = popperInstRef.current) == null ? void 0 : _b.update();
253
- }
328
+
329
+ /** 多选框选择选项后,动态调整input框高度 */
330
+ useEffect(function () {
331
+ setTimeout(function () {
332
+ if (wrapperRef.current) {
333
+ var _wrapperRef$current;
334
+ var height = ((_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientHeight) + 4;
335
+ setInputHeight(height <= 32 ? 32 : height);
336
+ }
337
+ if (popperInstRef.current && popperInstRef.current.update) {
338
+ var _popperInstRef$curren2;
339
+ (_popperInstRef$curren2 = popperInstRef.current) === null || _popperInstRef$curren2 === void 0 || _popperInstRef$curren2.update();
340
+ }
341
+ }, 50);
254
342
  }, [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);
343
+
344
+ /** 初次加载时反显选中文本 */
345
+ useEffect(function () {
346
+ var labels = (value instanceof Array ? value : [value]).map(function (item) {
347
+ var _find3;
348
+ return (_find3 = find(optionData, {
349
+ value: item
350
+ })) === null || _find3 === void 0 ? void 0 : _find3.label;
351
+ }).filter(function (item) {
352
+ return !!item;
353
+ });
260
354
  if (labels.length > 0) {
261
- setLabel(multiple ? "" : labels.join(","));
355
+ setLabel(multiple ? '' : labels.join(','));
262
356
  } else {
263
- if ((0, import_Util.isNotEmpty)(value)) {
264
- setLabel(value instanceof Array ? value.join(",") : value + "");
357
+ if (isNotEmpty(value)) {
358
+ setLabel(value instanceof Array ? value.join(',') : value + '');
265
359
  } else {
266
- setLabel("");
360
+ setLabel('');
267
361
  }
268
362
  }
269
- onLoadSuccess == null ? void 0 : onLoadSuccess(value, labels);
363
+ onLoadSuccess === null || onLoadSuccess === void 0 || onLoadSuccess(value, labels);
270
364
  }, [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);
365
+ useImperativeHandle(ref, function () {
366
+ return {
367
+ popperInstRef: popperInstRef,
368
+ selectedLabel: label,
369
+ setLabel: setLabel,
370
+ inputInstance: inputInstance,
371
+ searchInstance: searchInstance,
372
+ getValue: function getValue() {
373
+ return value;
291
374
  },
292
- onMouseLeave: () => {
293
- var _a;
294
- return (_a = inputInstance.current) == null ? void 0 : _a.hideClear();
295
- }
375
+ setValue: setValue,
376
+ onClear: onClear,
377
+ clear: onClear,
378
+ setVisible: setVisible
379
+ };
380
+ });
381
+ return /*#__PURE__*/React.createElement("div", {
382
+ className: classNames(b(), e(_templateObject || (_templateObject = _taggedTemplateLiteral(["default"]))), is({
383
+ disabled: disabled
384
+ }), m(_defineProperty({}, size, size)), props.className),
385
+ style: append || prepend ? {} : props.style,
386
+ ref: containerRef
387
+ }, /*#__PURE__*/React.createElement("div", {
388
+ className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["trigger"])))
389
+ }, multiple && /*#__PURE__*/React.createElement("div", {
390
+ className: e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["tags"]))),
391
+ onMouseEnter: function onMouseEnter() {
392
+ var _inputInstance$curren;
393
+ return (_inputInstance$curren = inputInstance.current) === null || _inputInstance$curren === void 0 ? void 0 : _inputInstance$curren.showClear(multiple ? multiValue.join(',') : createItem || label);
296
394
  },
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
395
+ onMouseLeave: function onMouseLeave() {
396
+ var _inputInstance$curren2;
397
+ return (_inputInstance$curren2 = inputInstance.current) === null || _inputInstance$curren2 === void 0 ? void 0 : _inputInstance$curren2.hideClear();
398
+ }
399
+ }, /*#__PURE__*/React.createElement("div", {
400
+ className: classNames(b(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["tags-wrapper"]))), 'has-prefix'),
401
+ onClick: onClick,
402
+ ref: wrapperRef
403
+ }, (collapseTags ? multiLabel.slice(0, maxCollapseTags) : multiLabel).map(function (item, i) {
404
+ return /*#__PURE__*/React.createElement(Tag, {
405
+ type: tagType,
406
+ key: multiValue[i],
407
+ closable: !disabled,
408
+ effect: tagEffect,
409
+ onClick: onClick,
410
+ onClose: function onClose() {
411
+ return onCloseTag(multiValue[i]);
308
412
  },
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);
413
+ disableTransitions: true
414
+ }, item);
415
+ }), collapseTags && (multiValue === null || multiValue === void 0 ? void 0 : multiValue.length) > maxCollapseTags && /*#__PURE__*/React.createElement(Tooltip, {
416
+ ref: tagTooltipRef,
417
+ popperClass: e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["tooltip"]))),
418
+ placement: "top",
419
+ disabled: !collapseTagsTooltip,
420
+ content: /*#__PURE__*/React.createElement(React.Fragment, null, multiLabel.slice(maxCollapseTags, multiLabel.length).map(function (item, i) {
421
+ return /*#__PURE__*/React.createElement(Tag, {
422
+ key: item,
423
+ type: tagType,
424
+ disableTransitions: true,
425
+ closable: !disabled,
426
+ effect: tagEffect,
427
+ onClick: onClick,
428
+ onClose: function onClose() {
429
+ return onCloseTag(multiValue[i + maxCollapseTags]);
430
+ }
431
+ }, item);
432
+ })),
433
+ effect: "light",
434
+ enterable: true
435
+ }, /*#__PURE__*/React.createElement(Tag, {
436
+ type: tagType,
437
+ onClick: onClick,
438
+ disableTransitions: true,
439
+ effect: tagEffect
440
+ }, collapseTips ? collapseTips(multiLabel.length - maxCollapseTags, multiLabel.length) : "+ ".concat(multiLabel.length - maxCollapseTags)))), allowCreate && /*#__PURE__*/React.createElement("input", {
441
+ type: "text",
442
+ className: e(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["input"]))),
443
+ style: {
444
+ marginLeft: 5,
445
+ flexGrow: 1,
446
+ width: '0.111111%',
447
+ maxWidth: 170
448
+ },
449
+ ref: createInputRef,
450
+ onClick: function onClick() {
451
+ return setVisible(!visible);
452
+ },
453
+ onInput: function onInput(event) {
454
+ setVisible(true);
455
+ setCreateItem(event.target.value);
456
+ if (popperInstRef.current && popperInstRef.current.update) {
457
+ var _popperInstRef$curren3;
458
+ (_popperInstRef$curren3 = popperInstRef.current) === null || _popperInstRef$curren3 === void 0 || _popperInstRef$curren3.update();
459
+ }
460
+ },
461
+ onKeyDown: function onKeyDown(event) {
462
+ if (event.key === 'Enter') {
463
+ onChoose(createItem, createItem, event);
464
+ setCreateItem('');
465
+ if (createInputRef.current) {
466
+ createInputRef.current.value = '';
343
467
  }
344
468
  }
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);
469
+ },
470
+ onBlur: function onBlur() {
471
+ setTimeout(function () {
472
+ setCreateItem('');
473
+ if (createInputRef.current) {
474
+ createInputRef.current.value = '';
368
475
  }
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
- ])
476
+ }, 200);
397
477
  }
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
478
+ })), /*#__PURE__*/React.createElement(Input, _extends({
479
+ ref: inputInstance,
480
+ value: multiple ? multiValue.join(',') : createItem || label,
481
+ hiddenValue: multiple,
482
+ placeholder: placeholder,
483
+ readOnly: !allowCreate,
484
+ clearable: clearable && !disabled,
485
+ disabled: disabled,
486
+ onClick: onClick,
487
+ onClear: onClear,
488
+ plain: props.plain,
489
+ className: classNames(is({
490
+ active: visible
491
+ })),
492
+ size: size,
493
+ onChange: function onChange(val) {
494
+ setVisible(true);
495
+ setCreateItem(val + '');
413
496
  },
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
- ));
497
+ onKeyDown: function onKeyDown(event) {
498
+ if (event.key === 'Enter') {
499
+ onChoose(createItem, createItem, event);
500
+ }
501
+ },
502
+ onBlur: function onBlur() {
503
+ setTimeout(function () {
504
+ setCreateItem('');
505
+ }, 200);
506
+ },
507
+ error: error,
508
+ warning: warning,
509
+ innerStyle: multiple ? {
510
+ height: inputHeight
511
+ } : {},
512
+ suffix: /*#__PURE__*/React.createElement(Icon, {
513
+ prefix: "fal",
514
+ name: "angle-down",
515
+ rotate: visible ? 180 : null,
516
+ onClick: onClick
517
+ })
518
+ }, omit(htmlInputProps, ['value', 'defaultValue', 'onInput', 'size', 'prefix', 'onChange', 'style', 'placeholder', 'readOnly', 'onKeyDown', 'disabled', 'className', 'type', 'name', 'minLength', 'maxLength'])))), /*#__PURE__*/React.createElement(Popper, _extends({
519
+ referenceElement: containerRef,
520
+ visible: visible,
521
+ popperInstRef: popperInstRef,
522
+ popperStyle: popperStyle,
523
+ onDestroy: function onDestroy() {
524
+ return setVisible(false);
525
+ },
526
+ onEnter: handleEnter,
527
+ afterLeave: handleAfterLeave,
528
+ placement: 'bottom-start',
529
+ transitionAppear: true,
530
+ unmountOnExit: true,
531
+ showArrow: showArrow
532
+ }, transitionProps, popperProps), /*#__PURE__*/React.createElement(SelectDropdown, _extends({
533
+ ref: selectDropdownRef,
534
+ value: value,
535
+ searchInstance: searchInstance,
536
+ createItem: createItem,
537
+ setCreateItem: setCreateItem,
538
+ onChoose: onChoose,
539
+ contentRef: contentRef,
540
+ createInputRef: createInputRef,
541
+ popperInstRef: popperInstRef
542
+ }, props), props.children)));
431
543
  });
432
- SelectCore.displayName = "SelectCore";
433
- var SelectCore_default = SelectCore;
544
+ SelectCore.displayName = 'SelectCore';
545
+ export default SelectCore;