@kdcloudjs/kdesign 1.6.34 → 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 (598) hide show
  1. package/dist/kdesign-complete.less +5 -0
  2. package/dist/kdesign.css +6 -1
  3. package/dist/kdesign.css.map +1 -1
  4. package/dist/kdesign.js +9170 -11861
  5. package/dist/kdesign.js.map +1 -1
  6. package/dist/kdesign.min.css +3 -3
  7. package/dist/kdesign.min.js +18 -18
  8. package/dist/kdesign.min.js.map +1 -1
  9. package/es/_utils/KeyCode.js +6 -119
  10. package/es/_utils/arrayUtil.js +0 -5
  11. package/es/_utils/devwarning.js +0 -1
  12. package/es/_utils/formatUtil.js +36 -99
  13. package/es/_utils/getStringLength.js +0 -2
  14. package/es/_utils/hooks.js +32 -72
  15. package/es/_utils/index.js +0 -2
  16. package/es/_utils/numberUtil.js +32 -55
  17. package/es/_utils/omit.js +0 -2
  18. package/es/_utils/raf.js +0 -6
  19. package/es/_utils/resizeObserver.js +2 -17
  20. package/es/_utils/testBrowserType.js +0 -2
  21. package/es/_utils/type.js +0 -2
  22. package/es/_utils/usePopper.js +84 -167
  23. package/es/alert/alert.js +20 -50
  24. package/es/anchor/anchor-link.js +12 -23
  25. package/es/anchor/anchor.js +69 -168
  26. package/es/avatar/avatar.js +29 -44
  27. package/es/badge/badge.js +33 -53
  28. package/es/base-data/base-data.js +89 -197
  29. package/es/button/button.js +30 -55
  30. package/es/button/group.js +27 -39
  31. package/es/card/card.js +19 -23
  32. package/es/carousel/carousel.js +31 -65
  33. package/es/carousel/displayList.js +2 -5
  34. package/es/carousel/fadeList.js +4 -7
  35. package/es/carousel/slideList.js +1 -7
  36. package/es/carousel/slidebar.js +5 -12
  37. package/es/cascader/cascader.js +56 -116
  38. package/es/cascader/util.js +10 -58
  39. package/es/checkbox/checkbox.js +22 -47
  40. package/es/checkbox/group.js +19 -35
  41. package/es/checkbox/style/index.css +2 -0
  42. package/es/checkbox/style/index.less +1 -0
  43. package/es/city-picker/city-group.js +5 -13
  44. package/es/city-picker/city-list.js +4 -9
  45. package/es/city-picker/city-panel-item.js +3 -8
  46. package/es/city-picker/city-panel.js +25 -50
  47. package/es/city-picker/city-picker.js +22 -46
  48. package/es/city-picker/city-search-panel.js +6 -13
  49. package/es/city-picker/no-data.js +3 -6
  50. package/es/city-picker/utils/grouping.js +0 -4
  51. package/es/collapse/collapse.js +17 -40
  52. package/es/collapse/panel.js +21 -44
  53. package/es/config-provider/SizeContext.js +1 -1
  54. package/es/config-provider/compDefaultProps.js +0 -1
  55. package/es/config-provider/configProvider.js +2 -7
  56. package/es/config-provider/defaultConfig.js +0 -1
  57. package/es/date-picker/calendar.js +12 -21
  58. package/es/date-picker/date-panel.js +20 -60
  59. package/es/date-picker/date-picker.js +145 -186
  60. package/es/date-picker/hooks/use-hover-value.js +5 -13
  61. package/es/date-picker/hooks/use-picker-input.js +17 -31
  62. package/es/date-picker/hooks/use-range-cls.js +8 -14
  63. package/es/date-picker/hooks/use-range-disabled.js +7 -21
  64. package/es/date-picker/hooks/use-range-view-dates.js +18 -39
  65. package/es/date-picker/hooks/use-state-memo.js +0 -2
  66. package/es/date-picker/hooks/use-text-value-mapping.js +6 -11
  67. package/es/date-picker/hooks/use-value-texts.js +0 -1
  68. package/es/date-picker/panel/date-time/date-time.js +7 -10
  69. package/es/date-picker/panel/header/header.js +9 -11
  70. package/es/date-picker/panel/month/month.js +11 -30
  71. package/es/date-picker/panel/quarter/quarter.js +8 -25
  72. package/es/date-picker/panel/time/time-column.js +8 -18
  73. package/es/date-picker/panel/time/time.js +62 -88
  74. package/es/date-picker/panel/week/week.js +25 -57
  75. package/es/date-picker/panel/year/year.js +19 -42
  76. package/es/date-picker/popper.js +28 -35
  77. package/es/date-picker/range/input-range.js +95 -129
  78. package/es/date-picker/range-picker.d.ts +1 -0
  79. package/es/date-picker/range-picker.js +196 -284
  80. package/es/date-picker/single/input-date.js +87 -111
  81. package/es/date-picker/utils/date-fns.js +32 -63
  82. package/es/date-picker/utils/get-extra-footer.js +0 -1
  83. package/es/date-picker/utils/get-ranges.js +13 -19
  84. package/es/date-picker/utils/index.js +9 -80
  85. package/es/drawer/drawer.js +50 -71
  86. package/es/dropdown/dropdown.js +26 -42
  87. package/es/dropdown/menu.d.ts +3 -2
  88. package/es/dropdown/menu.js +32 -43
  89. package/es/empty/defaultEmptyImg.js +2 -5
  90. package/es/empty/empty.js +15 -26
  91. package/es/empty/illustrationEmptyImg.js +2 -5
  92. package/es/filter/condition.js +5 -17
  93. package/es/filter/filter.js +29 -54
  94. package/es/filter/scheme.js +35 -71
  95. package/es/form/Field.js +36 -98
  96. package/es/form/FieldContext.js +0 -2
  97. package/es/form/FieldLabel.js +11 -17
  98. package/es/form/FieldWrapper.js +6 -9
  99. package/es/form/Form.js +28 -46
  100. package/es/form/FormContext.js +0 -4
  101. package/es/form/hooks/useForceUpdate.js +2 -5
  102. package/es/form/hooks/useForm.js +10 -84
  103. package/es/grid/col.js +23 -39
  104. package/es/grid/row.js +22 -36
  105. package/es/icon/icon.js +11 -29
  106. package/es/image/image.js +31 -49
  107. package/es/image/preview-group.js +25 -41
  108. package/es/image/preview.js +24 -39
  109. package/es/image-cropper/cropper.js +13 -23
  110. package/es/image-cropper/image-cropper.js +39 -69
  111. package/es/image-cropper/operation-bar.js +14 -27
  112. package/es/index.js +0 -2
  113. package/es/input/ClearableLabeledInput.js +27 -50
  114. package/es/input/TextArea.js +45 -86
  115. package/es/input/calculateNodeHeight.js +4 -16
  116. package/es/input/index.js +2 -2
  117. package/es/input/input.js +32 -67
  118. package/es/input-number/inputNumber.js +50 -109
  119. package/es/layout/layout.js +28 -49
  120. package/es/layout/sider.js +39 -73
  121. package/es/link/link.js +19 -33
  122. package/es/locale/locale.js +6 -44
  123. package/es/locale/zh-CN.js +0 -2
  124. package/es/menu/menu.js +29 -63
  125. package/es/menu/menuItem.js +27 -52
  126. package/es/menu/subMenu.js +44 -99
  127. package/es/menu/util.js +4 -13
  128. package/es/message/content.js +7 -23
  129. package/es/message/index.js +14 -26
  130. package/es/modal/confirm.js +3 -12
  131. package/es/modal/index.js +0 -4
  132. package/es/modal/modal.js +41 -63
  133. package/es/notification/content.js +13 -35
  134. package/es/notification/index.js +20 -35
  135. package/es/notification-base/index.js +4 -24
  136. package/es/notification-base/notice.js +12 -24
  137. package/es/notification-base/notification.js +3 -18
  138. package/es/pagination/pagination.js +76 -113
  139. package/es/popconfirm/popconfirm.js +22 -33
  140. package/es/progress/circle.js +9 -18
  141. package/es/progress/line.js +5 -9
  142. package/es/progress/progress.js +21 -44
  143. package/es/progress/utils.js +6 -22
  144. package/es/radio/group.js +19 -35
  145. package/es/radio/radio-button.js +6 -19
  146. package/es/radio/radio.js +19 -46
  147. package/es/rate/rate.js +30 -67
  148. package/es/search/option.js +10 -17
  149. package/es/search/quick-search.js +68 -155
  150. package/es/search/search-panel.js +28 -49
  151. package/es/search/search.js +23 -43
  152. package/es/select/interface.js +0 -1
  153. package/es/select/option.js +13 -25
  154. package/es/select/select.js +114 -221
  155. package/es/select/style/index.css +3 -0
  156. package/es/select/style/index.less +4 -0
  157. package/es/slider/marks.js +9 -15
  158. package/es/slider/slider.js +60 -104
  159. package/es/slider/sliderTooltip.js +9 -17
  160. package/es/slider/steps.js +8 -19
  161. package/es/slider/track.js +5 -8
  162. package/es/slider/utils.js +4 -14
  163. package/es/space/space.js +16 -34
  164. package/es/spin/spin.js +16 -32
  165. package/es/split-panel/split-panel.js +57 -83
  166. package/es/split-panel/trigger.js +8 -17
  167. package/es/stepper/stepper.js +27 -57
  168. package/es/steps/Step.js +18 -34
  169. package/es/steps/Steps.js +19 -38
  170. package/es/switch/switch.js +25 -43
  171. package/es/table/api.js +3 -37
  172. package/es/table/feature/autoRowSpan.js +0 -2
  173. package/es/table/feature/colGroupExtendable.js +0 -2
  174. package/es/table/feature/columnDrag.js +0 -2
  175. package/es/table/feature/columnResize.js +0 -2
  176. package/es/table/feature/contextMenu.js +0 -2
  177. package/es/table/feature/filter.js +0 -2
  178. package/es/table/feature/mergeCellHover.js +0 -2
  179. package/es/table/feature/rowDetail.js +0 -2
  180. package/es/table/feature/rowSelection.js +11 -21
  181. package/es/table/feature/sort.js +0 -2
  182. package/es/table/feature/treeMode.js +0 -2
  183. package/es/table/feature/useFooterDataSource.js +0 -2
  184. package/es/table/feature/useRangeSelection.js +0 -2
  185. package/es/table/table.js +36 -46
  186. package/es/tabs/active-line.js +6 -8
  187. package/es/tabs/arrow-button.js +5 -10
  188. package/es/tabs/index.js +2 -2
  189. package/es/tabs/tab-pane.js +7 -23
  190. package/es/tabs/tabs.js +42 -104
  191. package/es/tag/tag.js +34 -56
  192. package/es/timeline/Timeline.js +16 -33
  193. package/es/timeline/TimelineItem.js +15 -26
  194. package/es/tooltip/tooltip.js +7 -11
  195. package/es/transfer/list-body.js +12 -31
  196. package/es/transfer/list-item.js +10 -18
  197. package/es/transfer/list.js +35 -68
  198. package/es/transfer/operation.js +12 -14
  199. package/es/transfer/search.js +5 -11
  200. package/es/transfer/transfer.js +51 -100
  201. package/es/tree/tree.js +95 -156
  202. package/es/tree/treeHooks.js +18 -34
  203. package/es/tree/treeNode.js +57 -96
  204. package/es/tree/utils/treeUtils.js +22 -150
  205. package/es/typography/base.js +16 -33
  206. package/es/typography/index.js +2 -2
  207. package/es/typography/paragraph.js +0 -2
  208. package/es/typography/text.js +0 -2
  209. package/es/typography/title.js +3 -14
  210. package/es/typography/typography.js +14 -24
  211. package/es/upload/dragger.js +3 -12
  212. package/es/upload/request.js +6 -26
  213. package/es/upload/scan-files.js +2 -13
  214. package/es/upload/upload.js +63 -131
  215. package/es/upload/utils.js +0 -2
  216. package/es/upload/verify-file.js +0 -6
  217. package/es/view-container/view-container.js +7 -9
  218. package/es/virtual-list/Filler.js +3 -7
  219. package/es/virtual-list/utils/algorithmUtil.js +0 -13
  220. package/es/virtual-list/utils/itemUtil.js +18 -47
  221. package/es/virtual-list/virtual-list.js +64 -137
  222. package/lib/_utils/KeyCode.js +6 -120
  223. package/lib/_utils/arrayUtil.js +0 -9
  224. package/lib/_utils/devwarning.js +0 -5
  225. package/lib/_utils/formatUtil.js +36 -103
  226. package/lib/_utils/getStringLength.js +0 -3
  227. package/lib/_utils/hooks.js +32 -90
  228. package/lib/_utils/index.js +0 -6
  229. package/lib/_utils/numberUtil.js +32 -64
  230. package/lib/_utils/omit.js +0 -5
  231. package/lib/_utils/raf.js +0 -7
  232. package/lib/_utils/react-children.js +0 -5
  233. package/lib/_utils/reactNode.js +0 -9
  234. package/lib/_utils/resizeObserver.js +2 -25
  235. package/lib/_utils/testBrowserType.js +0 -3
  236. package/lib/_utils/type.js +0 -6
  237. package/lib/_utils/usePopper.js +84 -190
  238. package/lib/alert/alert.js +20 -74
  239. package/lib/alert/index.js +0 -3
  240. package/lib/alert/style/css.js +0 -1
  241. package/lib/alert/style/index.js +0 -1
  242. package/lib/anchor/anchor-link.js +12 -35
  243. package/lib/anchor/anchor.js +69 -204
  244. package/lib/anchor/context.js +0 -7
  245. package/lib/anchor/index.js +0 -4
  246. package/lib/anchor/style/css.js +0 -1
  247. package/lib/anchor/style/index.js +0 -1
  248. package/lib/avatar/avatar.js +29 -70
  249. package/lib/avatar/index.js +0 -9
  250. package/lib/avatar/style/css.js +0 -1
  251. package/lib/avatar/style/index.js +0 -1
  252. package/lib/badge/badge.js +33 -70
  253. package/lib/badge/index.js +0 -9
  254. package/lib/badge/style/css.js +0 -1
  255. package/lib/badge/style/index.js +0 -1
  256. package/lib/base-data/base-data.js +89 -218
  257. package/lib/base-data/index.js +0 -9
  258. package/lib/base-data/interface.js +0 -2
  259. package/lib/base-data/style/css.js +0 -1
  260. package/lib/base-data/style/index.js +0 -1
  261. package/lib/button/button.js +30 -72
  262. package/lib/button/group.js +27 -61
  263. package/lib/button/index.js +0 -4
  264. package/lib/button/style/css.js +0 -1
  265. package/lib/button/style/index.js +0 -1
  266. package/lib/card/card.js +19 -35
  267. package/lib/card/index.js +0 -9
  268. package/lib/card/style/css.js +0 -1
  269. package/lib/card/style/index.js +0 -1
  270. package/lib/carousel/carousel.js +31 -112
  271. package/lib/carousel/displayList.js +2 -14
  272. package/lib/carousel/fadeList.js +4 -16
  273. package/lib/carousel/index.js +0 -12
  274. package/lib/carousel/slideList.js +1 -14
  275. package/lib/carousel/slidebar.js +5 -22
  276. package/lib/carousel/style/css.js +0 -1
  277. package/lib/carousel/style/index.js +0 -1
  278. package/lib/cascader/cascader.js +56 -150
  279. package/lib/cascader/index.js +0 -9
  280. package/lib/cascader/style/css.js +0 -1
  281. package/lib/cascader/style/index.js +0 -1
  282. package/lib/cascader/util.js +10 -87
  283. package/lib/checkbox/checkbox.js +22 -69
  284. package/lib/checkbox/group.js +18 -59
  285. package/lib/checkbox/index.js +0 -9
  286. package/lib/checkbox/style/css.js +0 -1
  287. package/lib/checkbox/style/index.css +2 -0
  288. package/lib/checkbox/style/index.js +0 -1
  289. package/lib/checkbox/style/index.less +1 -0
  290. package/lib/city-picker/city-group.js +5 -24
  291. package/lib/city-picker/city-list.js +4 -21
  292. package/lib/city-picker/city-panel-item.js +3 -17
  293. package/lib/city-picker/city-panel.js +25 -64
  294. package/lib/city-picker/city-picker.js +22 -67
  295. package/lib/city-picker/city-search-panel.js +6 -25
  296. package/lib/city-picker/index.js +0 -9
  297. package/lib/city-picker/no-data.js +3 -15
  298. package/lib/city-picker/style/css.js +0 -1
  299. package/lib/city-picker/style/index.js +0 -1
  300. package/lib/city-picker/utils/grouping.js +0 -5
  301. package/lib/collapse/collapse.js +17 -62
  302. package/lib/collapse/index.js +0 -4
  303. package/lib/collapse/panel.js +21 -62
  304. package/lib/collapse/style/css.js +0 -1
  305. package/lib/collapse/style/index.js +0 -1
  306. package/lib/config-provider/ConfigContext.js +1 -4
  307. package/lib/config-provider/SizeContext.js +1 -6
  308. package/lib/config-provider/compDefaultProps.js +0 -8
  309. package/lib/config-provider/configProvider.js +3 -18
  310. package/lib/config-provider/defaultConfig.js +0 -5
  311. package/lib/config-provider/index.js +0 -6
  312. package/lib/date-picker/calendar.js +12 -35
  313. package/lib/date-picker/context.js +0 -7
  314. package/lib/date-picker/date-panel.js +20 -81
  315. package/lib/date-picker/date-picker.js +145 -214
  316. package/lib/date-picker/hooks/use-hover-value.js +5 -19
  317. package/lib/date-picker/hooks/use-picker-input.js +17 -37
  318. package/lib/date-picker/hooks/use-range-cls.js +8 -21
  319. package/lib/date-picker/hooks/use-range-disabled.js +7 -30
  320. package/lib/date-picker/hooks/use-range-view-dates.js +16 -49
  321. package/lib/date-picker/hooks/use-state-memo.js +0 -5
  322. package/lib/date-picker/hooks/use-text-value-mapping.js +6 -20
  323. package/lib/date-picker/hooks/use-value-texts.js +0 -5
  324. package/lib/date-picker/index.js +0 -4
  325. package/lib/date-picker/panel/date-time/date-time.js +7 -23
  326. package/lib/date-picker/panel/header/header.js +9 -21
  327. package/lib/date-picker/panel/month/month.js +11 -46
  328. package/lib/date-picker/panel/quarter/quarter.js +8 -40
  329. package/lib/date-picker/panel/time/time-column.js +8 -31
  330. package/lib/date-picker/panel/time/time.js +60 -106
  331. package/lib/date-picker/panel/week/week.js +25 -73
  332. package/lib/date-picker/panel/year/year.js +19 -56
  333. package/lib/date-picker/popper.js +28 -47
  334. package/lib/date-picker/range/input-range.js +95 -145
  335. package/lib/date-picker/range-picker.d.ts +1 -0
  336. package/lib/date-picker/range-picker.js +194 -324
  337. package/lib/date-picker/single/input-date.js +87 -127
  338. package/lib/date-picker/utils/date-fns.js +25 -136
  339. package/lib/date-picker/utils/get-extra-footer.js +0 -8
  340. package/lib/date-picker/utils/get-ranges.js +13 -24
  341. package/lib/date-picker/utils/index.js +9 -104
  342. package/lib/drawer/drawer.js +49 -95
  343. package/lib/drawer/index.js +0 -9
  344. package/lib/drawer/style/css.js +0 -1
  345. package/lib/drawer/style/index.js +0 -1
  346. package/lib/dropdown/dropdown.js +26 -56
  347. package/lib/dropdown/index.js +0 -9
  348. package/lib/dropdown/menu.d.ts +3 -2
  349. package/lib/dropdown/menu.js +29 -56
  350. package/lib/dropdown/style/css.js +0 -1
  351. package/lib/dropdown/style/index.js +0 -1
  352. package/lib/empty/defaultEmptyImg.js +2 -14
  353. package/lib/empty/empty.js +15 -42
  354. package/lib/empty/illustrationEmptyImg.js +2 -14
  355. package/lib/empty/index.js +0 -9
  356. package/lib/empty/style/css.js +0 -1
  357. package/lib/empty/style/index.js +0 -1
  358. package/lib/filter/condition.js +5 -28
  359. package/lib/filter/filter.js +29 -73
  360. package/lib/filter/index.js +0 -9
  361. package/lib/filter/scheme.js +35 -82
  362. package/lib/filter/style/css.js +0 -1
  363. package/lib/filter/style/index.js +0 -1
  364. package/lib/form/Field.js +36 -127
  365. package/lib/form/FieldContext.js +0 -6
  366. package/lib/form/FieldLabel.js +11 -29
  367. package/lib/form/FieldWrapper.js +6 -19
  368. package/lib/form/Form.js +28 -65
  369. package/lib/form/FormContext.js +0 -11
  370. package/lib/form/hooks/useForceUpdate.js +2 -9
  371. package/lib/form/hooks/useForm.js +10 -98
  372. package/lib/form/index.js +0 -12
  373. package/lib/form/style/css.js +0 -1
  374. package/lib/form/style/index.js +0 -1
  375. package/lib/grid/col.js +23 -51
  376. package/lib/grid/index.js +0 -3
  377. package/lib/grid/row.js +22 -49
  378. package/lib/grid/style/css.js +0 -1
  379. package/lib/grid/style/index.js +0 -1
  380. package/lib/icon/icon.js +11 -44
  381. package/lib/icon/index.js +0 -9
  382. package/lib/icon/interface.js +0 -6
  383. package/lib/icon/style/css.js +0 -1
  384. package/lib/icon/style/index.js +0 -1
  385. package/lib/image/image.js +31 -64
  386. package/lib/image/index.js +0 -9
  387. package/lib/image/preview-group.js +25 -54
  388. package/lib/image/preview.js +24 -57
  389. package/lib/image/style/css.js +0 -1
  390. package/lib/image/style/index.js +0 -1
  391. package/lib/image-cropper/cropper.js +11 -33
  392. package/lib/image-cropper/image-cropper.js +39 -89
  393. package/lib/image-cropper/index.js +0 -3
  394. package/lib/image-cropper/operation-bar.js +14 -44
  395. package/lib/image-cropper/style/css.js +0 -1
  396. package/lib/image-cropper/style/index.js +0 -1
  397. package/lib/index.js +2 -64
  398. package/lib/input/ClearableLabeledInput.js +27 -65
  399. package/lib/input/TextArea.js +45 -108
  400. package/lib/input/calculateNodeHeight.js +4 -23
  401. package/lib/input/index.js +0 -9
  402. package/lib/input/input.js +32 -87
  403. package/lib/input-number/index.js +0 -3
  404. package/lib/input-number/inputNumber.js +50 -129
  405. package/lib/input-number/style/css.js +0 -1
  406. package/lib/input-number/style/index.js +0 -1
  407. package/lib/layout/index.js +0 -9
  408. package/lib/layout/layout.js +28 -64
  409. package/lib/layout/sider.js +39 -89
  410. package/lib/layout/style/css.js +0 -1
  411. package/lib/layout/style/index.js +0 -1
  412. package/lib/link/index.js +0 -9
  413. package/lib/link/link.js +19 -50
  414. package/lib/link/style/css.js +0 -1
  415. package/lib/link/style/index.js +0 -1
  416. package/lib/locale/index.js +0 -7
  417. package/lib/locale/locale.js +6 -58
  418. package/lib/locale/zh-CN.js +0 -4
  419. package/lib/menu/index.js +0 -9
  420. package/lib/menu/menu.js +29 -83
  421. package/lib/menu/menuItem.js +27 -69
  422. package/lib/menu/style/css.js +0 -1
  423. package/lib/menu/style/index.js +0 -1
  424. package/lib/menu/subMenu.js +44 -122
  425. package/lib/menu/util.js +4 -28
  426. package/lib/message/content.js +7 -32
  427. package/lib/message/index.js +14 -33
  428. package/lib/message/style/css.js +0 -1
  429. package/lib/message/style/index.js +0 -1
  430. package/lib/modal/confirm.js +3 -21
  431. package/lib/modal/index.js +0 -14
  432. package/lib/modal/modal.js +41 -86
  433. package/lib/modal/style/css.js +0 -1
  434. package/lib/modal/style/index.js +0 -1
  435. package/lib/notification/content.js +15 -48
  436. package/lib/notification/index.js +20 -42
  437. package/lib/notification/style/css.js +0 -1
  438. package/lib/notification/style/index.js +0 -1
  439. package/lib/notification-base/index.js +4 -31
  440. package/lib/notification-base/notice.js +12 -38
  441. package/lib/notification-base/notification.js +3 -31
  442. package/lib/pagination/index.js +0 -3
  443. package/lib/pagination/pagination.js +76 -137
  444. package/lib/pagination/style/css.js +0 -1
  445. package/lib/pagination/style/index.js +0 -1
  446. package/lib/popconfirm/index.js +0 -9
  447. package/lib/popconfirm/popconfirm.js +22 -46
  448. package/lib/popconfirm/style/css.js +0 -1
  449. package/lib/popconfirm/style/index.js +0 -1
  450. package/lib/progress/circle.js +9 -25
  451. package/lib/progress/index.js +0 -3
  452. package/lib/progress/line.js +5 -11
  453. package/lib/progress/progress.js +21 -64
  454. package/lib/progress/style/css.js +0 -1
  455. package/lib/progress/style/index.js +0 -1
  456. package/lib/progress/utils.js +6 -30
  457. package/lib/radio/context.js +0 -7
  458. package/lib/radio/group.js +19 -53
  459. package/lib/radio/index.js +0 -5
  460. package/lib/radio/radio-button.js +6 -32
  461. package/lib/radio/radio.js +19 -66
  462. package/lib/radio/style/css.js +0 -1
  463. package/lib/radio/style/index.js +0 -1
  464. package/lib/rate/index.js +0 -3
  465. package/lib/rate/rate.js +30 -82
  466. package/lib/rate/style/css.js +0 -1
  467. package/lib/rate/style/index.js +0 -1
  468. package/lib/search/index.js +0 -7
  469. package/lib/search/interface.js +0 -2
  470. package/lib/search/option.js +10 -29
  471. package/lib/search/quick-search.js +68 -171
  472. package/lib/search/search-panel.js +28 -66
  473. package/lib/search/search.js +23 -63
  474. package/lib/search/style/css.js +0 -1
  475. package/lib/search/style/index.js +0 -1
  476. package/lib/select/index.js +0 -4
  477. package/lib/select/interface.js +0 -3
  478. package/lib/select/option.js +13 -40
  479. package/lib/select/select.js +114 -234
  480. package/lib/select/style/index.css +3 -0
  481. package/lib/select/style/index.less +4 -0
  482. package/lib/slider/index.js +0 -9
  483. package/lib/slider/marks.js +9 -22
  484. package/lib/slider/slider.js +58 -123
  485. package/lib/slider/sliderTooltip.js +9 -30
  486. package/lib/slider/steps.js +8 -24
  487. package/lib/slider/style/css.js +0 -1
  488. package/lib/slider/style/index.js +0 -1
  489. package/lib/slider/track.js +5 -11
  490. package/lib/slider/utils.js +4 -21
  491. package/lib/space/index.js +0 -9
  492. package/lib/space/space.js +16 -50
  493. package/lib/space/style/css.js +0 -1
  494. package/lib/space/style/index.js +0 -1
  495. package/lib/spin/index.js +0 -9
  496. package/lib/spin/spin.js +16 -50
  497. package/lib/spin/style/css.js +0 -1
  498. package/lib/spin/style/index.js +0 -1
  499. package/lib/split-panel/index.js +0 -9
  500. package/lib/split-panel/split-panel.js +57 -101
  501. package/lib/split-panel/style/css.js +0 -1
  502. package/lib/split-panel/style/index.js +0 -1
  503. package/lib/split-panel/trigger.js +8 -23
  504. package/lib/stepper/index.js +0 -9
  505. package/lib/stepper/stepper.js +27 -81
  506. package/lib/stepper/style/css.js +0 -1
  507. package/lib/stepper/style/index.js +0 -1
  508. package/lib/steps/Step.js +18 -40
  509. package/lib/steps/Steps.js +19 -55
  510. package/lib/steps/index.js +0 -5
  511. package/lib/steps/interface.js +0 -2
  512. package/lib/steps/style/css.js +0 -1
  513. package/lib/steps/style/index.js +0 -1
  514. package/lib/switch/index.js +0 -3
  515. package/lib/switch/style/css.js +0 -1
  516. package/lib/switch/style/index.js +0 -1
  517. package/lib/switch/switch.js +23 -59
  518. package/lib/table/api.js +3 -39
  519. package/lib/table/feature/autoRowSpan.js +0 -3
  520. package/lib/table/feature/colGroupExtendable.js +0 -3
  521. package/lib/table/feature/columnDrag.js +0 -3
  522. package/lib/table/feature/columnResize.js +0 -3
  523. package/lib/table/feature/contextMenu.js +0 -3
  524. package/lib/table/feature/filter.js +0 -6
  525. package/lib/table/feature/mergeCellHover.js +0 -3
  526. package/lib/table/feature/rowDetail.js +0 -5
  527. package/lib/table/feature/rowSelection.js +11 -24
  528. package/lib/table/feature/sort.js +0 -6
  529. package/lib/table/feature/treeMode.js +0 -5
  530. package/lib/table/feature/useFooterDataSource.js +0 -3
  531. package/lib/table/feature/useRangeSelection.js +0 -5
  532. package/lib/table/index.js +0 -3
  533. package/lib/table/style/css.js +0 -1
  534. package/lib/table/style/index.js +0 -1
  535. package/lib/table/table.js +36 -78
  536. package/lib/tabs/active-line.js +6 -17
  537. package/lib/tabs/arrow-button.js +5 -23
  538. package/lib/tabs/context.js +0 -7
  539. package/lib/tabs/index.js +2 -6
  540. package/lib/tabs/style/css.js +0 -1
  541. package/lib/tabs/style/index.js +0 -1
  542. package/lib/tabs/tab-pane.js +7 -38
  543. package/lib/tabs/tabs.js +42 -135
  544. package/lib/tag/index.js +0 -9
  545. package/lib/tag/style/css.js +0 -1
  546. package/lib/tag/style/index.js +0 -1
  547. package/lib/tag/tag.js +34 -74
  548. package/lib/timeline/Timeline.js +16 -45
  549. package/lib/timeline/TimelineItem.js +15 -39
  550. package/lib/timeline/index.js +0 -3
  551. package/lib/timeline/style/css.js +0 -1
  552. package/lib/timeline/style/index.js +0 -1
  553. package/lib/tooltip/index.js +0 -9
  554. package/lib/tooltip/style/css.js +0 -1
  555. package/lib/tooltip/style/index.js +0 -1
  556. package/lib/tooltip/tooltip.js +7 -24
  557. package/lib/transfer/index.js +0 -3
  558. package/lib/transfer/list-body.js +12 -48
  559. package/lib/transfer/list-item.js +10 -27
  560. package/lib/transfer/list.js +35 -89
  561. package/lib/transfer/operation.js +12 -18
  562. package/lib/transfer/search.js +5 -16
  563. package/lib/transfer/style/css.js +0 -1
  564. package/lib/transfer/style/index.js +0 -1
  565. package/lib/transfer/transfer.js +51 -122
  566. package/lib/tree/index.js +0 -11
  567. package/lib/tree/style/css.js +0 -1
  568. package/lib/tree/style/index.js +0 -1
  569. package/lib/tree/tree.js +95 -196
  570. package/lib/tree/treeHooks.js +18 -64
  571. package/lib/tree/treeNode.js +57 -126
  572. package/lib/tree/utils/treeUtils.js +22 -193
  573. package/lib/typography/base.js +16 -53
  574. package/lib/typography/index.js +2 -8
  575. package/lib/typography/paragraph.js +0 -11
  576. package/lib/typography/style/css.js +0 -1
  577. package/lib/typography/style/index.js +0 -1
  578. package/lib/typography/text.js +0 -6
  579. package/lib/typography/title.js +3 -21
  580. package/lib/typography/typography.js +12 -35
  581. package/lib/upload/dragger.js +3 -21
  582. package/lib/upload/index.js +0 -11
  583. package/lib/upload/request.js +6 -27
  584. package/lib/upload/scan-files.js +2 -15
  585. package/lib/upload/style/css.js +0 -1
  586. package/lib/upload/style/index.js +0 -1
  587. package/lib/upload/upload.js +63 -151
  588. package/lib/upload/utils.js +0 -6
  589. package/lib/upload/verify-file.js +0 -9
  590. package/lib/view-container/context.js +0 -7
  591. package/lib/view-container/index.js +0 -3
  592. package/lib/view-container/view-container.js +7 -21
  593. package/lib/virtual-list/Filler.js +3 -15
  594. package/lib/virtual-list/index.js +0 -9
  595. package/lib/virtual-list/utils/algorithmUtil.js +0 -15
  596. package/lib/virtual-list/utils/itemUtil.js +18 -60
  597. package/lib/virtual-list/virtual-list.js +63 -158
  598. package/package.json +3 -2
@@ -1,30 +1,22 @@
1
1
  import _typeof from "@babel/runtime-corejs3/helpers/typeof";
2
2
  import _extends from "@babel/runtime-corejs3/helpers/extends";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
-
5
4
  var _context;
6
-
7
5
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
6
  import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
9
7
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
10
8
  import _Object$entries from "@babel/runtime-corejs3/core-js-stable/object/entries";
11
9
  import _findIndexInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find-index";
12
10
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
13
-
14
11
  var __rest = this && this.__rest || function (s, e) {
15
12
  var t = {};
16
-
17
- for (var p in s) {
18
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
19
- }
20
-
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
14
  if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
22
15
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
23
16
  }
24
17
  return t;
25
- }; // Reference: https://github.com/arco-design/arco-design/blob/main/components/_class/VirtualList/index.tsx
26
-
27
-
18
+ };
19
+ // Reference: https://github.com/arco-design/arco-design/blob/main/components/_class/VirtualList/index.tsx
28
20
  import React, { useEffect, useImperativeHandle, useRef, useMemo, useState, useLayoutEffect } from 'react';
29
21
  import { getValidScrollTop, getCompareItemRelativeTop, getItemAbsoluteTop, getItemRelativeTop, getNodeHeight, getRangeIndex, getScrollPercentage, GHOST_ITEM_KEY, getLongestItemIndex, getLocationItem } from './utils/itemUtil';
30
22
  import { raf, caf } from '../_utils/raf';
@@ -35,9 +27,9 @@ import ResizeObserver from '../_utils/resizeObserver';
35
27
  export function isNumber(obj) {
36
28
  return Object.prototype.toString.call(obj) === '[object Number]' && obj === obj; // eslint-disable-line
37
29
  }
30
+
38
31
  var DEFAULT_VIRTUAL_ITEM_HEIGHT = 32;
39
32
  var KEY_VIRTUAL_ITEM_HEIGHT = "__virtual_item_height_".concat(_sliceInstanceProperty(_context = Math.random().toFixed(5)).call(_context, 2));
40
-
41
33
  var useComputeVirtualItemHeight = function useComputeVirtualItemHeight(refItemHeightMap) {
42
34
  var forceUpdate = useForceUpdate();
43
35
  var heightMap = refItemHeightMap.current;
@@ -45,8 +37,7 @@ var useComputeVirtualItemHeight = function useComputeVirtualItemHeight(refItemHe
45
37
  if (_Object$keys(heightMap).length && !heightMap[KEY_VIRTUAL_ITEM_HEIGHT]) {
46
38
  heightMap[KEY_VIRTUAL_ITEM_HEIGHT] = _Object$entries(heightMap).reduce(function (sum, _ref, currentIndex, array) {
47
39
  var _ref2 = _slicedToArray(_ref, 2),
48
- currentHeight = _ref2[1];
49
-
40
+ currentHeight = _ref2[1];
50
41
  var nextSum = sum + currentHeight;
51
42
  return currentIndex === array.length - 1 ? Math.round(nextSum / array.length) : nextSum;
52
43
  }, 0);
@@ -54,60 +45,52 @@ var useComputeVirtualItemHeight = function useComputeVirtualItemHeight(refItemHe
54
45
  }
55
46
  }, [_Object$keys(heightMap).length]);
56
47
  };
57
-
58
48
  var useCacheChildrenNodes = function useCacheChildrenNodes(children) {
59
49
  var refCacheMap = useRef({});
60
50
  var refPrevChildren = useRef(children);
61
51
  useEffect(function () {
62
52
  refPrevChildren.current = children;
63
53
  }, [children]);
64
-
65
54
  if (children !== refPrevChildren.current) {
66
55
  refCacheMap.current = {};
67
56
  }
68
-
69
57
  return function (item, index, props) {
70
58
  // eslint-disable-next-line no-prototype-builtins
71
59
  if (!refCacheMap.current.hasOwnProperty(index)) {
72
60
  refCacheMap.current[index] = children(item, index, props);
73
61
  }
74
-
75
62
  return refCacheMap.current[index];
76
63
  };
77
64
  };
78
-
79
65
  var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
80
66
  var style = props.style,
81
- className = props.className,
82
- children = props.children,
83
- _props$data = props.data,
84
- data = _props$data === void 0 ? [] : _props$data,
85
- itemKey = props.itemKey,
86
- _props$threshold = props.threshold,
87
- threshold = _props$threshold === void 0 ? 100 : _props$threshold,
88
- _props$wrapper = props.wrapper,
89
- WrapperTagName = _props$wrapper === void 0 ? 'div' : _props$wrapper,
90
- _props$height = props.height,
91
- propHeight = _props$height === void 0 ? 300 : _props$height,
92
- _props$isStaticItemHe = props.isStaticItemHeight,
93
- isStaticItemHeight = _props$isStaticItemHe === void 0 ? true : _props$isStaticItemHe,
94
- propItemHeight = props.itemHeight,
95
- measureLongestItem = props.measureLongestItem,
96
- scrollOptions = props.scrollOptions,
97
- onScroll = props.onScroll,
98
- _props$needFiller = props.needFiller,
99
- needFiller = _props$needFiller === void 0 ? true : _props$needFiller,
100
- outerStyle = props.outerStyle,
101
- restProps = __rest(props, ["style", "className", "children", "data", "itemKey", "threshold", "wrapper", "height", "isStaticItemHeight", "itemHeight", "measureLongestItem", "scrollOptions", "onScroll", "needFiller", "outerStyle"]);
102
-
67
+ className = props.className,
68
+ children = props.children,
69
+ _props$data = props.data,
70
+ data = _props$data === void 0 ? [] : _props$data,
71
+ itemKey = props.itemKey,
72
+ _props$threshold = props.threshold,
73
+ threshold = _props$threshold === void 0 ? 100 : _props$threshold,
74
+ _props$wrapper = props.wrapper,
75
+ WrapperTagName = _props$wrapper === void 0 ? 'div' : _props$wrapper,
76
+ _props$height = props.height,
77
+ propHeight = _props$height === void 0 ? 300 : _props$height,
78
+ _props$isStaticItemHe = props.isStaticItemHeight,
79
+ isStaticItemHeight = _props$isStaticItemHe === void 0 ? true : _props$isStaticItemHe,
80
+ propItemHeight = props.itemHeight,
81
+ measureLongestItem = props.measureLongestItem,
82
+ scrollOptions = props.scrollOptions,
83
+ onScroll = props.onScroll,
84
+ _props$needFiller = props.needFiller,
85
+ needFiller = _props$needFiller === void 0 ? true : _props$needFiller,
86
+ outerStyle = props.outerStyle,
87
+ restProps = __rest(props, ["style", "className", "children", "data", "itemKey", "threshold", "wrapper", "height", "isStaticItemHeight", "itemHeight", "measureLongestItem", "scrollOptions", "onScroll", "needFiller", "outerStyle"]);
103
88
  var styleListMaxHeight = style && style.maxHeight || propHeight;
104
89
  var refItemHeightMap = useRef({});
105
-
106
90
  var _useState = useState(200),
107
- _useState2 = _slicedToArray(_useState, 2),
108
- stateHeight = _useState2[0],
109
- setStateHeight = _useState2[1];
110
-
91
+ _useState2 = _slicedToArray(_useState, 2),
92
+ stateHeight = _useState2[0],
93
+ setStateHeight = _useState2[1];
111
94
  var renderChild = useCacheChildrenNodes(children);
112
95
  useComputeVirtualItemHeight(refItemHeightMap);
113
96
  var itemCount = data.length;
@@ -125,61 +108,51 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
125
108
  var getPadding = function getPadding(property) {
126
109
  return +window.getComputedStyle(refList.current)[property].replace(/\D/g, '');
127
110
  };
128
-
129
111
  return {
130
112
  top: getPadding('paddingTop'),
131
113
  bottom: getPadding('paddingBottom')
132
114
  };
133
115
  }
134
-
135
116
  return {
136
117
  top: 0,
137
118
  bottom: 0
138
119
  };
139
120
  }, [refList.current]);
140
-
141
121
  var _useStateWithPromise = useStateWithPromise({
142
- status: 'NONE',
143
- startIndex: 0,
144
- endIndex: 0,
145
- itemIndex: 0,
146
- itemOffsetPtg: 0,
147
- startItemTop: 0,
148
- scrollTop: 0
149
- }),
150
- _useStateWithPromise2 = _slicedToArray(_useStateWithPromise, 2),
151
- state = _useStateWithPromise2[0],
152
- setState = _useStateWithPromise2[1];
153
-
122
+ status: 'NONE',
123
+ startIndex: 0,
124
+ endIndex: 0,
125
+ itemIndex: 0,
126
+ itemOffsetPtg: 0,
127
+ startItemTop: 0,
128
+ scrollTop: 0
129
+ }),
130
+ _useStateWithPromise2 = _slicedToArray(_useStateWithPromise, 2),
131
+ state = _useStateWithPromise2[0],
132
+ setState = _useStateWithPromise2[1];
154
133
  var prevData = usePrevious(data) || [];
155
134
  var isFirstRender = useIsFirstRender();
156
-
157
135
  var getItemKey = function getItemKey(item, index) {
158
136
  return typeof itemKey === 'function' ? itemKey(item, index) : typeof itemKey === 'string' ? item[itemKey] : item.key || index;
159
137
  };
160
-
161
138
  var getItemKeyByIndex = function getItemKeyByIndex(index) {
162
139
  var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : data;
163
-
164
140
  if (index === items.length) {
165
141
  return GHOST_ITEM_KEY;
166
142
  }
167
-
168
143
  var item = items[index];
169
144
  return item !== undefined ? getItemKey(item, index) : null;
170
145
  };
171
-
172
146
  var getCachedItemHeight = function getCachedItemHeight(key) {
173
147
  return refItemHeightMap.current[key] || itemHeight;
174
148
  };
175
-
176
149
  var internalScrollTo = function internalScrollTo(relativeScroll) {
177
150
  var compareItemIndex = relativeScroll.itemIndex,
178
- compareItemRelativeTop = relativeScroll.relativeTop;
151
+ compareItemRelativeTop = relativeScroll.relativeTop;
179
152
  if (!refList.current) return;
180
153
  var _refList$current = refList.current,
181
- scrollHeight = _refList$current.scrollHeight,
182
- clientHeight = _refList$current.clientHeight;
154
+ scrollHeight = _refList$current.scrollHeight,
155
+ clientHeight = _refList$current.clientHeight;
183
156
  var originScrollTop = state.scrollTop;
184
157
  var maxScrollTop = scrollHeight - clientHeight;
185
158
  var bestSimilarity = Number.MAX_VALUE;
@@ -189,7 +162,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
189
162
  var bestStartIndex = null;
190
163
  var bestEndIndex = null;
191
164
  var missSimilarity = 0;
192
-
193
165
  for (var i = 0; i < maxScrollTop; i++) {
194
166
  var scrollTop = getIndexByStartLoc(0, maxScrollTop, originScrollTop, i);
195
167
  var scrollPtg = getScrollPercentage({
@@ -197,13 +169,11 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
197
169
  scrollHeight: scrollHeight,
198
170
  clientHeight: clientHeight
199
171
  });
200
-
201
172
  var _getRangeIndex = getRangeIndex(scrollPtg, itemCount, itemCountVisible),
202
- itemIndex = _getRangeIndex.itemIndex,
203
- itemOffsetPtg = _getRangeIndex.itemOffsetPtg,
204
- startIndex = _getRangeIndex.startIndex,
205
- endIndex = _getRangeIndex.endIndex;
206
-
173
+ itemIndex = _getRangeIndex.itemIndex,
174
+ itemOffsetPtg = _getRangeIndex.itemOffsetPtg,
175
+ startIndex = _getRangeIndex.startIndex,
176
+ endIndex = _getRangeIndex.endIndex;
207
177
  if (startIndex <= compareItemIndex && compareItemIndex <= endIndex) {
208
178
  var locatedItemRelativeTop = getItemRelativeTop({
209
179
  itemHeight: getCachedItemHeight(getItemKeyByIndex(itemIndex)),
@@ -222,7 +192,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
222
192
  itemElementHeights: refItemHeightMap.current
223
193
  });
224
194
  var similarity = Math.abs(compareItemTop - compareItemRelativeTop);
225
-
226
195
  if (similarity < bestSimilarity) {
227
196
  bestSimilarity = similarity;
228
197
  bestScrollTop = scrollTop;
@@ -235,12 +204,10 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
235
204
  missSimilarity += 1;
236
205
  }
237
206
  }
238
-
239
207
  if (missSimilarity > 10) {
240
208
  break;
241
209
  }
242
210
  }
243
-
244
211
  if (bestScrollTop !== null) {
245
212
  refLockScroll.current = true;
246
213
  refList.current.scrollTop = bestScrollTop;
@@ -253,29 +220,25 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
253
220
  endIndex: bestEndIndex
254
221
  }));
255
222
  }
256
-
257
223
  refRafId.current = raf(function () {
258
224
  refLockScroll.current = false;
259
225
  });
260
226
  };
261
-
262
227
  var rawListScrollHandler = function rawListScrollHandler(event) {
263
228
  if (!refList.current) return;
264
229
  var _refList$current2 = refList.current,
265
- rawScrollTop = _refList$current2.scrollTop,
266
- clientHeight = _refList$current2.clientHeight,
267
- scrollHeight = _refList$current2.scrollHeight;
230
+ rawScrollTop = _refList$current2.scrollTop,
231
+ clientHeight = _refList$current2.clientHeight,
232
+ scrollHeight = _refList$current2.scrollHeight;
268
233
  var scrollTop = getValidScrollTop(rawScrollTop, scrollHeight - clientHeight);
269
234
  var scrollPtg = getScrollPercentage({
270
235
  scrollTop: scrollTop,
271
236
  clientHeight: clientHeight,
272
237
  scrollHeight: scrollHeight
273
238
  });
274
-
275
239
  var _getLocationItem = getLocationItem(scrollPtg, itemCount),
276
- index = _getLocationItem.index,
277
- offsetPtg = _getLocationItem.offsetPtg;
278
-
240
+ index = _getLocationItem.index,
241
+ offsetPtg = _getLocationItem.offsetPtg;
279
242
  setState(_extends(_extends({}, state), {
280
243
  scrollTop: scrollTop,
281
244
  itemIndex: index,
@@ -283,32 +246,27 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
283
246
  }));
284
247
  event && onScroll && onScroll(event);
285
248
  };
286
-
287
249
  var virtualListScrollHandler = function virtualListScrollHandler(event) {
288
250
  var isInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
289
251
  var scrollHeight = itemTotalHeight;
290
252
  if (!refList.current) return;
291
253
  var _refList$current3 = refList.current,
292
- rawScrollTop = _refList$current3.scrollTop,
293
- clientHeight = _refList$current3.clientHeight;
254
+ rawScrollTop = _refList$current3.scrollTop,
255
+ clientHeight = _refList$current3.clientHeight;
294
256
  var scrollTop = getValidScrollTop(rawScrollTop, scrollHeight - clientHeight);
295
-
296
257
  if (!isInit && (scrollTop === state.scrollTop || refLockScroll.current)) {
297
258
  return;
298
259
  }
299
-
300
260
  var scrollPtg = getScrollPercentage({
301
261
  scrollTop: scrollTop,
302
262
  clientHeight: clientHeight,
303
263
  scrollHeight: scrollHeight
304
264
  });
305
-
306
265
  var _getRangeIndex2 = getRangeIndex(scrollPtg, itemCount, itemCountVisible),
307
- itemIndex = _getRangeIndex2.itemIndex,
308
- itemOffsetPtg = _getRangeIndex2.itemOffsetPtg,
309
- startIndex = _getRangeIndex2.startIndex,
310
- endIndex = _getRangeIndex2.endIndex;
311
-
266
+ itemIndex = _getRangeIndex2.itemIndex,
267
+ itemOffsetPtg = _getRangeIndex2.itemOffsetPtg,
268
+ startIndex = _getRangeIndex2.startIndex,
269
+ endIndex = _getRangeIndex2.endIndex;
312
270
  setState(_extends(_extends({}, state), {
313
271
  scrollTop: scrollTop,
314
272
  itemIndex: itemIndex,
@@ -319,7 +277,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
319
277
  }));
320
278
  event && onScroll && onScroll(event);
321
279
  };
322
-
323
280
  useEffect(function () {
324
281
  return function () {
325
282
  refRafId.current && caf(refRafId.current);
@@ -330,7 +287,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
330
287
  if (isFirstRender) {
331
288
  refList.current.scrollTop = 0;
332
289
  }
333
-
334
290
  virtualListScrollHandler(null, true);
335
291
  }
336
292
  }, [itemCountVisible]);
@@ -338,12 +294,10 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
338
294
  var changedItemIndex = null;
339
295
  var switchTo = refIsVirtual.current !== isVirtual ? isVirtual ? 'virtual' : 'raw' : '';
340
296
  refIsVirtual.current = isVirtual;
341
-
342
297
  if (viewportHeight && prevData.length !== data.length) {
343
298
  var diff = findListDiffIndex(prevData, data, getItemKey);
344
299
  changedItemIndex = diff ? diff.index : null;
345
300
  }
346
-
347
301
  if ((switchTo || isVirtual && changedItemIndex) && refList.current) {
348
302
  var clientHeight = refList.current.clientHeight;
349
303
  var locatedItemRelativeTop = getItemRelativeTop({
@@ -356,14 +310,11 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
356
310
  }),
357
311
  clientHeight: clientHeight
358
312
  });
359
-
360
313
  if (switchTo === 'raw') {
361
314
  var rawTop = locatedItemRelativeTop;
362
-
363
315
  for (var index = 0; index < state.itemIndex; index++) {
364
316
  rawTop -= getCachedItemHeight(getItemKeyByIndex(index));
365
317
  }
366
-
367
318
  refList.current.scrollTop = -rawTop;
368
319
  refLockScroll.current = true;
369
320
  refRafId.current = raf(function () {
@@ -380,9 +331,9 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
380
331
  useLayoutEffect(function () {
381
332
  if (state.status === 'MEASURE_START' && refList.current) {
382
333
  var _refList$current4 = refList.current,
383
- scrollTop = _refList$current4.scrollTop,
384
- scrollHeight = _refList$current4.scrollHeight,
385
- clientHeight = _refList$current4.clientHeight;
334
+ scrollTop = _refList$current4.scrollTop,
335
+ scrollHeight = _refList$current4.scrollHeight,
336
+ clientHeight = _refList$current4.clientHeight;
386
337
  var scrollPtg = getScrollPercentage({
387
338
  scrollTop: scrollTop,
388
339
  scrollHeight: scrollHeight,
@@ -395,11 +346,9 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
395
346
  itemHeight: getCachedItemHeight(getItemKeyByIndex(state.itemIndex)),
396
347
  itemOffsetPtg: state.itemOffsetPtg
397
348
  });
398
-
399
349
  for (var index = state.itemIndex - 1; index >= state.startIndex; index--) {
400
350
  startItemTop -= getCachedItemHeight(getItemKeyByIndex(index));
401
351
  }
402
-
403
352
  setState(_extends(_extends({}, state), {
404
353
  startItemTop: startItemTop,
405
354
  status: 'MEASURE_DONE'
@@ -413,31 +362,25 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
413
362
  refRafId.current && caf(refRafId.current);
414
363
  refRafId.current = raf(function () {
415
364
  var _a;
416
-
417
365
  if (typeof arg === 'number') {
418
366
  refList.current.scrollTop = arg;
419
367
  return;
420
368
  }
421
-
422
369
  var index = 'index' in arg ? arg.index : 'key' in arg ? _findIndexInstanceProperty(data).call(data, function (item, index) {
423
370
  return getItemKey(item, index) === arg.key;
424
371
  }) : 0;
425
372
  var item = data[index];
426
-
427
373
  if (!item) {
428
374
  return;
429
375
  }
430
-
431
376
  var align = _typeof(arg) === 'object' && ((_a = arg.options) === null || _a === void 0 ? void 0 : _a.block) ? arg.options.block : (scrollOptions === null || scrollOptions === void 0 ? void 0 : scrollOptions.block) || 'nearest';
432
377
  var _refList$current5 = refList.current,
433
- clientHeight = _refList$current5.clientHeight,
434
- scrollTop = _refList$current5.scrollTop;
435
-
378
+ clientHeight = _refList$current5.clientHeight,
379
+ scrollTop = _refList$current5.scrollTop;
436
380
  if (isVirtual && !isStaticItemHeight) {
437
381
  if (align === 'nearest') {
438
382
  var itemIndex = state.itemIndex,
439
- itemOffsetPtg = state.itemOffsetPtg;
440
-
383
+ itemOffsetPtg = state.itemOffsetPtg;
441
384
  if (Math.abs(itemIndex - index) < itemCountVisible) {
442
385
  var itemTop = getItemRelativeTop({
443
386
  itemHeight: getCachedItemHeight(getItemKeyByIndex(itemIndex)),
@@ -445,7 +388,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
445
388
  clientHeight: clientHeight,
446
389
  scrollPtg: getScrollPercentage(refList.current)
447
390
  });
448
-
449
391
  if (index < itemIndex) {
450
392
  for (var i = index; i < itemIndex; i++) {
451
393
  itemTop -= getCachedItemHeight(getItemKeyByIndex(i));
@@ -455,7 +397,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
455
397
  itemTop += getCachedItemHeight(getItemKeyByIndex(_i));
456
398
  }
457
399
  }
458
-
459
400
  if (itemTop < 0 || itemTop > clientHeight) {
460
401
  align = itemTop < 0 ? 'start' : 'end';
461
402
  } else {
@@ -465,7 +406,6 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
465
406
  align = index < itemIndex ? 'start' : 'end';
466
407
  }
467
408
  }
468
-
469
409
  setState(_extends(_extends({}, state), {
470
410
  startIndex: Math.max(0, index - itemCountVisible),
471
411
  endIndex: Math.min(itemCount - 1, index + itemCountVisible)
@@ -479,18 +419,14 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
479
419
  } else {
480
420
  var indexItemHeight = getCachedItemHeight(getItemKeyByIndex(index));
481
421
  var _itemTop = 0;
482
-
483
422
  for (var _i2 = 0; _i2 < index; _i2++) {
484
423
  _itemTop += getCachedItemHeight(getItemKeyByIndex(_i2));
485
424
  }
486
-
487
425
  var itemBottom = _itemTop + indexItemHeight;
488
426
  var itemMiddle = _itemTop + indexItemHeight / 2;
489
-
490
427
  if (itemMiddle > scrollTop && itemMiddle < clientHeight + scrollTop) {
491
428
  return;
492
429
  }
493
-
494
430
  if (align === 'nearest') {
495
431
  if (_itemTop < scrollTop) {
496
432
  align = 'start';
@@ -498,16 +434,13 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
498
434
  align = 'end';
499
435
  }
500
436
  }
501
-
502
437
  var _viewportHeight = clientHeight - indexItemHeight;
503
-
504
438
  refList.current.scrollTop = _itemTop - (align === 'start' ? 0 : _viewportHeight / (align === 'center' ? 2 : 1));
505
439
  }
506
440
  });
507
441
  }
508
442
  };
509
443
  }, [data, itemHeight, state]);
510
-
511
444
  var renderChildren = function renderChildren(list, startIndex) {
512
445
  return _mapInstanceProperty(list).call(list, function (item, index) {
513
446
  var originIndex = startIndex + index;
@@ -519,13 +452,11 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
519
452
  key: key,
520
453
  ref: function ref(ele) {
521
454
  var heightMap = refItemHeightMap.current;
522
-
523
455
  if (ele && state.status === 'MEASURE_START' && (!isStaticItemHeight || heightMap[key] === undefined)) {
524
456
  if (isStaticItemHeight) {
525
457
  if (!heightMap[KEY_VIRTUAL_ITEM_HEIGHT]) {
526
458
  heightMap[KEY_VIRTUAL_ITEM_HEIGHT] = getNodeHeight(ele, true);
527
459
  }
528
-
529
460
  heightMap[key] = heightMap[KEY_VIRTUAL_ITEM_HEIGHT];
530
461
  } else {
531
462
  heightMap[key] = getNodeHeight(ele, true);
@@ -535,12 +466,10 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
535
466
  });
536
467
  });
537
468
  };
538
-
539
469
  var refLongestItemIndex = useRef(null);
540
470
  useEffect(function () {
541
471
  refLongestItemIndex.current = null;
542
472
  }, [data]);
543
-
544
473
  var renderLongestItem = function renderLongestItem() {
545
474
  if (measureLongestItem) {
546
475
  var index = refLongestItemIndex.current === null ? getLongestItemIndex(data) : refLongestItemIndex.current;
@@ -556,10 +485,8 @@ var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
556
485
  style: {}
557
486
  })) : null;
558
487
  }
559
-
560
488
  return null;
561
489
  };
562
-
563
490
  return /*#__PURE__*/React.createElement(ResizeObserver, {
564
491
  onResize: function onResize() {
565
492
  if (refList.current && !isNumber(styleListMaxHeight)) {