@kdcloudjs/kdesign 1.6.33 → 1.6.35

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 (609) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/kdesign-complete.less +8 -9
  3. package/dist/kdesign.css +9 -5
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +9332 -11853
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +4 -4
  8. package/dist/kdesign.min.js +18 -18
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/KeyCode.js +6 -119
  11. package/es/_utils/arrayUtil.js +0 -5
  12. package/es/_utils/devwarning.js +0 -1
  13. package/es/_utils/formatUtil.js +36 -99
  14. package/es/_utils/getStringLength.js +0 -2
  15. package/es/_utils/hooks.js +32 -72
  16. package/es/_utils/index.js +0 -2
  17. package/es/_utils/numberUtil.js +32 -55
  18. package/es/_utils/omit.js +0 -2
  19. package/es/_utils/raf.js +0 -6
  20. package/es/_utils/resizeObserver.js +2 -17
  21. package/es/_utils/testBrowserType.js +0 -2
  22. package/es/_utils/type.js +0 -2
  23. package/es/_utils/usePopper.js +84 -167
  24. package/es/alert/alert.js +20 -50
  25. package/es/anchor/anchor-link.js +12 -23
  26. package/es/anchor/anchor.js +69 -168
  27. package/es/avatar/avatar.js +29 -44
  28. package/es/badge/badge.js +33 -53
  29. package/es/base-data/base-data.js +89 -197
  30. package/es/button/button.js +30 -55
  31. package/es/button/group.js +27 -39
  32. package/es/card/card.js +19 -23
  33. package/es/carousel/carousel.js +31 -65
  34. package/es/carousel/displayList.js +2 -5
  35. package/es/carousel/fadeList.js +4 -7
  36. package/es/carousel/slideList.js +1 -7
  37. package/es/carousel/slidebar.js +5 -12
  38. package/es/cascader/cascader.js +56 -116
  39. package/es/cascader/util.js +10 -58
  40. package/es/checkbox/checkbox.js +22 -47
  41. package/es/checkbox/group.js +19 -35
  42. package/es/checkbox/style/index.css +2 -0
  43. package/es/checkbox/style/index.less +1 -0
  44. package/es/city-picker/city-group.js +5 -13
  45. package/es/city-picker/city-list.js +4 -9
  46. package/es/city-picker/city-panel-item.js +3 -8
  47. package/es/city-picker/city-panel.js +25 -50
  48. package/es/city-picker/city-picker.js +22 -46
  49. package/es/city-picker/city-search-panel.js +6 -13
  50. package/es/city-picker/no-data.js +3 -6
  51. package/es/city-picker/utils/grouping.js +0 -4
  52. package/es/collapse/collapse.js +17 -40
  53. package/es/collapse/panel.js +21 -44
  54. package/es/config-provider/SizeContext.js +1 -1
  55. package/es/config-provider/compDefaultProps.js +0 -1
  56. package/es/config-provider/configProvider.js +2 -7
  57. package/es/config-provider/defaultConfig.js +0 -1
  58. package/es/date-picker/calendar.js +12 -21
  59. package/es/date-picker/date-panel.js +20 -60
  60. package/es/date-picker/date-picker.js +145 -186
  61. package/es/date-picker/hooks/use-hover-value.js +5 -13
  62. package/es/date-picker/hooks/use-picker-input.js +17 -31
  63. package/es/date-picker/hooks/use-range-cls.js +8 -14
  64. package/es/date-picker/hooks/use-range-disabled.js +7 -21
  65. package/es/date-picker/hooks/use-range-view-dates.js +18 -39
  66. package/es/date-picker/hooks/use-state-memo.js +0 -2
  67. package/es/date-picker/hooks/use-text-value-mapping.js +6 -11
  68. package/es/date-picker/hooks/use-value-texts.js +0 -1
  69. package/es/date-picker/panel/date-time/date-time.js +7 -10
  70. package/es/date-picker/panel/header/header.js +9 -11
  71. package/es/date-picker/panel/month/month.js +11 -30
  72. package/es/date-picker/panel/quarter/quarter.js +8 -25
  73. package/es/date-picker/panel/time/time-column.js +8 -18
  74. package/es/date-picker/panel/time/time.js +62 -88
  75. package/es/date-picker/panel/week/week.js +25 -57
  76. package/es/date-picker/panel/year/year.js +19 -42
  77. package/es/date-picker/popper.js +28 -35
  78. package/es/date-picker/range/input-range.js +95 -129
  79. package/es/date-picker/range-picker.d.ts +1 -0
  80. package/es/date-picker/range-picker.js +196 -284
  81. package/es/date-picker/single/input-date.js +87 -111
  82. package/es/date-picker/utils/date-fns.js +32 -63
  83. package/es/date-picker/utils/get-extra-footer.js +0 -1
  84. package/es/date-picker/utils/get-ranges.js +13 -19
  85. package/es/date-picker/utils/index.js +9 -80
  86. package/es/drawer/drawer.js +50 -71
  87. package/es/dropdown/dropdown.js +26 -42
  88. package/es/dropdown/menu.d.ts +3 -2
  89. package/es/dropdown/menu.js +32 -43
  90. package/es/empty/defaultEmptyImg.js +2 -5
  91. package/es/empty/empty.js +15 -26
  92. package/es/empty/illustrationEmptyImg.js +2 -5
  93. package/es/filter/condition.js +5 -17
  94. package/es/filter/filter.js +29 -54
  95. package/es/filter/scheme.js +35 -71
  96. package/es/form/Field.js +36 -98
  97. package/es/form/FieldContext.js +0 -2
  98. package/es/form/FieldLabel.js +11 -17
  99. package/es/form/FieldWrapper.js +6 -9
  100. package/es/form/Form.js +28 -46
  101. package/es/form/FormContext.js +0 -4
  102. package/es/form/hooks/useForceUpdate.js +2 -5
  103. package/es/form/hooks/useForm.js +10 -84
  104. package/es/grid/col.js +23 -39
  105. package/es/grid/row.js +22 -36
  106. package/es/icon/icon.js +11 -29
  107. package/es/image/image.js +31 -49
  108. package/es/image/preview-group.js +25 -41
  109. package/es/image/preview.js +24 -39
  110. package/es/image-cropper/cropper.js +13 -23
  111. package/es/image-cropper/image-cropper.js +39 -69
  112. package/es/image-cropper/operation-bar.js +14 -27
  113. package/es/index.js +0 -2
  114. package/es/input/ClearableLabeledInput.js +27 -50
  115. package/es/input/TextArea.js +45 -86
  116. package/es/input/calculateNodeHeight.js +4 -16
  117. package/es/input/index.js +2 -2
  118. package/es/input/input.js +32 -67
  119. package/es/input-number/inputNumber.js +50 -109
  120. package/es/layout/layout.js +28 -49
  121. package/es/layout/sider.js +39 -73
  122. package/es/link/link.js +19 -33
  123. package/es/locale/locale.js +6 -44
  124. package/es/locale/zh-CN.js +0 -2
  125. package/es/menu/menu.js +29 -63
  126. package/es/menu/menuItem.js +27 -52
  127. package/es/menu/subMenu.js +44 -99
  128. package/es/menu/util.js +4 -13
  129. package/es/message/content.js +7 -23
  130. package/es/message/index.js +14 -26
  131. package/es/modal/confirm.js +3 -12
  132. package/es/modal/index.js +0 -4
  133. package/es/modal/modal.js +41 -63
  134. package/es/notification/content.js +13 -35
  135. package/es/notification/index.js +20 -35
  136. package/es/notification-base/index.js +4 -24
  137. package/es/notification-base/notice.js +12 -24
  138. package/es/notification-base/notification.js +3 -18
  139. package/es/pagination/pagination.js +76 -113
  140. package/es/popconfirm/popconfirm.js +22 -33
  141. package/es/progress/circle.js +9 -18
  142. package/es/progress/line.js +5 -9
  143. package/es/progress/progress.js +21 -44
  144. package/es/progress/utils.js +6 -22
  145. package/es/radio/group.js +19 -35
  146. package/es/radio/radio-button.js +6 -19
  147. package/es/radio/radio.js +19 -46
  148. package/es/rate/rate.js +30 -67
  149. package/es/rate/style/index.css +3 -3
  150. package/es/rate/style/index.less +3 -9
  151. package/es/search/option.js +10 -17
  152. package/es/search/quick-search.js +68 -155
  153. package/es/search/search-panel.js +28 -49
  154. package/es/search/search.js +23 -43
  155. package/es/select/interface.js +0 -1
  156. package/es/select/option.js +13 -25
  157. package/es/select/select.js +114 -221
  158. package/es/select/style/index.css +3 -0
  159. package/es/select/style/index.less +4 -0
  160. package/es/slider/marks.js +9 -15
  161. package/es/slider/slider.js +60 -104
  162. package/es/slider/sliderTooltip.js +9 -17
  163. package/es/slider/steps.js +8 -19
  164. package/es/slider/track.js +5 -8
  165. package/es/slider/utils.js +4 -14
  166. package/es/space/space.js +16 -34
  167. package/es/spin/spin.js +16 -32
  168. package/es/split-panel/split-panel.js +57 -83
  169. package/es/split-panel/trigger.js +8 -17
  170. package/es/stepper/stepper.js +27 -57
  171. package/es/steps/Step.js +18 -34
  172. package/es/steps/Steps.js +19 -38
  173. package/es/style/icon/kdicon.css +0 -1
  174. package/es/switch/switch.js +25 -43
  175. package/es/table/api.d.ts +4 -0
  176. package/es/table/api.js +128 -0
  177. package/es/table/feature/autoRowSpan.js +0 -2
  178. package/es/table/feature/colGroupExtendable.js +0 -2
  179. package/es/table/feature/columnDrag.js +0 -2
  180. package/es/table/feature/columnResize.js +0 -2
  181. package/es/table/feature/contextMenu.js +0 -2
  182. package/es/table/feature/filter.js +0 -2
  183. package/es/table/feature/mergeCellHover.js +0 -2
  184. package/es/table/feature/rowDetail.js +0 -2
  185. package/es/table/feature/rowSelection.js +11 -21
  186. package/es/table/feature/sort.js +0 -2
  187. package/es/table/feature/treeMode.js +0 -2
  188. package/es/table/feature/useFooterDataSource.js +0 -2
  189. package/es/table/feature/useRangeSelection.js +0 -2
  190. package/es/table/interface.d.ts +3 -0
  191. package/es/table/table.js +38 -54
  192. package/es/tabs/active-line.js +6 -8
  193. package/es/tabs/arrow-button.js +5 -10
  194. package/es/tabs/index.js +2 -2
  195. package/es/tabs/tab-pane.js +7 -23
  196. package/es/tabs/tabs.js +42 -104
  197. package/es/tag/tag.js +34 -56
  198. package/es/timeline/Timeline.js +16 -33
  199. package/es/timeline/TimelineItem.js +15 -26
  200. package/es/tooltip/tooltip.js +7 -11
  201. package/es/transfer/list-body.js +12 -31
  202. package/es/transfer/list-item.js +10 -18
  203. package/es/transfer/list.js +35 -68
  204. package/es/transfer/operation.js +12 -14
  205. package/es/transfer/search.js +5 -11
  206. package/es/transfer/transfer.js +51 -100
  207. package/es/tree/tree.js +95 -156
  208. package/es/tree/treeHooks.js +18 -34
  209. package/es/tree/treeNode.js +57 -96
  210. package/es/tree/utils/treeUtils.js +22 -150
  211. package/es/typography/base.js +16 -33
  212. package/es/typography/index.js +2 -2
  213. package/es/typography/paragraph.js +0 -2
  214. package/es/typography/text.js +0 -2
  215. package/es/typography/title.js +3 -14
  216. package/es/typography/typography.js +14 -24
  217. package/es/upload/dragger.js +3 -12
  218. package/es/upload/request.js +6 -26
  219. package/es/upload/scan-files.js +2 -13
  220. package/es/upload/upload.js +63 -131
  221. package/es/upload/utils.js +0 -2
  222. package/es/upload/verify-file.js +0 -6
  223. package/es/view-container/view-container.js +7 -9
  224. package/es/virtual-list/Filler.js +3 -7
  225. package/es/virtual-list/utils/algorithmUtil.js +0 -13
  226. package/es/virtual-list/utils/itemUtil.js +18 -47
  227. package/es/virtual-list/virtual-list.js +64 -137
  228. package/lib/_utils/KeyCode.js +6 -120
  229. package/lib/_utils/arrayUtil.js +0 -9
  230. package/lib/_utils/devwarning.js +0 -5
  231. package/lib/_utils/formatUtil.js +36 -103
  232. package/lib/_utils/getStringLength.js +0 -3
  233. package/lib/_utils/hooks.js +32 -90
  234. package/lib/_utils/index.js +0 -6
  235. package/lib/_utils/numberUtil.js +32 -64
  236. package/lib/_utils/omit.js +0 -5
  237. package/lib/_utils/raf.js +0 -7
  238. package/lib/_utils/react-children.js +0 -5
  239. package/lib/_utils/reactNode.js +0 -9
  240. package/lib/_utils/resizeObserver.js +2 -25
  241. package/lib/_utils/testBrowserType.js +0 -3
  242. package/lib/_utils/type.js +0 -6
  243. package/lib/_utils/usePopper.js +84 -190
  244. package/lib/alert/alert.js +20 -74
  245. package/lib/alert/index.js +0 -3
  246. package/lib/alert/style/css.js +0 -1
  247. package/lib/alert/style/index.js +0 -1
  248. package/lib/anchor/anchor-link.js +12 -35
  249. package/lib/anchor/anchor.js +69 -204
  250. package/lib/anchor/context.js +0 -7
  251. package/lib/anchor/index.js +0 -4
  252. package/lib/anchor/style/css.js +0 -1
  253. package/lib/anchor/style/index.js +0 -1
  254. package/lib/avatar/avatar.js +29 -70
  255. package/lib/avatar/index.js +0 -9
  256. package/lib/avatar/style/css.js +0 -1
  257. package/lib/avatar/style/index.js +0 -1
  258. package/lib/badge/badge.js +33 -70
  259. package/lib/badge/index.js +0 -9
  260. package/lib/badge/style/css.js +0 -1
  261. package/lib/badge/style/index.js +0 -1
  262. package/lib/base-data/base-data.js +89 -218
  263. package/lib/base-data/index.js +0 -9
  264. package/lib/base-data/interface.js +0 -2
  265. package/lib/base-data/style/css.js +0 -1
  266. package/lib/base-data/style/index.js +0 -1
  267. package/lib/button/button.js +30 -72
  268. package/lib/button/group.js +27 -61
  269. package/lib/button/index.js +0 -4
  270. package/lib/button/style/css.js +0 -1
  271. package/lib/button/style/index.js +0 -1
  272. package/lib/card/card.js +19 -35
  273. package/lib/card/index.js +0 -9
  274. package/lib/card/style/css.js +0 -1
  275. package/lib/card/style/index.js +0 -1
  276. package/lib/carousel/carousel.js +31 -112
  277. package/lib/carousel/displayList.js +2 -14
  278. package/lib/carousel/fadeList.js +4 -16
  279. package/lib/carousel/index.js +0 -12
  280. package/lib/carousel/slideList.js +1 -14
  281. package/lib/carousel/slidebar.js +5 -22
  282. package/lib/carousel/style/css.js +0 -1
  283. package/lib/carousel/style/index.js +0 -1
  284. package/lib/cascader/cascader.js +56 -150
  285. package/lib/cascader/index.js +0 -9
  286. package/lib/cascader/style/css.js +0 -1
  287. package/lib/cascader/style/index.js +0 -1
  288. package/lib/cascader/util.js +10 -87
  289. package/lib/checkbox/checkbox.js +22 -69
  290. package/lib/checkbox/group.js +18 -59
  291. package/lib/checkbox/index.js +0 -9
  292. package/lib/checkbox/style/css.js +0 -1
  293. package/lib/checkbox/style/index.css +2 -0
  294. package/lib/checkbox/style/index.js +0 -1
  295. package/lib/checkbox/style/index.less +1 -0
  296. package/lib/city-picker/city-group.js +5 -24
  297. package/lib/city-picker/city-list.js +4 -21
  298. package/lib/city-picker/city-panel-item.js +3 -17
  299. package/lib/city-picker/city-panel.js +25 -64
  300. package/lib/city-picker/city-picker.js +22 -67
  301. package/lib/city-picker/city-search-panel.js +6 -25
  302. package/lib/city-picker/index.js +0 -9
  303. package/lib/city-picker/no-data.js +3 -15
  304. package/lib/city-picker/style/css.js +0 -1
  305. package/lib/city-picker/style/index.js +0 -1
  306. package/lib/city-picker/utils/grouping.js +0 -5
  307. package/lib/collapse/collapse.js +17 -62
  308. package/lib/collapse/index.js +0 -4
  309. package/lib/collapse/panel.js +21 -62
  310. package/lib/collapse/style/css.js +0 -1
  311. package/lib/collapse/style/index.js +0 -1
  312. package/lib/config-provider/ConfigContext.js +1 -4
  313. package/lib/config-provider/SizeContext.js +1 -6
  314. package/lib/config-provider/compDefaultProps.js +0 -8
  315. package/lib/config-provider/configProvider.js +3 -18
  316. package/lib/config-provider/defaultConfig.js +0 -5
  317. package/lib/config-provider/index.js +0 -6
  318. package/lib/date-picker/calendar.js +12 -35
  319. package/lib/date-picker/context.js +0 -7
  320. package/lib/date-picker/date-panel.js +20 -81
  321. package/lib/date-picker/date-picker.js +145 -214
  322. package/lib/date-picker/hooks/use-hover-value.js +5 -19
  323. package/lib/date-picker/hooks/use-picker-input.js +17 -37
  324. package/lib/date-picker/hooks/use-range-cls.js +8 -21
  325. package/lib/date-picker/hooks/use-range-disabled.js +7 -30
  326. package/lib/date-picker/hooks/use-range-view-dates.js +16 -49
  327. package/lib/date-picker/hooks/use-state-memo.js +0 -5
  328. package/lib/date-picker/hooks/use-text-value-mapping.js +6 -20
  329. package/lib/date-picker/hooks/use-value-texts.js +0 -5
  330. package/lib/date-picker/index.js +0 -4
  331. package/lib/date-picker/panel/date-time/date-time.js +7 -23
  332. package/lib/date-picker/panel/header/header.js +9 -21
  333. package/lib/date-picker/panel/month/month.js +11 -46
  334. package/lib/date-picker/panel/quarter/quarter.js +8 -40
  335. package/lib/date-picker/panel/time/time-column.js +8 -31
  336. package/lib/date-picker/panel/time/time.js +60 -106
  337. package/lib/date-picker/panel/week/week.js +25 -73
  338. package/lib/date-picker/panel/year/year.js +19 -56
  339. package/lib/date-picker/popper.js +28 -47
  340. package/lib/date-picker/range/input-range.js +95 -145
  341. package/lib/date-picker/range-picker.d.ts +1 -0
  342. package/lib/date-picker/range-picker.js +194 -324
  343. package/lib/date-picker/single/input-date.js +87 -127
  344. package/lib/date-picker/utils/date-fns.js +25 -136
  345. package/lib/date-picker/utils/get-extra-footer.js +0 -8
  346. package/lib/date-picker/utils/get-ranges.js +13 -24
  347. package/lib/date-picker/utils/index.js +9 -104
  348. package/lib/drawer/drawer.js +49 -95
  349. package/lib/drawer/index.js +0 -9
  350. package/lib/drawer/style/css.js +0 -1
  351. package/lib/drawer/style/index.js +0 -1
  352. package/lib/dropdown/dropdown.js +26 -56
  353. package/lib/dropdown/index.js +0 -9
  354. package/lib/dropdown/menu.d.ts +3 -2
  355. package/lib/dropdown/menu.js +29 -56
  356. package/lib/dropdown/style/css.js +0 -1
  357. package/lib/dropdown/style/index.js +0 -1
  358. package/lib/empty/defaultEmptyImg.js +2 -14
  359. package/lib/empty/empty.js +15 -42
  360. package/lib/empty/illustrationEmptyImg.js +2 -14
  361. package/lib/empty/index.js +0 -9
  362. package/lib/empty/style/css.js +0 -1
  363. package/lib/empty/style/index.js +0 -1
  364. package/lib/filter/condition.js +5 -28
  365. package/lib/filter/filter.js +29 -73
  366. package/lib/filter/index.js +0 -9
  367. package/lib/filter/scheme.js +35 -82
  368. package/lib/filter/style/css.js +0 -1
  369. package/lib/filter/style/index.js +0 -1
  370. package/lib/form/Field.js +36 -127
  371. package/lib/form/FieldContext.js +0 -6
  372. package/lib/form/FieldLabel.js +11 -29
  373. package/lib/form/FieldWrapper.js +6 -19
  374. package/lib/form/Form.js +28 -65
  375. package/lib/form/FormContext.js +0 -11
  376. package/lib/form/hooks/useForceUpdate.js +2 -9
  377. package/lib/form/hooks/useForm.js +10 -98
  378. package/lib/form/index.js +0 -12
  379. package/lib/form/style/css.js +0 -1
  380. package/lib/form/style/index.js +0 -1
  381. package/lib/grid/col.js +23 -51
  382. package/lib/grid/index.js +0 -3
  383. package/lib/grid/row.js +22 -49
  384. package/lib/grid/style/css.js +0 -1
  385. package/lib/grid/style/index.js +0 -1
  386. package/lib/icon/icon.js +11 -44
  387. package/lib/icon/index.js +0 -9
  388. package/lib/icon/interface.js +0 -6
  389. package/lib/icon/style/css.js +0 -1
  390. package/lib/icon/style/index.js +0 -1
  391. package/lib/image/image.js +31 -64
  392. package/lib/image/index.js +0 -9
  393. package/lib/image/preview-group.js +25 -54
  394. package/lib/image/preview.js +24 -57
  395. package/lib/image/style/css.js +0 -1
  396. package/lib/image/style/index.js +0 -1
  397. package/lib/image-cropper/cropper.js +11 -33
  398. package/lib/image-cropper/image-cropper.js +39 -89
  399. package/lib/image-cropper/index.js +0 -3
  400. package/lib/image-cropper/operation-bar.js +14 -44
  401. package/lib/image-cropper/style/css.js +0 -1
  402. package/lib/image-cropper/style/index.js +0 -1
  403. package/lib/index.js +2 -64
  404. package/lib/input/ClearableLabeledInput.js +27 -65
  405. package/lib/input/TextArea.js +45 -108
  406. package/lib/input/calculateNodeHeight.js +4 -23
  407. package/lib/input/index.js +0 -9
  408. package/lib/input/input.js +32 -87
  409. package/lib/input-number/index.js +0 -3
  410. package/lib/input-number/inputNumber.js +50 -129
  411. package/lib/input-number/style/css.js +0 -1
  412. package/lib/input-number/style/index.js +0 -1
  413. package/lib/layout/index.js +0 -9
  414. package/lib/layout/layout.js +28 -64
  415. package/lib/layout/sider.js +39 -89
  416. package/lib/layout/style/css.js +0 -1
  417. package/lib/layout/style/index.js +0 -1
  418. package/lib/link/index.js +0 -9
  419. package/lib/link/link.js +19 -50
  420. package/lib/link/style/css.js +0 -1
  421. package/lib/link/style/index.js +0 -1
  422. package/lib/locale/index.js +0 -7
  423. package/lib/locale/locale.js +6 -58
  424. package/lib/locale/zh-CN.js +0 -4
  425. package/lib/menu/index.js +0 -9
  426. package/lib/menu/menu.js +29 -83
  427. package/lib/menu/menuItem.js +27 -69
  428. package/lib/menu/style/css.js +0 -1
  429. package/lib/menu/style/index.js +0 -1
  430. package/lib/menu/subMenu.js +44 -122
  431. package/lib/menu/util.js +4 -28
  432. package/lib/message/content.js +7 -32
  433. package/lib/message/index.js +14 -33
  434. package/lib/message/style/css.js +0 -1
  435. package/lib/message/style/index.js +0 -1
  436. package/lib/modal/confirm.js +3 -21
  437. package/lib/modal/index.js +0 -14
  438. package/lib/modal/modal.js +41 -86
  439. package/lib/modal/style/css.js +0 -1
  440. package/lib/modal/style/index.js +0 -1
  441. package/lib/notification/content.js +15 -48
  442. package/lib/notification/index.js +20 -42
  443. package/lib/notification/style/css.js +0 -1
  444. package/lib/notification/style/index.js +0 -1
  445. package/lib/notification-base/index.js +4 -31
  446. package/lib/notification-base/notice.js +12 -38
  447. package/lib/notification-base/notification.js +3 -31
  448. package/lib/pagination/index.js +0 -3
  449. package/lib/pagination/pagination.js +76 -137
  450. package/lib/pagination/style/css.js +0 -1
  451. package/lib/pagination/style/index.js +0 -1
  452. package/lib/popconfirm/index.js +0 -9
  453. package/lib/popconfirm/popconfirm.js +22 -46
  454. package/lib/popconfirm/style/css.js +0 -1
  455. package/lib/popconfirm/style/index.js +0 -1
  456. package/lib/progress/circle.js +9 -25
  457. package/lib/progress/index.js +0 -3
  458. package/lib/progress/line.js +5 -11
  459. package/lib/progress/progress.js +21 -64
  460. package/lib/progress/style/css.js +0 -1
  461. package/lib/progress/style/index.js +0 -1
  462. package/lib/progress/utils.js +6 -30
  463. package/lib/radio/context.js +0 -7
  464. package/lib/radio/group.js +19 -53
  465. package/lib/radio/index.js +0 -5
  466. package/lib/radio/radio-button.js +6 -32
  467. package/lib/radio/radio.js +19 -66
  468. package/lib/radio/style/css.js +0 -1
  469. package/lib/radio/style/index.js +0 -1
  470. package/lib/rate/index.js +0 -3
  471. package/lib/rate/rate.js +30 -82
  472. package/lib/rate/style/css.js +0 -1
  473. package/lib/rate/style/index.css +3 -3
  474. package/lib/rate/style/index.js +0 -1
  475. package/lib/rate/style/index.less +3 -9
  476. package/lib/search/index.js +0 -7
  477. package/lib/search/interface.js +0 -2
  478. package/lib/search/option.js +10 -29
  479. package/lib/search/quick-search.js +68 -171
  480. package/lib/search/search-panel.js +28 -66
  481. package/lib/search/search.js +23 -63
  482. package/lib/search/style/css.js +0 -1
  483. package/lib/search/style/index.js +0 -1
  484. package/lib/select/index.js +0 -4
  485. package/lib/select/interface.js +0 -3
  486. package/lib/select/option.js +13 -40
  487. package/lib/select/select.js +114 -234
  488. package/lib/select/style/index.css +3 -0
  489. package/lib/select/style/index.less +4 -0
  490. package/lib/slider/index.js +0 -9
  491. package/lib/slider/marks.js +9 -22
  492. package/lib/slider/slider.js +58 -123
  493. package/lib/slider/sliderTooltip.js +9 -30
  494. package/lib/slider/steps.js +8 -24
  495. package/lib/slider/style/css.js +0 -1
  496. package/lib/slider/style/index.js +0 -1
  497. package/lib/slider/track.js +5 -11
  498. package/lib/slider/utils.js +4 -21
  499. package/lib/space/index.js +0 -9
  500. package/lib/space/space.js +16 -50
  501. package/lib/space/style/css.js +0 -1
  502. package/lib/space/style/index.js +0 -1
  503. package/lib/spin/index.js +0 -9
  504. package/lib/spin/spin.js +16 -50
  505. package/lib/spin/style/css.js +0 -1
  506. package/lib/spin/style/index.js +0 -1
  507. package/lib/split-panel/index.js +0 -9
  508. package/lib/split-panel/split-panel.js +57 -101
  509. package/lib/split-panel/style/css.js +0 -1
  510. package/lib/split-panel/style/index.js +0 -1
  511. package/lib/split-panel/trigger.js +8 -23
  512. package/lib/stepper/index.js +0 -9
  513. package/lib/stepper/stepper.js +27 -81
  514. package/lib/stepper/style/css.js +0 -1
  515. package/lib/stepper/style/index.js +0 -1
  516. package/lib/steps/Step.js +18 -40
  517. package/lib/steps/Steps.js +19 -55
  518. package/lib/steps/index.js +0 -5
  519. package/lib/steps/interface.js +0 -2
  520. package/lib/steps/style/css.js +0 -1
  521. package/lib/steps/style/index.js +0 -1
  522. package/lib/style/icon/kdicon.css +0 -1
  523. package/lib/switch/index.js +0 -3
  524. package/lib/switch/style/css.js +0 -1
  525. package/lib/switch/style/index.js +0 -1
  526. package/lib/switch/switch.js +23 -59
  527. package/lib/table/api.d.ts +4 -0
  528. package/lib/table/api.js +135 -0
  529. package/lib/table/feature/autoRowSpan.js +0 -3
  530. package/lib/table/feature/colGroupExtendable.js +0 -3
  531. package/lib/table/feature/columnDrag.js +0 -3
  532. package/lib/table/feature/columnResize.js +0 -3
  533. package/lib/table/feature/contextMenu.js +0 -3
  534. package/lib/table/feature/filter.js +0 -6
  535. package/lib/table/feature/mergeCellHover.js +0 -3
  536. package/lib/table/feature/rowDetail.js +0 -5
  537. package/lib/table/feature/rowSelection.js +11 -24
  538. package/lib/table/feature/sort.js +0 -6
  539. package/lib/table/feature/treeMode.js +0 -5
  540. package/lib/table/feature/useFooterDataSource.js +0 -3
  541. package/lib/table/feature/useRangeSelection.js +0 -5
  542. package/lib/table/index.js +0 -3
  543. package/lib/table/interface.d.ts +3 -0
  544. package/lib/table/style/css.js +0 -1
  545. package/lib/table/style/index.js +0 -1
  546. package/lib/table/table.js +38 -85
  547. package/lib/tabs/active-line.js +6 -17
  548. package/lib/tabs/arrow-button.js +5 -23
  549. package/lib/tabs/context.js +0 -7
  550. package/lib/tabs/index.js +2 -6
  551. package/lib/tabs/style/css.js +0 -1
  552. package/lib/tabs/style/index.js +0 -1
  553. package/lib/tabs/tab-pane.js +7 -38
  554. package/lib/tabs/tabs.js +42 -135
  555. package/lib/tag/index.js +0 -9
  556. package/lib/tag/style/css.js +0 -1
  557. package/lib/tag/style/index.js +0 -1
  558. package/lib/tag/tag.js +34 -74
  559. package/lib/timeline/Timeline.js +16 -45
  560. package/lib/timeline/TimelineItem.js +15 -39
  561. package/lib/timeline/index.js +0 -3
  562. package/lib/timeline/style/css.js +0 -1
  563. package/lib/timeline/style/index.js +0 -1
  564. package/lib/tooltip/index.js +0 -9
  565. package/lib/tooltip/style/css.js +0 -1
  566. package/lib/tooltip/style/index.js +0 -1
  567. package/lib/tooltip/tooltip.js +7 -24
  568. package/lib/transfer/index.js +0 -3
  569. package/lib/transfer/list-body.js +12 -48
  570. package/lib/transfer/list-item.js +10 -27
  571. package/lib/transfer/list.js +35 -89
  572. package/lib/transfer/operation.js +12 -18
  573. package/lib/transfer/search.js +5 -16
  574. package/lib/transfer/style/css.js +0 -1
  575. package/lib/transfer/style/index.js +0 -1
  576. package/lib/transfer/transfer.js +51 -122
  577. package/lib/tree/index.js +0 -11
  578. package/lib/tree/style/css.js +0 -1
  579. package/lib/tree/style/index.js +0 -1
  580. package/lib/tree/tree.js +95 -196
  581. package/lib/tree/treeHooks.js +18 -64
  582. package/lib/tree/treeNode.js +57 -126
  583. package/lib/tree/utils/treeUtils.js +22 -193
  584. package/lib/typography/base.js +16 -53
  585. package/lib/typography/index.js +2 -8
  586. package/lib/typography/paragraph.js +0 -11
  587. package/lib/typography/style/css.js +0 -1
  588. package/lib/typography/style/index.js +0 -1
  589. package/lib/typography/text.js +0 -6
  590. package/lib/typography/title.js +3 -21
  591. package/lib/typography/typography.js +12 -35
  592. package/lib/upload/dragger.js +3 -21
  593. package/lib/upload/index.js +0 -11
  594. package/lib/upload/request.js +6 -27
  595. package/lib/upload/scan-files.js +2 -15
  596. package/lib/upload/style/css.js +0 -1
  597. package/lib/upload/style/index.js +0 -1
  598. package/lib/upload/upload.js +63 -151
  599. package/lib/upload/utils.js +0 -6
  600. package/lib/upload/verify-file.js +0 -9
  601. package/lib/view-container/context.js +0 -7
  602. package/lib/view-container/index.js +0 -3
  603. package/lib/view-container/view-container.js +7 -21
  604. package/lib/virtual-list/Filler.js +3 -15
  605. package/lib/virtual-list/index.js +0 -9
  606. package/lib/virtual-list/utils/algorithmUtil.js +0 -15
  607. package/lib/virtual-list/utils/itemUtil.js +18 -60
  608. package/lib/virtual-list/virtual-list.js +63 -158
  609. package/package.json +3 -2
@@ -19,134 +19,113 @@ import Option from './option';
19
19
  import usePopper from '../_utils/usePopper';
20
20
  import VirtualList from '../virtual-list';
21
21
  var INPUT_MIN_WIDTH = 4; // 输入框最小宽度
22
-
23
22
  var InternalSelect = function InternalSelect(props, ref) {
24
23
  var _context, _classNames6, _classNames12;
25
-
26
24
  var _useContext = useContext(ConfigContext),
27
- getPrefixCls = _useContext.getPrefixCls,
28
- prefixCls = _useContext.prefixCls,
29
- userDefaultProps = _useContext.compDefaultProps;
30
-
25
+ getPrefixCls = _useContext.getPrefixCls,
26
+ prefixCls = _useContext.prefixCls,
27
+ userDefaultProps = _useContext.compDefaultProps;
31
28
  var selectProps = getCompProps('Select', userDefaultProps, props);
32
29
  var size = selectProps.size,
33
- value = selectProps.value,
34
- autoFocus = selectProps.autoFocus,
35
- className = selectProps.className,
36
- defaultOpen = selectProps.defaultOpen,
37
- dropdownClassName = selectProps.dropdownClassName,
38
- disabled = selectProps.disabled,
39
- borderType = selectProps.borderType,
40
- _selectProps$showArro = selectProps.showArrow,
41
- showArrow = _selectProps$showArro === void 0 ? true : _selectProps$showArro,
42
- allowClear = selectProps.allowClear,
43
- customPrefixcls = selectProps.prefixCls,
44
- onFocus = selectProps.onFocus,
45
- onBlur = selectProps.onBlur,
46
- onClear = selectProps.onClear,
47
- onVisibleChange = selectProps.onVisibleChange,
48
- mode = selectProps.mode,
49
- showSearch = selectProps.showSearch,
50
- onChange = selectProps.onChange,
51
- onSearch = selectProps.onSearch,
52
- defaultValue = selectProps.defaultValue,
53
- labelInValue = selectProps.labelInValue,
54
- children = selectProps.children,
55
- options = selectProps.options,
56
- placeholder = selectProps.placeholder,
57
- dropdownStyle = selectProps.dropdownStyle,
58
- style = selectProps.style,
59
- clearIcon = selectProps.clearIcon,
60
- filterOption = selectProps.filterOption,
61
- optionFilterProp = selectProps.optionFilterProp,
62
- optionLabelProp = selectProps.optionLabelProp,
63
- _selectProps$popperSt = selectProps.popperStyle,
64
- popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
65
- tagRender = selectProps.tagRender,
66
- virtualListProps = selectProps.virtualListProps;
30
+ value = selectProps.value,
31
+ autoFocus = selectProps.autoFocus,
32
+ className = selectProps.className,
33
+ defaultOpen = selectProps.defaultOpen,
34
+ dropdownClassName = selectProps.dropdownClassName,
35
+ disabled = selectProps.disabled,
36
+ borderType = selectProps.borderType,
37
+ _selectProps$showArro = selectProps.showArrow,
38
+ showArrow = _selectProps$showArro === void 0 ? true : _selectProps$showArro,
39
+ allowClear = selectProps.allowClear,
40
+ customPrefixcls = selectProps.prefixCls,
41
+ onFocus = selectProps.onFocus,
42
+ onBlur = selectProps.onBlur,
43
+ onClear = selectProps.onClear,
44
+ onVisibleChange = selectProps.onVisibleChange,
45
+ mode = selectProps.mode,
46
+ showSearch = selectProps.showSearch,
47
+ onChange = selectProps.onChange,
48
+ onSearch = selectProps.onSearch,
49
+ defaultValue = selectProps.defaultValue,
50
+ labelInValue = selectProps.labelInValue,
51
+ children = selectProps.children,
52
+ options = selectProps.options,
53
+ placeholder = selectProps.placeholder,
54
+ dropdownStyle = selectProps.dropdownStyle,
55
+ style = selectProps.style,
56
+ clearIcon = selectProps.clearIcon,
57
+ filterOption = selectProps.filterOption,
58
+ optionFilterProp = selectProps.optionFilterProp,
59
+ optionLabelProp = selectProps.optionLabelProp,
60
+ _selectProps$popperSt = selectProps.popperStyle,
61
+ popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
62
+ tagRender = selectProps.tagRender,
63
+ virtualListProps = selectProps.virtualListProps;
67
64
  var isMultiple = mode === 'multiple'; // 是否多选
68
-
69
65
  var _useMergedState = useMergedState(undefined, {
70
- value: value,
71
- defaultValue: defaultValue
72
- }),
73
- _useMergedState2 = _slicedToArray(_useMergedState, 2),
74
- initValue = _useMergedState2[0],
75
- setInitValue = _useMergedState2[1];
76
-
66
+ value: value,
67
+ defaultValue: defaultValue
68
+ }),
69
+ _useMergedState2 = _slicedToArray(_useMergedState, 2),
70
+ initValue = _useMergedState2[0],
71
+ setInitValue = _useMergedState2[1];
77
72
  var realChildren = Array.isArray(options) ? options : toArray(children); // options配置项和默认children
78
-
79
73
  var innerRef = useRef();
80
74
  var selectRef = ref || innerRef;
81
75
  var searchRef = useRef(null); // 搜索框ref
82
-
83
76
  var selectionRef = useRef(null);
84
77
  var dropDownRef = useRef(null);
85
78
  var multipleRef = useRef({
86
79
  selectedVal: isMultiple ? [] : null,
87
80
  selectMulOpts: []
88
81
  }); // 多选ref已选中项
89
-
90
82
  var measureRef = useRef(null);
91
-
92
83
  var _useState = useState([]),
93
- _useState2 = _slicedToArray(_useState, 2),
94
- mulOptions = _useState2[0],
95
- setMulOptions = _useState2[1];
96
-
84
+ _useState2 = _slicedToArray(_useState, 2),
85
+ mulOptions = _useState2[0],
86
+ setMulOptions = _useState2[1];
97
87
  var _useState3 = useState(''),
98
- _useState4 = _slicedToArray(_useState3, 2),
99
- singleVal = _useState4[0],
100
- setSingleVal = _useState4[1];
101
-
88
+ _useState4 = _slicedToArray(_useState3, 2),
89
+ singleVal = _useState4[0],
90
+ setSingleVal = _useState4[1];
102
91
  var _useState5 = useState(!!props.visible || defaultOpen),
103
- _useState6 = _slicedToArray(_useState5, 2),
104
- optionShow = _useState6[0],
105
- setOptionShow = _useState6[1]; // 下拉列表是否展示
92
+ _useState6 = _slicedToArray(_useState5, 2),
93
+ optionShow = _useState6[0],
94
+ setOptionShow = _useState6[1]; // 下拉列表是否展示
106
95
  // const [searchInput, setSearchInput] = useState<string>('') // 搜索框值
107
-
108
-
109
96
  var _useState7 = useState(''),
110
- _useState8 = _slicedToArray(_useState7, 2),
111
- searchValue = _useState8[0],
112
- setSearchValue = _useState8[1]; // 搜索框定时器
113
-
114
-
97
+ _useState8 = _slicedToArray(_useState7, 2),
98
+ searchValue = _useState8[0],
99
+ setSearchValue = _useState8[1]; // 搜索框定时器
115
100
  var _useState9 = useState(INPUT_MIN_WIDTH),
116
- _useState10 = _slicedToArray(_useState9, 2),
117
- inputWidth = _useState10[0],
118
- setInputWidth = _useState10[1]; // 输入框宽度
119
-
120
-
121
- var selectPrefixCls = getPrefixCls(prefixCls, 'select', customPrefixcls); // 选择器样式
122
-
101
+ _useState10 = _slicedToArray(_useState9, 2),
102
+ inputWidth = _useState10[0],
103
+ setInputWidth = _useState10[1]; // 输入框宽度
104
+ var selectPrefixCls = getPrefixCls(prefixCls, 'select', customPrefixcls);
105
+ // 选择器样式
123
106
  var selectCls = classNames(selectPrefixCls, className, _defineProperty({}, "".concat(selectPrefixCls, "-visible"), optionShow));
124
- var selectionCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-selector"), true)); // 下拉列表框样式
125
-
126
- var dropDownCls = classNames(dropdownClassName, _defineProperty({}, "".concat(selectPrefixCls, "-dropdown"), true)); // 下拉子项列表样式
127
-
128
- var dropContentCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-dropdown-scroll"), (isMultiple ? (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) > 8 : (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) > 10) || selectProps.dropdownRender)); // 多选底部样式
129
-
130
- var multipleFooterCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-multiple-footer"), true)); // 多选,单选公共样式
131
-
107
+ var selectionCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-selector"), true));
108
+ // 下拉列表框样式
109
+ var dropDownCls = classNames(dropdownClassName, _defineProperty({}, "".concat(selectPrefixCls, "-dropdown"), true));
110
+ // 下拉子项列表样式
111
+ var dropContentCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-dropdown-scroll"), (isMultiple ? (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) > 8 : (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) > 10) || selectProps.dropdownRender));
112
+ // 多选底部样式
113
+ var multipleFooterCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-multiple-footer"), true));
114
+ // 多选,单选公共样式
132
115
  var commCls = classNames((_classNames6 = {}, _defineProperty(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), _defineProperty(_classNames6, _concatInstanceProperty(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), _defineProperty(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), _classNames6));
133
116
  useEffect(function () {
134
117
  setOptionShow(!!props.visible);
135
- }, [props.visible]); // realchildren更新时数据处理---待解决
136
-
118
+ }, [props.visible]);
119
+ // realchildren更新时数据处理---待解决
137
120
  useEffect(function () {
138
121
  if (isMultiple) {
139
122
  multipleRef.current.selectedVal = Array.isArray(initValue) ? _toConsumableArray(initValue) : initValue || [];
140
-
141
123
  if (Array.isArray(initValue)) {
142
124
  if (realChildren === null || realChildren === void 0 ? void 0 : realChildren.length) {
143
125
  var _context2;
144
-
145
126
  var arr = [];
146
-
147
127
  _mapInstanceProperty(initValue).call(initValue, function (item) {
148
128
  var _a, _b;
149
-
150
129
  var obj = (realChildren === null || realChildren === void 0 ? void 0 : _findInstanceProperty(realChildren).call(realChildren, function (child) {
151
130
  if (child && child.props) {
152
131
  return child.props.value === item;
@@ -154,7 +133,6 @@ var InternalSelect = function InternalSelect(props, ref) {
154
133
  return child.value === item;
155
134
  }
156
135
  })) || {};
157
-
158
136
  if (options && options.length) {
159
137
  arr.push({
160
138
  value: obj === null || obj === void 0 ? void 0 : obj.value,
@@ -167,11 +145,9 @@ var InternalSelect = function InternalSelect(props, ref) {
167
145
  });
168
146
  }
169
147
  });
170
-
171
148
  setMulOptions(_concatInstanceProperty(_context2 = []).call(_context2, arr));
172
149
  multipleRef.current.selectMulOpts = _concatInstanceProperty(arr).call(arr);
173
150
  }
174
-
175
151
  if (!(initValue === null || initValue === void 0 ? void 0 : initValue.length)) {
176
152
  setMulOptions([]);
177
153
  }
@@ -181,18 +157,15 @@ var InternalSelect = function InternalSelect(props, ref) {
181
157
  useEffect(function () {
182
158
  if (!isMultiple) {
183
159
  multipleRef.current.selectedVal = initValue; // 默认选中值
184
-
185
160
  if (initValue !== undefined) {
186
161
  var obj = (realChildren === null || realChildren === void 0 ? void 0 : _findInstanceProperty(realChildren).call(realChildren, function (child) {
187
162
  var _a;
188
-
189
163
  if (child && child.props) {
190
164
  return ((_a = child.props) === null || _a === void 0 ? void 0 : _a.value) === initValue;
191
165
  } else {
192
166
  return (child === null || child === void 0 ? void 0 : child.value) === initValue;
193
167
  }
194
168
  })) || {};
195
-
196
169
  if (options && options.length) {
197
170
  setSingleVal(getOptionLabel(obj) || (obj === null || obj === void 0 ? void 0 : obj.value));
198
171
  } else {
@@ -216,23 +189,19 @@ var InternalSelect = function InternalSelect(props, ref) {
216
189
  var handleBlur = useCallback(function (e) {
217
190
  e.stopPropagation();
218
191
  onBlur && onBlur(e);
219
- }, [onBlur]); // 点击组件
220
-
192
+ }, [onBlur]);
193
+ // 点击组件
221
194
  var handleClick = function handleClick() {
222
195
  if (disabled) return;
223
-
224
196
  if (optionShow) {
225
197
  var onDropdownVisibleChange = selectProps.onDropdownVisibleChange;
226
198
  onDropdownVisibleChange && onDropdownVisibleChange(true);
227
199
  }
228
200
  };
229
-
230
201
  useEffect(function () {
231
202
  selectionRef.current.addEventListener('mouseup', function (e) {
232
203
  var _a;
233
-
234
204
  var isCloseBtn = ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.className.indexOf('kd-tag-close-icon')) > -1;
235
-
236
205
  if (isCloseBtn) {
237
206
  e.stopPropagation();
238
207
  }
@@ -245,94 +214,73 @@ var InternalSelect = function InternalSelect(props, ref) {
245
214
  if (filterOption === false || !searchValue) {
246
215
  return realChildren;
247
216
  }
248
-
249
217
  var childrenList = [];
250
-
251
218
  var handleFilledOption = function handleFilledOption(option) {
252
219
  if (filterOption === true) {
253
220
  return String(option[optionFilterProp]).toLowerCase().indexOf(searchValue.toLowerCase()) !== -1;
254
221
  } else if (typeof filterOption === 'function') {
255
222
  return filterOption(searchValue, option);
256
223
  }
257
-
258
224
  return true;
259
225
  };
260
-
261
226
  _mapInstanceProperty(realChildren).call(realChildren, function (item) {
262
227
  if (item === null || item === undefined) return;
263
228
  var isValidOption = true;
264
-
265
229
  if ((item === null || item === void 0 ? void 0 : item.props) && (item.type.displayName === 'Option' || item.type.name === 'Option')) {
266
230
  isValidOption = handleFilledOption(item.props);
267
231
  } else {
268
232
  isValidOption = handleFilledOption(item);
269
233
  }
270
-
271
234
  if (isValidOption) {
272
235
  childrenList.push(item);
273
236
  }
274
237
  });
275
-
276
238
  return childrenList;
277
239
  }, [searchValue, realChildren, filterOption, optionFilterProp]);
278
240
  var getOptionLabel = useCallback(function (obj) {
279
241
  var _a;
280
-
281
242
  var text = 'options' in selectProps ? 'label' : optionLabelProp;
282
-
283
243
  if (obj.props) {
284
244
  if (text) {
285
245
  return obj === null || obj === void 0 ? void 0 : obj.props[text];
286
246
  }
287
-
288
247
  return (_a = obj.props) === null || _a === void 0 ? void 0 : _a.children;
289
248
  } else {
290
249
  if (text) {
291
250
  return obj[text];
292
251
  }
293
252
  }
294
-
295
253
  return obj === null || obj === void 0 ? void 0 : obj.label;
296
- }, [optionLabelProp, selectProps]); // 点击下拉列表中某项回调
297
-
254
+ }, [optionLabelProp, selectProps]);
255
+ // 点击下拉列表中某项回调
298
256
  var handleOption = function handleOption(key, label, isSelected) {
299
257
  var _a;
300
-
301
258
  var onSelect = selectProps.onSelect,
302
- onDeselect = selectProps.onDeselect,
303
- labelInValue = selectProps.labelInValue,
304
- value = selectProps.value;
259
+ onDeselect = selectProps.onDeselect,
260
+ labelInValue = selectProps.labelInValue,
261
+ value = selectProps.value;
305
262
  var obj = (realChildren === null || realChildren === void 0 ? void 0 : _findInstanceProperty(realChildren).call(realChildren, function (child) {
306
263
  var _a;
307
-
308
264
  if (child && child.props) {
309
265
  return ((_a = child.props) === null || _a === void 0 ? void 0 : _a.value) === key;
310
266
  } else {
311
267
  return (child === null || child === void 0 ? void 0 : child.value) === key;
312
268
  }
313
269
  })) || {};
314
-
315
270
  if (isMultiple) {
316
271
  (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
317
272
  }
318
-
319
273
  var optionsObj = obj.props ? obj.props : obj || {};
320
-
321
274
  if (value !== undefined) {
322
275
  if (isMultiple) {
323
276
  var _multipleRef$current = multipleRef.current,
324
- selectedVal = _multipleRef$current.selectedVal,
325
- selectMulOpts = _multipleRef$current.selectMulOpts;
326
-
277
+ selectedVal = _multipleRef$current.selectedVal,
278
+ selectMulOpts = _multipleRef$current.selectMulOpts;
327
279
  var valArr = _toConsumableArray(selectedVal);
328
-
329
280
  var optsArr = _toConsumableArray(selectMulOpts);
330
-
331
281
  if (_includesInstanceProperty(selectedVal).call(selectedVal, key)) {
332
282
  var idx = selectedVal.indexOf(key);
333
-
334
283
  _spliceInstanceProperty(valArr).call(valArr, idx, 1);
335
-
336
284
  _spliceInstanceProperty(optsArr).call(optsArr, idx, 1);
337
285
  } else {
338
286
  valArr.push(key);
@@ -342,9 +290,7 @@ var InternalSelect = function InternalSelect(props, ref) {
342
290
  label: getOptionLabel(obj) || key
343
291
  }));
344
292
  }
345
-
346
293
  onChange && onChange(labelInValue ? optsArr : valArr, optsArr);
347
-
348
294
  if (!isSelected) {
349
295
  onDeselect && onDeselect(key); // 下拉项取消选中时调用,参数为选中项的value,多选模式下生效
350
296
  }
@@ -358,11 +304,9 @@ var InternalSelect = function InternalSelect(props, ref) {
358
304
  label: label
359
305
  }));
360
306
  }
361
-
362
307
  onSelect && onSelect(key);
363
308
  return;
364
309
  }
365
-
366
310
  if (!isMultiple) {
367
311
  setSingleVal(getOptionLabel(obj) || key);
368
312
  multipleRef.current.selectedVal = key;
@@ -377,27 +321,21 @@ var InternalSelect = function InternalSelect(props, ref) {
377
321
  }));
378
322
  } else {
379
323
  var _multipleRef$current2 = multipleRef.current,
380
- _selectedVal = _multipleRef$current2.selectedVal,
381
- _selectMulOpts = _multipleRef$current2.selectMulOpts;
382
-
324
+ _selectedVal = _multipleRef$current2.selectedVal,
325
+ _selectMulOpts = _multipleRef$current2.selectMulOpts;
383
326
  if (_includesInstanceProperty(_selectedVal).call(_selectedVal, key)) {
384
327
  var _idx = _selectedVal.indexOf(key);
385
-
386
328
  _spliceInstanceProperty(_selectedVal).call(_selectedVal, _idx, 1);
387
-
388
329
  _spliceInstanceProperty(_selectMulOpts).call(_selectMulOpts, _idx, 1);
389
330
  } else {
390
331
  _selectedVal.push(key);
391
-
392
332
  _selectMulOpts.push(_extends(_extends({}, optionsObj), {
393
333
  value: key,
394
334
  label: getOptionLabel(obj) || key
395
335
  }));
396
336
  }
397
-
398
337
  setMulOptions(_toConsumableArray(_selectMulOpts));
399
338
  onChange && onChange(labelInValue ? _selectMulOpts : _selectedVal, _selectMulOpts);
400
-
401
339
  if (!isSelected) {
402
340
  onDeselect && onDeselect(key); // 下拉项取消选中时调用,参数为选中项的value,多选模式下生效
403
341
  }
@@ -405,23 +343,18 @@ var InternalSelect = function InternalSelect(props, ref) {
405
343
 
406
344
  setSearchValue('');
407
345
  onSelect && onSelect(key); // 下拉项被选中时调用,参数为选中项value或key
408
- }; // 多选模式下选中所有 与清除所有 (可以优化)
409
-
410
-
346
+ };
347
+ // 多选模式下选中所有 与清除所有 (可以优化)
411
348
  var handleSelectAll = function handleSelectAll() {
412
349
  var _multipleRef$current3 = multipleRef.current,
413
- selectedVal = _multipleRef$current3.selectedVal,
414
- selectMulOpts = _multipleRef$current3.selectMulOpts;
415
-
350
+ selectedVal = _multipleRef$current3.selectedVal,
351
+ selectMulOpts = _multipleRef$current3.selectMulOpts;
416
352
  var newSelectedVal = _toConsumableArray(selectedVal);
417
-
418
353
  var newSelectMulOpts = _toConsumableArray(selectMulOpts);
419
-
420
354
  if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== newSelectedVal.length) {
421
355
  _mapInstanceProperty(filledOptions).call(filledOptions, function (child) {
422
356
  var _ref = child.props || child,
423
- value = _ref.value;
424
-
357
+ value = _ref.value;
425
358
  if (!_includesInstanceProperty(newSelectedVal).call(newSelectedVal, value)) {
426
359
  newSelectedVal.push(value);
427
360
  newSelectMulOpts.push({
@@ -430,7 +363,6 @@ var InternalSelect = function InternalSelect(props, ref) {
430
363
  });
431
364
  }
432
365
  });
433
-
434
366
  if (typeof value === 'undefined') {
435
367
  multipleRef.current.selectedVal = newSelectedVal;
436
368
  multipleRef.current.selectMulOpts = newSelectMulOpts;
@@ -440,34 +372,30 @@ var InternalSelect = function InternalSelect(props, ref) {
440
372
  } else {
441
373
  newSelectedVal = [];
442
374
  newSelectMulOpts = [];
443
-
444
375
  if (typeof value === 'undefined') {
445
376
  multipleRef.current.selectedVal = [];
446
377
  multipleRef.current.selectMulOpts = [];
447
378
  setMulOptions([]);
448
379
  }
449
380
  }
450
-
451
381
  onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
452
- }; // 输入框变化搜索内容
453
-
454
-
382
+ };
383
+ // 输入框变化搜索内容
455
384
  var handleSearchChange = useCallback(function (event) {
456
385
  var val = event.currentTarget.value;
457
386
  setSearchValue(val);
458
387
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
459
- }, [onSearch]); // 清除搜索内容
460
-
388
+ }, [onSearch]);
389
+ // 清除搜索内容
461
390
  var handleClear = useCallback(function () {
462
391
  if (searchRef.current) {
463
392
  searchRef.current.value = '';
464
393
  setSearchValue('');
465
394
  }
466
- }, [searchRef]); // 清空选择器内容
467
-
395
+ }, [searchRef]);
396
+ // 清空选择器内容
468
397
  var handleReset = function handleReset(e) {
469
398
  e.stopPropagation();
470
-
471
399
  if (isMultiple) {
472
400
  multipleRef.current.selectedVal = [];
473
401
  multipleRef.current.selectMulOpts = [];
@@ -475,36 +403,29 @@ var InternalSelect = function InternalSelect(props, ref) {
475
403
  } else {
476
404
  setInitValue('');
477
405
  }
478
-
479
406
  onClear && onClear('');
480
407
  setSearchValue('');
481
408
  onChange && onChange(isMultiple ? '' : undefined);
482
- }; // 多选模式下清除某一项
483
-
484
-
409
+ };
410
+ // 多选模式下清除某一项
485
411
  var handleRemove = function handleRemove(e, tag) {
486
412
  if (disabled) return;
487
413
  var _multipleRef$current4 = multipleRef.current,
488
- selectedVal = _multipleRef$current4.selectedVal,
489
- selectMulOpts = _multipleRef$current4.selectMulOpts;
414
+ selectedVal = _multipleRef$current4.selectedVal,
415
+ selectMulOpts = _multipleRef$current4.selectMulOpts;
490
416
  var idx = selectedVal.indexOf(tag);
491
-
492
417
  _spliceInstanceProperty(selectedVal).call(selectedVal, idx, 1);
493
-
494
418
  _spliceInstanceProperty(selectMulOpts).call(selectMulOpts, idx, 1);
495
-
496
419
  setMulOptions(_toConsumableArray(selectMulOpts));
497
420
  onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
498
421
  e.stopPropagation();
499
- }; // 渲染后缀图标
500
-
501
-
422
+ };
423
+ // 渲染后缀图标
502
424
  var renderSuffix = function renderSuffix() {
503
425
  var _classNames7;
504
-
505
426
  var suffixIcon = selectProps.suffixIcon;
506
- var selectedVal = multipleRef.current.selectedVal; // 选择器下拉icon样式
507
-
427
+ var selectedVal = multipleRef.current.selectedVal;
428
+ // 选择器下拉icon样式
508
429
  var arrowIconCls = classNames((_classNames7 = {}, _defineProperty(_classNames7, "".concat(selectPrefixCls, "-icon-arrow"), true), _defineProperty(_classNames7, "".concat(selectPrefixCls, "-icon-arrow-up"), optionShow), _defineProperty(_classNames7, "".concat(selectPrefixCls, "-icon-arrow-down"), !optionShow), _defineProperty(_classNames7, "".concat(selectPrefixCls, "-icon-arrow-focus"), optionShow), _classNames7));
509
430
  var iconShow = allowClear && !disabled && ((isMultiple ? mulOptions.length > 0 : (selectedVal !== null && selectedVal !== void 0 ? selectedVal : '') !== '') || searchValue);
510
431
  var clearIconCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-icon-clear"), true));
@@ -522,7 +443,6 @@ var InternalSelect = function InternalSelect(props, ref) {
522
443
  type: "arrow-down"
523
444
  })));
524
445
  };
525
-
526
446
  var renderOption = function renderOption(child, index) {
527
447
  if ((child === null || child === void 0 ? void 0 : child.props) && (child.type.displayName === 'Option' || child.type.name === 'Option')) {
528
448
  return /*#__PURE__*/React.createElement(Option, _extends({
@@ -544,15 +464,13 @@ var InternalSelect = function InternalSelect(props, ref) {
544
464
  }, child), (child === null || child === void 0 ? void 0 : child.label) || (child === null || child === void 0 ? void 0 : child.value));
545
465
  }
546
466
  };
547
-
548
467
  var dropRender = function dropRender(childrenToRender, heightStyle) {
549
468
  return /*#__PURE__*/React.createElement("div", {
550
469
  className: dropContentCls,
551
470
  style: heightStyle
552
471
  }, childrenToRender);
553
- }; // 下拉列表为空时显示的内容
554
-
555
-
472
+ };
473
+ // 下拉列表为空时显示的内容
556
474
  var renderNotContent = function renderNotContent() {
557
475
  // 下拉列表为空
558
476
  var emptyListCls = classNames(_defineProperty({}, "".concat(selectPrefixCls, "-dropdown-empty"), true));
@@ -562,18 +480,16 @@ var InternalSelect = function InternalSelect(props, ref) {
562
480
  className: emptyListCls
563
481
  }, emptyContent);
564
482
  };
565
-
566
483
  var isShowSearch = useMemo(function () {
567
484
  return isBoolean(showSearch) ? showSearch : isMultiple;
568
- }, [isMultiple, showSearch]); // 渲染下拉列表框
569
-
485
+ }, [isMultiple, showSearch]);
486
+ // 渲染下拉列表框
570
487
  var renderContent = function renderContent() {
571
488
  var dropdownRender = selectProps.dropdownRender,
572
- listHeight = selectProps.listHeight;
489
+ listHeight = selectProps.listHeight;
573
490
  var selectedVal = multipleRef.current.selectedVal;
574
491
  var childrenToRender = filledOptions;
575
492
  var eleOptionList = filledOptions;
576
-
577
493
  if (Array.isArray(childrenToRender) && childrenToRender.length > 0) {
578
494
  childrenToRender = _mapInstanceProperty(childrenToRender).call(childrenToRender, function (item, index) {
579
495
  if (item === null || item === undefined) return;
@@ -585,7 +501,6 @@ var InternalSelect = function InternalSelect(props, ref) {
585
501
  data: childrenToRender,
586
502
  itemKey: function itemKey(child) {
587
503
  var _a;
588
-
589
504
  return (_a = child.props) === null || _a === void 0 ? void 0 : _a.value;
590
505
  },
591
506
  onMouseDown: function onMouseDown(e) {
@@ -598,15 +513,13 @@ var InternalSelect = function InternalSelect(props, ref) {
598
513
  return child;
599
514
  });
600
515
  }
601
-
602
516
  var heightStyle = {
603
517
  maxHeight: listHeight || '300px'
604
- }; // 下拉框style属性
605
-
518
+ };
519
+ // 下拉框style属性
606
520
  var dropDownStyle = _extends({
607
521
  width: style === null || style === void 0 ? void 0 : style.width
608
522
  }, dropdownStyle);
609
-
610
523
  var checkboxStyle = {
611
524
  height: '30px',
612
525
  background: 'none'
@@ -627,12 +540,10 @@ var InternalSelect = function InternalSelect(props, ref) {
627
540
  }, "\u5168\u9009"), /*#__PURE__*/React.createElement("span", {
628
541
  className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
629
542
  }, "\u5DF2\u9009", /*#__PURE__*/React.createElement("span", null, isMultiple ? selectedVal.length : 0), "\u9879"))));
630
- }; // 处理多选tag
631
-
632
-
543
+ };
544
+ // 处理多选tag
633
545
  var handleMaxTagHolder = useCallback(function () {
634
546
  var maxTagPlaceholder = selectProps.maxTagPlaceholder;
635
-
636
547
  if (typeof maxTagPlaceholder === 'function') {
637
548
  return /*#__PURE__*/React.createElement(Tag, {
638
549
  type: "edit",
@@ -647,13 +558,10 @@ var InternalSelect = function InternalSelect(props, ref) {
647
558
  }, maxTagPlaceholder);
648
559
  }
649
560
  }, [mulOptions]);
650
-
651
561
  var renderSingle = function renderSingle() {
652
562
  var _a, _b, _c;
653
-
654
563
  var obj = (realChildren === null || realChildren === void 0 ? void 0 : _findInstanceProperty(realChildren).call(realChildren, function (child) {
655
564
  var _a;
656
-
657
565
  if (child && child.props) {
658
566
  return ((_a = child.props) === null || _a === void 0 ? void 0 : _a.value) === initValue;
659
567
  } else {
@@ -661,13 +569,11 @@ var InternalSelect = function InternalSelect(props, ref) {
661
569
  }
662
570
  })) || {};
663
571
  var title = '';
664
-
665
572
  if (obj.props) {
666
573
  title = ((_a = obj === null || obj === void 0 ? void 0 : obj.props) === null || _a === void 0 ? void 0 : _a.title) || ((_b = obj === null || obj === void 0 ? void 0 : obj.props) === null || _b === void 0 ? void 0 : _b.label) || ((_c = obj === null || obj === void 0 ? void 0 : obj.props) === null || _c === void 0 ? void 0 : _c.children);
667
574
  } else {
668
575
  title = (obj === null || obj === void 0 ? void 0 : obj.title) || (obj === null || obj === void 0 ? void 0 : obj.label) || (obj === null || obj === void 0 ? void 0 : obj.children);
669
576
  }
670
-
671
577
  var hiddenStyle = isShowSearch && !!searchValue || singleVal ? {
672
578
  visibility: 'hidden'
673
579
  } : undefined;
@@ -693,14 +599,12 @@ var InternalSelect = function InternalSelect(props, ref) {
693
599
  }, placeholder), /*#__PURE__*/React.createElement("span", {
694
600
  className: "".concat(selectPrefixCls, "-suffix")
695
601
  }, renderSuffix())));
696
- }; // 渲染多选选择器 (待优化:多选框下拉按钮样式调整,限制tag数代码优化)
697
-
698
-
602
+ };
603
+ // 渲染多选选择器 (待优化:多选框下拉按钮样式调整,限制tag数代码优化)
699
604
  var renderMultiple = function renderMultiple() {
700
605
  var _context3, _classNames10, _context4, _classNames11;
701
-
702
606
  var maxTagCount = selectProps.maxTagCount,
703
- maxTagPlaceholder = selectProps.maxTagPlaceholder;
607
+ maxTagPlaceholder = selectProps.maxTagPlaceholder;
704
608
  var multipleCls = classNames(commCls, (_classNames10 = {}, _defineProperty(_classNames10, "".concat(selectPrefixCls, "-multiple-disabled"), disabled), _defineProperty(_classNames10, _concatInstanceProperty(_context3 = "".concat(selectPrefixCls, "-")).call(_context3, mode), mode), _defineProperty(_classNames10, "".concat(selectPrefixCls, "-focused"), autoFocus || optionShow), _defineProperty(_classNames10, "".concat(selectPrefixCls, "-placeholder"), placeholder && !mulOptions.length), _classNames10));
705
609
  var itemCls = classNames((_classNames11 = {}, _defineProperty(_classNames11, "".concat(selectPrefixCls, "-selection-item"), true), _defineProperty(_classNames11, _concatInstanceProperty(_context4 = "".concat(selectPrefixCls, "-selection-item-")).call(_context4, size), size), _classNames11));
706
610
  var TagStyle = {
@@ -712,7 +616,7 @@ var InternalSelect = function InternalSelect(props, ref) {
712
616
  ref: selectionRef
713
617
  }, Array.isArray(mulOptions) && /*#__PURE__*/React.createElement(React.Fragment, null, _mapInstanceProperty(mulOptions).call(mulOptions, function (item, index) {
714
618
  var label = item.label,
715
- value = item.value;
619
+ value = item.value;
716
620
  return (!maxTagCount || index <= maxTagCount - 1) && /*#__PURE__*/React.createElement("span", {
717
621
  key: value,
718
622
  className: classNames("".concat(selectPrefixCls, "-selection-tag")),
@@ -762,9 +666,7 @@ var InternalSelect = function InternalSelect(props, ref) {
762
666
  className: "".concat(selectPrefixCls, "-suffix")
763
667
  }, renderSuffix()));
764
668
  };
765
-
766
669
  var singleCls = classNames(commCls, (_classNames12 = {}, _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single"), true), _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single-disabled"), disabled), _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single-focused"), autoFocus && !disabled || optionShow), _classNames12));
767
-
768
670
  var renderSelect = function renderSelect() {
769
671
  return /*#__PURE__*/React.createElement("div", {
770
672
  className: selectCls,
@@ -776,38 +678,31 @@ var InternalSelect = function InternalSelect(props, ref) {
776
678
  tabIndex: disabled ? -1 : 0,
777
679
  onFocus: function onFocus() {
778
680
  var _a;
779
-
780
681
  return (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
781
682
  },
782
683
  onBlur: function onBlur() {
783
684
  var _a;
784
-
785
685
  return (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.blur();
786
686
  }
787
687
  }, !isMultiple ? renderSingle() : renderMultiple()));
788
688
  };
789
-
790
689
  var catchStyle = function catchStyle() {
791
690
  var _a;
792
-
793
691
  if (selectRef === null || selectRef === void 0 ? void 0 : selectRef.current) {
794
692
  var _ref2 = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect(),
795
- width = _ref2.width;
796
-
693
+ width = _ref2.width;
797
694
  return _extends({
798
695
  width: (dropdownStyle === null || dropdownStyle === void 0 ? void 0 : dropdownStyle.width) || (width > 75 ? width : 75),
799
696
  zIndex: 1050
800
697
  }, popperStyle);
801
698
  }
802
699
  };
803
-
804
700
  var handleVisibleChange = function handleVisibleChange(visible) {
805
701
  if (visible !== optionShow) {
806
702
  props.visible === undefined && setOptionShow(visible);
807
703
  onVisibleChange && onVisibleChange(visible);
808
704
  }
809
705
  };
810
-
811
706
  var popperProps = _extends(_extends({}, selectProps), {
812
707
  prefixCls: selectPrefixCls,
813
708
  placement: 'bottomLeft',
@@ -817,10 +712,8 @@ var InternalSelect = function InternalSelect(props, ref) {
817
712
  onVisibleChange: handleVisibleChange,
818
713
  clickToClose: !isShowSearch
819
714
  });
820
-
821
715
  return usePopper(renderSelect(), renderContent(), popperProps);
822
716
  };
823
-
824
717
  var Select = /*#__PURE__*/React.forwardRef(InternalSelect);
825
718
  Select.displayName = 'Select';
826
719
  export default Select;