@arco-design/mobile-react 2.25.3 → 2.26.0

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 (816) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.js +124 -43
  5. package/cjs/_helpers/index.js +13 -2
  6. package/cjs/_helpers/react-dom.js +12 -0
  7. package/cjs/_helpers/render.js +12 -0
  8. package/cjs/action-sheet/index.d.ts +2 -2
  9. package/cjs/action-sheet/index.js +30 -10
  10. package/cjs/action-sheet/methods.js +2 -0
  11. package/cjs/action-sheet/style/css/index.js +2 -0
  12. package/cjs/action-sheet/style/index.js +2 -0
  13. package/cjs/avatar/group.js +24 -12
  14. package/cjs/avatar/index.js +77 -51
  15. package/cjs/avatar/style/css/index.js +2 -0
  16. package/cjs/avatar/style/index.js +2 -0
  17. package/cjs/badge/index.js +29 -18
  18. package/cjs/badge/style/css/index.js +1 -0
  19. package/cjs/badge/style/index.js +1 -0
  20. package/cjs/button/hooks.js +20 -15
  21. package/cjs/button/index.js +67 -46
  22. package/cjs/button/style/css/index.js +2 -0
  23. package/cjs/button/style/index.js +2 -0
  24. package/cjs/carousel/index.d.ts +6 -0
  25. package/cjs/carousel/index.js +342 -184
  26. package/cjs/carousel/style/css/index.css +50 -15
  27. package/cjs/carousel/style/css/index.js +1 -0
  28. package/cjs/carousel/style/index.js +1 -0
  29. package/cjs/carousel/style/index.less +19 -14
  30. package/cjs/cell/arrow.js +3 -0
  31. package/cjs/cell/cell.js +23 -14
  32. package/cjs/cell/demo/style/css/mobile.css +8 -0
  33. package/cjs/cell/demo/style/mobile.less +2 -2
  34. package/cjs/cell/group.js +21 -9
  35. package/cjs/cell/index.js +7 -1
  36. package/cjs/cell/style/css/index.css +16 -0
  37. package/cjs/cell/style/css/index.js +1 -0
  38. package/cjs/cell/style/index.js +1 -0
  39. package/cjs/cell/style/index.less +6 -4
  40. package/cjs/checkbox/checkbox.js +57 -31
  41. package/cjs/checkbox/group.js +38 -24
  42. package/cjs/checkbox/hooks/index.js +2 -0
  43. package/cjs/checkbox/hooks/useMergeProps.js +14 -7
  44. package/cjs/checkbox/index.js +8 -1
  45. package/cjs/checkbox/style/css/index.js +1 -0
  46. package/cjs/checkbox/style/index.js +1 -0
  47. package/cjs/checkbox/type.js +2 -0
  48. package/cjs/circle-progress/index.js +57 -37
  49. package/cjs/circle-progress/style/css/index.js +1 -0
  50. package/cjs/circle-progress/style/index.js +1 -0
  51. package/cjs/collapse/collapse.js +56 -27
  52. package/cjs/collapse/group.js +44 -20
  53. package/cjs/collapse/index.js +9 -0
  54. package/cjs/collapse/style/css/index.js +1 -0
  55. package/cjs/collapse/style/index.js +1 -0
  56. package/cjs/collapse/utils.js +7 -0
  57. package/cjs/context-provider/index.d.ts +6 -0
  58. package/cjs/context-provider/index.js +30 -11
  59. package/cjs/context-provider/style/css/index.js +1 -0
  60. package/cjs/context-provider/style/index.js +1 -0
  61. package/cjs/count-down/hooks.js +43 -24
  62. package/cjs/count-down/index.js +37 -29
  63. package/cjs/count-down/singleton.js +12 -2
  64. package/cjs/count-down/style/css/index.js +1 -0
  65. package/cjs/count-down/style/index.js +1 -0
  66. package/cjs/count-down/util.js +47 -33
  67. package/cjs/date-picker/helper.js +14 -7
  68. package/cjs/date-picker/index.js +106 -42
  69. package/cjs/date-picker/style/css/index.js +2 -0
  70. package/cjs/date-picker/style/index.js +2 -0
  71. package/cjs/dialog/index.d.ts +2 -2
  72. package/cjs/dialog/index.js +54 -28
  73. package/cjs/dialog/methods.js +22 -9
  74. package/cjs/dialog/style/css/index.js +2 -0
  75. package/cjs/dialog/style/index.js +2 -0
  76. package/cjs/divider/demo/style/css/mobile.css +7 -0
  77. package/cjs/divider/demo/style/mobile.less +12 -0
  78. package/cjs/divider/index.d.ts +49 -0
  79. package/cjs/divider/index.js +65 -0
  80. package/cjs/divider/style/css/index.css +69 -0
  81. package/cjs/divider/style/css/index.d.ts +2 -0
  82. package/cjs/divider/style/css/index.js +5 -0
  83. package/cjs/divider/style/index.d.ts +2 -0
  84. package/cjs/divider/style/index.js +5 -0
  85. package/cjs/divider/style/index.less +66 -0
  86. package/cjs/dropdown/dropdown.js +113 -74
  87. package/cjs/dropdown/index.js +8 -1
  88. package/cjs/dropdown/options.js +28 -12
  89. package/cjs/dropdown/style/css/index.js +1 -0
  90. package/cjs/dropdown/style/index.js +1 -0
  91. package/cjs/dropdown-menu/dropdown-menu.js +84 -49
  92. package/cjs/dropdown-menu/helper.js +27 -6
  93. package/cjs/dropdown-menu/index.js +6 -0
  94. package/cjs/dropdown-menu/style/css/index.js +2 -0
  95. package/cjs/dropdown-menu/style/index.js +2 -0
  96. package/cjs/ellipsis/components/js-ellipsis.js +72 -33
  97. package/cjs/ellipsis/components/native-ellipsis.js +15 -9
  98. package/cjs/ellipsis/index.js +32 -19
  99. package/cjs/ellipsis/style/css/index.js +1 -0
  100. package/cjs/ellipsis/style/index.js +1 -0
  101. package/cjs/ellipsis/type.d.ts +3 -3
  102. package/cjs/ellipsis/utils/dom.js +8 -0
  103. package/cjs/ellipsis/utils/is.js +5 -1
  104. package/cjs/form/form-item-context.js +5 -0
  105. package/cjs/form/form-item.js +124 -42
  106. package/cjs/form/index.js +35 -17
  107. package/cjs/form/style/css/index.js +1 -0
  108. package/cjs/form/style/index.js +1 -0
  109. package/cjs/form/type.js +3 -0
  110. package/cjs/form/useForm.js +76 -18
  111. package/cjs/form/utils.js +10 -3
  112. package/cjs/grid/index.js +41 -21
  113. package/cjs/grid/style/css/index.js +1 -0
  114. package/cjs/grid/style/index.js +1 -0
  115. package/cjs/icon/IconAdd/index.js +12 -5
  116. package/cjs/icon/IconArrowBack/index.js +12 -5
  117. package/cjs/icon/IconArrowDown/index.js +12 -5
  118. package/cjs/icon/IconArrowIn/index.js +12 -5
  119. package/cjs/icon/IconArrowUp/index.js +12 -5
  120. package/cjs/icon/IconCheck/index.js +12 -5
  121. package/cjs/icon/IconCheckBold/index.js +12 -5
  122. package/cjs/icon/IconCircleChecked/index.js +12 -5
  123. package/cjs/icon/IconCircleDisabled/index.js +12 -5
  124. package/cjs/icon/IconCircleUnchecked/index.js +12 -5
  125. package/cjs/icon/IconClear/index.js +12 -5
  126. package/cjs/icon/IconClose/index.js +12 -5
  127. package/cjs/icon/IconCloseBold/index.js +12 -5
  128. package/cjs/icon/IconDelete/index.js +12 -5
  129. package/cjs/icon/IconEdit/index.js +12 -5
  130. package/cjs/icon/IconErrorCircle/index.js +12 -5
  131. package/cjs/icon/IconEyeInvisible/index.js +12 -5
  132. package/cjs/icon/IconEyeVisible/index.js +12 -5
  133. package/cjs/icon/IconEyelashInvisible/index.js +12 -5
  134. package/cjs/icon/IconGift/index.js +12 -5
  135. package/cjs/icon/IconHeart/index.js +12 -5
  136. package/cjs/icon/IconHome/index.js +12 -5
  137. package/cjs/icon/IconLikeCircle/index.js +12 -5
  138. package/cjs/icon/IconMinus/index.js +12 -5
  139. package/cjs/icon/IconMore/index.js +12 -5
  140. package/cjs/icon/IconNotice/index.js +12 -5
  141. package/cjs/icon/IconNoticeOff/index.js +12 -5
  142. package/cjs/icon/IconPicture/index.js +12 -5
  143. package/cjs/icon/IconPlay/index.js +12 -5
  144. package/cjs/icon/IconQuestionCircle/index.js +12 -5
  145. package/cjs/icon/IconRefresh/index.js +12 -5
  146. package/cjs/icon/IconSad/index.js +12 -5
  147. package/cjs/icon/IconScan/index.js +12 -5
  148. package/cjs/icon/IconSearch/index.js +12 -5
  149. package/cjs/icon/IconSetting/index.js +12 -5
  150. package/cjs/icon/IconShop/index.js +12 -5
  151. package/cjs/icon/IconShopping/index.js +12 -5
  152. package/cjs/icon/IconSmileFill/index.js +12 -5
  153. package/cjs/icon/IconSound/index.js +12 -5
  154. package/cjs/icon/IconSquareChecked/index.js +12 -5
  155. package/cjs/icon/IconSquareDisabled/index.js +12 -5
  156. package/cjs/icon/IconSquareUnchecked/index.js +12 -5
  157. package/cjs/icon/IconStar/index.js +12 -5
  158. package/cjs/icon/IconStarFill/index.js +12 -5
  159. package/cjs/icon/IconStarHalf/index.js +12 -5
  160. package/cjs/icon/IconSubway/index.js +12 -5
  161. package/cjs/icon/IconSuccessCircle/index.js +12 -5
  162. package/cjs/icon/IconTriDown/index.js +12 -5
  163. package/cjs/icon/IconTriUp/index.js +12 -5
  164. package/cjs/icon/IconUpload/index.js +12 -5
  165. package/cjs/icon/IconUser/index.js +12 -5
  166. package/cjs/icon/IconUserFill/index.js +12 -5
  167. package/cjs/icon/IconWarnCircle/index.js +12 -5
  168. package/cjs/icon/IconWarnCircleFill/index.js +12 -5
  169. package/cjs/icon/index.js +111 -0
  170. package/cjs/image/index.js +92 -56
  171. package/cjs/image/style/css/index.css +1 -0
  172. package/cjs/image/style/css/index.js +2 -0
  173. package/cjs/image/style/index.js +2 -0
  174. package/cjs/image/style/index.less +1 -0
  175. package/cjs/image-picker/add-icon.js +3 -0
  176. package/cjs/image-picker/index.js +96 -52
  177. package/cjs/image-picker/style/css/index.js +2 -0
  178. package/cjs/image-picker/style/index.js +2 -0
  179. package/cjs/image-preview/index.d.ts +2 -2
  180. package/cjs/image-preview/index.js +239 -119
  181. package/cjs/image-preview/methods.js +18 -5
  182. package/cjs/image-preview/style/css/index.js +4 -0
  183. package/cjs/image-preview/style/index.js +4 -0
  184. package/cjs/index.d.ts +10 -9
  185. package/cjs/index.js +132 -19
  186. package/cjs/input/demo/style/css/mobile.css +5 -1
  187. package/cjs/input/demo/style/mobile.less +2 -2
  188. package/cjs/input/hooks.js +104 -42
  189. package/cjs/input/index.js +40 -26
  190. package/cjs/input/props.d.ts +6 -0
  191. package/cjs/input/style/css/index.css +9 -0
  192. package/cjs/input/style/css/index.js +1 -0
  193. package/cjs/input/style/index.js +1 -0
  194. package/cjs/input/style/index.less +2 -2
  195. package/cjs/load-more/index.js +56 -29
  196. package/cjs/load-more/style/css/index.js +1 -0
  197. package/cjs/load-more/style/index.js +1 -0
  198. package/cjs/loading/index.js +48 -19
  199. package/cjs/loading/style/css/index.js +1 -0
  200. package/cjs/loading/style/index.js +1 -0
  201. package/cjs/masking/index.d.ts +2 -2
  202. package/cjs/masking/index.js +79 -46
  203. package/cjs/masking/methods.js +19 -4
  204. package/cjs/masking/style/css/index.js +2 -0
  205. package/cjs/masking/style/index.js +2 -0
  206. package/cjs/nav-bar/back-icon.js +5 -1
  207. package/cjs/nav-bar/index.js +61 -37
  208. package/cjs/nav-bar/style/css/index.js +1 -0
  209. package/cjs/nav-bar/style/index.js +1 -0
  210. package/cjs/notice-bar/index.js +61 -33
  211. package/cjs/notice-bar/style/css/index.css +33 -0
  212. package/cjs/notice-bar/style/css/index.js +1 -0
  213. package/cjs/notice-bar/style/index.js +1 -0
  214. package/cjs/notice-bar/style/index.less +16 -3
  215. package/cjs/notify/index.d.ts +8 -8
  216. package/cjs/notify/index.js +49 -20
  217. package/cjs/notify/methods.js +17 -2
  218. package/cjs/notify/style/css/index.js +1 -0
  219. package/cjs/notify/style/index.js +1 -0
  220. package/cjs/pagination/arrow.js +3 -0
  221. package/cjs/pagination/index.js +58 -27
  222. package/cjs/pagination/style/css/index.js +1 -0
  223. package/cjs/pagination/style/index.js +1 -0
  224. package/cjs/picker/index.js +81 -40
  225. package/cjs/picker/style/css/index.js +3 -0
  226. package/cjs/picker/style/index.js +3 -0
  227. package/cjs/picker-view/components/cascader.js +31 -14
  228. package/cjs/picker-view/components/multi-picker.js +20 -6
  229. package/cjs/picker-view/components/picker-cell.js +97 -45
  230. package/cjs/picker-view/index.js +71 -25
  231. package/cjs/picker-view/style/css/index.js +1 -0
  232. package/cjs/picker-view/style/index.js +1 -0
  233. package/cjs/popover/hooks/index.js +4 -0
  234. package/cjs/popover/hooks/useEvent.js +49 -25
  235. package/cjs/popover/hooks/usePosition.js +151 -94
  236. package/cjs/popover/index.js +8 -1
  237. package/cjs/popover/menu.js +51 -32
  238. package/cjs/popover/popover-inner.js +47 -30
  239. package/cjs/popover/popover.js +101 -69
  240. package/cjs/popover/style/css/index.js +2 -0
  241. package/cjs/popover/style/index.js +2 -0
  242. package/cjs/popup/index.d.ts +2 -2
  243. package/cjs/popup/index.js +39 -22
  244. package/cjs/popup/methods.js +2 -0
  245. package/cjs/popup/style/css/index.js +2 -0
  246. package/cjs/popup/style/index.js +2 -0
  247. package/cjs/popup-swiper/index.d.ts +2 -2
  248. package/cjs/popup-swiper/index.js +80 -38
  249. package/cjs/popup-swiper/methods.js +2 -0
  250. package/cjs/popup-swiper/style/css/index.js +2 -0
  251. package/cjs/popup-swiper/style/index.js +2 -0
  252. package/cjs/portal/index.js +8 -3
  253. package/cjs/portal/style/css/index.js +1 -0
  254. package/cjs/portal/style/index.js +1 -0
  255. package/cjs/progress/index.js +44 -27
  256. package/cjs/progress/style/css/index.js +1 -0
  257. package/cjs/progress/style/index.js +1 -0
  258. package/cjs/pull-refresh/android-pull-refresh.js +100 -58
  259. package/cjs/pull-refresh/hooks.js +32 -11
  260. package/cjs/pull-refresh/index.js +14 -3
  261. package/cjs/pull-refresh/ios-pull-refresh.js +80 -53
  262. package/cjs/pull-refresh/model.js +1 -0
  263. package/cjs/pull-refresh/style/css/index.js +2 -0
  264. package/cjs/pull-refresh/style/index.js +2 -0
  265. package/cjs/radio/group.js +34 -20
  266. package/cjs/radio/index.js +8 -1
  267. package/cjs/radio/radio.js +10 -0
  268. package/cjs/radio/style/css/index.js +1 -0
  269. package/cjs/radio/style/index.js +1 -0
  270. package/cjs/rate/index.js +50 -24
  271. package/cjs/rate/style/css/index.js +1 -0
  272. package/cjs/rate/style/index.js +1 -0
  273. package/cjs/search-bar/association.js +32 -14
  274. package/cjs/search-bar/cancel-button.js +16 -8
  275. package/cjs/search-bar/highlight.js +25 -14
  276. package/cjs/search-bar/index.js +97 -77
  277. package/cjs/search-bar/style/css/index.css +1 -0
  278. package/cjs/search-bar/style/css/index.js +1 -0
  279. package/cjs/search-bar/style/index.js +1 -0
  280. package/cjs/search-bar/style/index.less +1 -0
  281. package/cjs/show-monitor/index.js +93 -34
  282. package/cjs/show-monitor/style/css/index.js +1 -0
  283. package/cjs/show-monitor/style/index.js +1 -0
  284. package/cjs/slider/hooks/index.js +13 -0
  285. package/cjs/slider/hooks/useSliderEvents.js +55 -26
  286. package/cjs/slider/hooks/useSliderIcon.js +20 -6
  287. package/cjs/slider/hooks/useSliderInit.js +52 -32
  288. package/cjs/slider/hooks/useSliderStyle.js +24 -12
  289. package/cjs/slider/index.js +72 -46
  290. package/cjs/slider/marks.js +26 -12
  291. package/cjs/slider/popover.js +13 -4
  292. package/cjs/slider/style/css/index.js +2 -0
  293. package/cjs/slider/style/index.js +2 -0
  294. package/cjs/slider/thumb.js +23 -8
  295. package/cjs/stepper/hooks/useButtonClick.js +28 -19
  296. package/cjs/stepper/hooks/useInputEvent.js +18 -9
  297. package/cjs/stepper/hooks/useValue.js +14 -9
  298. package/cjs/stepper/index.js +96 -82
  299. package/cjs/stepper/style/css/index.js +1 -0
  300. package/cjs/stepper/style/index.js +1 -0
  301. package/cjs/steps/index.js +40 -22
  302. package/cjs/steps/step.js +27 -10
  303. package/cjs/steps/style/css/index.js +1 -0
  304. package/cjs/steps/style/index.js +1 -0
  305. package/cjs/sticky/index.js +65 -36
  306. package/cjs/sticky/style/css/index.js +1 -0
  307. package/cjs/sticky/style/index.js +1 -0
  308. package/cjs/style.d.ts +9 -8
  309. package/cjs/style.js +64 -8
  310. package/cjs/swipe-action/index.js +92 -40
  311. package/cjs/swipe-action/item.js +17 -9
  312. package/cjs/swipe-action/style/css/index.js +1 -0
  313. package/cjs/swipe-action/style/index.js +1 -0
  314. package/cjs/swipe-load/index.js +83 -55
  315. package/cjs/swipe-load/style/css/index.js +1 -0
  316. package/cjs/swipe-load/style/index.js +1 -0
  317. package/cjs/switch/index.js +47 -27
  318. package/cjs/switch/style/css/index.js +1 -0
  319. package/cjs/switch/style/index.js +1 -0
  320. package/cjs/tab-bar/index.js +7 -0
  321. package/cjs/tab-bar/item.js +24 -6
  322. package/cjs/tab-bar/style/css/index.js +1 -0
  323. package/cjs/tab-bar/style/index.js +1 -0
  324. package/cjs/tab-bar/tab-bar.js +31 -15
  325. package/cjs/tabs/index.js +195 -129
  326. package/cjs/tabs/style/css/index.js +1 -0
  327. package/cjs/tabs/style/index.js +1 -0
  328. package/cjs/tabs/tab-cell-underline.js +111 -38
  329. package/cjs/tabs/tab-cell.js +124 -70
  330. package/cjs/tabs/tab-pane.js +94 -49
  331. package/cjs/tabs/type.d.ts +18 -2
  332. package/cjs/tag/index.js +8 -1
  333. package/cjs/tag/list.js +26 -11
  334. package/cjs/tag/style/css/index.js +1 -0
  335. package/cjs/tag/style/index.js +1 -0
  336. package/cjs/tag/tag.js +32 -20
  337. package/cjs/textarea/index.js +56 -35
  338. package/cjs/textarea/style/css/index.js +2 -0
  339. package/cjs/textarea/style/index.js +2 -0
  340. package/cjs/toast/index.d.ts +12 -12
  341. package/cjs/toast/index.js +61 -26
  342. package/cjs/toast/methods.js +16 -2
  343. package/cjs/toast/style/css/index.js +3 -0
  344. package/cjs/toast/style/index.js +3 -0
  345. package/cjs/transition/index.js +18 -10
  346. package/cjs/transition/style/css/index.js +1 -0
  347. package/cjs/transition/style/index.js +1 -0
  348. package/dist/index.js +21588 -19198
  349. package/dist/index.min.js +4 -4
  350. package/dist/style.css +3766 -3629
  351. package/dist/style.min.css +1 -1
  352. package/esm/_helpers/hooks.js +103 -42
  353. package/esm/_helpers/index.js +3 -2
  354. package/esm/_helpers/react-dom.js +10 -0
  355. package/esm/_helpers/render.js +7 -0
  356. package/esm/action-sheet/index.d.ts +2 -2
  357. package/esm/action-sheet/index.js +16 -10
  358. package/esm/avatar/group.js +16 -12
  359. package/esm/avatar/index.js +62 -51
  360. package/esm/badge/index.js +22 -18
  361. package/esm/button/hooks.js +18 -15
  362. package/esm/button/index.js +57 -46
  363. package/esm/carousel/index.d.ts +6 -0
  364. package/esm/carousel/index.js +336 -186
  365. package/esm/carousel/style/css/index.css +50 -15
  366. package/esm/carousel/style/index.less +19 -14
  367. package/esm/cell/cell.js +14 -14
  368. package/esm/cell/demo/style/css/mobile.css +8 -0
  369. package/esm/cell/demo/style/mobile.less +2 -2
  370. package/esm/cell/group.js +11 -9
  371. package/esm/cell/index.js +1 -1
  372. package/esm/cell/style/css/index.css +16 -0
  373. package/esm/cell/style/index.less +6 -4
  374. package/esm/checkbox/checkbox.js +42 -31
  375. package/esm/checkbox/group.js +28 -24
  376. package/esm/checkbox/hooks/useMergeProps.js +9 -7
  377. package/esm/checkbox/index.js +2 -2
  378. package/esm/checkbox/type.js +1 -0
  379. package/esm/circle-progress/index.js +49 -37
  380. package/esm/collapse/collapse.js +46 -27
  381. package/esm/collapse/group.js +34 -20
  382. package/esm/collapse/index.js +1 -1
  383. package/esm/collapse/utils.js +1 -0
  384. package/esm/context-provider/index.d.ts +6 -0
  385. package/esm/context-provider/index.js +20 -11
  386. package/esm/count-down/hooks.js +37 -24
  387. package/esm/count-down/index.js +29 -30
  388. package/esm/count-down/singleton.js +5 -2
  389. package/esm/count-down/util.js +42 -33
  390. package/esm/date-picker/helper.js +9 -7
  391. package/esm/date-picker/index.js +93 -42
  392. package/esm/dialog/index.d.ts +2 -2
  393. package/esm/dialog/index.js +39 -28
  394. package/esm/dialog/methods.js +11 -9
  395. package/esm/divider/demo/style/css/mobile.css +7 -0
  396. package/esm/divider/demo/style/mobile.less +12 -0
  397. package/esm/divider/index.d.ts +49 -0
  398. package/esm/divider/index.js +49 -0
  399. package/esm/divider/style/css/index.css +69 -0
  400. package/esm/divider/style/css/index.d.ts +2 -0
  401. package/esm/divider/style/css/index.js +2 -0
  402. package/esm/divider/style/index.d.ts +2 -0
  403. package/esm/divider/style/index.js +2 -0
  404. package/esm/divider/style/index.less +66 -0
  405. package/esm/dropdown/dropdown.js +102 -74
  406. package/esm/dropdown/index.js +1 -1
  407. package/esm/dropdown/options.js +20 -12
  408. package/esm/dropdown-menu/dropdown-menu.js +74 -49
  409. package/esm/dropdown-menu/helper.js +16 -6
  410. package/esm/dropdown-menu/index.js +1 -1
  411. package/esm/ellipsis/components/js-ellipsis.js +63 -33
  412. package/esm/ellipsis/components/native-ellipsis.js +11 -9
  413. package/esm/ellipsis/index.js +21 -20
  414. package/esm/ellipsis/type.d.ts +3 -3
  415. package/esm/ellipsis/utils/dom.js +7 -0
  416. package/esm/ellipsis/utils/is.js +1 -1
  417. package/esm/form/form-item.js +110 -42
  418. package/esm/form/index.js +20 -17
  419. package/esm/form/type.js +3 -0
  420. package/esm/form/useForm.js +71 -17
  421. package/esm/form/utils.js +6 -3
  422. package/esm/grid/index.js +34 -21
  423. package/esm/icon/IconAdd/index.js +6 -5
  424. package/esm/icon/IconArrowBack/index.js +6 -5
  425. package/esm/icon/IconArrowDown/index.js +6 -5
  426. package/esm/icon/IconArrowIn/index.js +6 -5
  427. package/esm/icon/IconArrowUp/index.js +6 -5
  428. package/esm/icon/IconCheck/index.js +6 -5
  429. package/esm/icon/IconCheckBold/index.js +6 -5
  430. package/esm/icon/IconCircleChecked/index.js +6 -5
  431. package/esm/icon/IconCircleDisabled/index.js +6 -5
  432. package/esm/icon/IconCircleUnchecked/index.js +6 -5
  433. package/esm/icon/IconClear/index.js +6 -5
  434. package/esm/icon/IconClose/index.js +6 -5
  435. package/esm/icon/IconCloseBold/index.js +6 -5
  436. package/esm/icon/IconDelete/index.js +6 -5
  437. package/esm/icon/IconEdit/index.js +6 -5
  438. package/esm/icon/IconErrorCircle/index.js +6 -5
  439. package/esm/icon/IconEyeInvisible/index.js +6 -5
  440. package/esm/icon/IconEyeVisible/index.js +6 -5
  441. package/esm/icon/IconEyelashInvisible/index.js +6 -5
  442. package/esm/icon/IconGift/index.js +6 -5
  443. package/esm/icon/IconHeart/index.js +6 -5
  444. package/esm/icon/IconHome/index.js +6 -5
  445. package/esm/icon/IconLikeCircle/index.js +6 -5
  446. package/esm/icon/IconMinus/index.js +6 -5
  447. package/esm/icon/IconMore/index.js +6 -5
  448. package/esm/icon/IconNotice/index.js +6 -5
  449. package/esm/icon/IconNoticeOff/index.js +6 -5
  450. package/esm/icon/IconPicture/index.js +6 -5
  451. package/esm/icon/IconPlay/index.js +6 -5
  452. package/esm/icon/IconQuestionCircle/index.js +6 -5
  453. package/esm/icon/IconRefresh/index.js +6 -5
  454. package/esm/icon/IconSad/index.js +6 -5
  455. package/esm/icon/IconScan/index.js +6 -5
  456. package/esm/icon/IconSearch/index.js +6 -5
  457. package/esm/icon/IconSetting/index.js +6 -5
  458. package/esm/icon/IconShop/index.js +6 -5
  459. package/esm/icon/IconShopping/index.js +6 -5
  460. package/esm/icon/IconSmileFill/index.js +6 -5
  461. package/esm/icon/IconSound/index.js +6 -5
  462. package/esm/icon/IconSquareChecked/index.js +6 -5
  463. package/esm/icon/IconSquareDisabled/index.js +6 -5
  464. package/esm/icon/IconSquareUnchecked/index.js +6 -5
  465. package/esm/icon/IconStar/index.js +6 -5
  466. package/esm/icon/IconStarFill/index.js +6 -5
  467. package/esm/icon/IconStarHalf/index.js +6 -5
  468. package/esm/icon/IconSubway/index.js +6 -5
  469. package/esm/icon/IconSuccessCircle/index.js +6 -5
  470. package/esm/icon/IconTriDown/index.js +6 -5
  471. package/esm/icon/IconTriUp/index.js +6 -5
  472. package/esm/icon/IconUpload/index.js +6 -5
  473. package/esm/icon/IconUser/index.js +6 -5
  474. package/esm/icon/IconUserFill/index.js +6 -5
  475. package/esm/icon/IconWarnCircle/index.js +6 -5
  476. package/esm/icon/IconWarnCircleFill/index.js +6 -5
  477. package/esm/image/index.js +84 -57
  478. package/esm/image/style/css/index.css +1 -0
  479. package/esm/image/style/index.less +1 -0
  480. package/esm/image-picker/index.js +80 -52
  481. package/esm/image-preview/index.d.ts +2 -2
  482. package/esm/image-preview/index.js +217 -119
  483. package/esm/image-preview/methods.js +14 -4
  484. package/esm/index.d.ts +10 -9
  485. package/esm/index.js +10 -9
  486. package/esm/input/demo/style/css/mobile.css +5 -1
  487. package/esm/input/demo/style/mobile.less +2 -2
  488. package/esm/input/hooks.js +96 -42
  489. package/esm/input/index.js +30 -26
  490. package/esm/input/props.d.ts +6 -0
  491. package/esm/input/style/css/index.css +9 -0
  492. package/esm/input/style/index.less +2 -2
  493. package/esm/load-more/index.js +48 -29
  494. package/esm/loading/index.js +40 -19
  495. package/esm/masking/index.d.ts +2 -2
  496. package/esm/masking/index.js +64 -46
  497. package/esm/masking/methods.js +15 -4
  498. package/esm/nav-bar/back-icon.js +3 -1
  499. package/esm/nav-bar/index.js +52 -37
  500. package/esm/notice-bar/index.js +56 -35
  501. package/esm/notice-bar/style/css/index.css +33 -0
  502. package/esm/notice-bar/style/index.less +16 -3
  503. package/esm/notify/index.d.ts +8 -8
  504. package/esm/notify/index.js +33 -20
  505. package/esm/notify/methods.js +13 -2
  506. package/esm/pagination/index.js +50 -27
  507. package/esm/picker/index.js +66 -40
  508. package/esm/picker-view/components/cascader.js +23 -14
  509. package/esm/picker-view/components/multi-picker.js +16 -6
  510. package/esm/picker-view/components/picker-cell.js +89 -45
  511. package/esm/picker-view/index.js +54 -25
  512. package/esm/popover/hooks/useEvent.js +41 -26
  513. package/esm/popover/hooks/usePosition.js +144 -94
  514. package/esm/popover/index.js +2 -2
  515. package/esm/popover/menu.js +41 -32
  516. package/esm/popover/popover-inner.js +38 -30
  517. package/esm/popover/popover.js +90 -69
  518. package/esm/popup/index.d.ts +2 -2
  519. package/esm/popup/index.js +25 -22
  520. package/esm/popup-swiper/index.d.ts +2 -2
  521. package/esm/popup-swiper/index.js +64 -38
  522. package/esm/portal/index.js +5 -3
  523. package/esm/progress/index.js +36 -27
  524. package/esm/pull-refresh/android-pull-refresh.js +90 -58
  525. package/esm/pull-refresh/hooks.js +23 -11
  526. package/esm/pull-refresh/index.js +5 -3
  527. package/esm/pull-refresh/ios-pull-refresh.js +68 -53
  528. package/esm/pull-refresh/model.js +1 -0
  529. package/esm/radio/group.js +24 -20
  530. package/esm/radio/index.js +2 -2
  531. package/esm/rate/index.js +39 -24
  532. package/esm/search-bar/association.js +27 -14
  533. package/esm/search-bar/cancel-button.js +11 -8
  534. package/esm/search-bar/highlight.js +20 -14
  535. package/esm/search-bar/index.js +86 -77
  536. package/esm/search-bar/style/css/index.css +1 -0
  537. package/esm/search-bar/style/index.less +1 -0
  538. package/esm/show-monitor/index.js +85 -34
  539. package/esm/slider/hooks/useSliderEvents.js +51 -26
  540. package/esm/slider/hooks/useSliderIcon.js +13 -6
  541. package/esm/slider/hooks/useSliderInit.js +46 -32
  542. package/esm/slider/hooks/useSliderStyle.js +20 -12
  543. package/esm/slider/index.js +62 -46
  544. package/esm/slider/marks.js +18 -12
  545. package/esm/slider/popover.js +6 -4
  546. package/esm/slider/thumb.js +15 -8
  547. package/esm/stepper/hooks/useButtonClick.js +27 -19
  548. package/esm/stepper/hooks/useInputEvent.js +16 -9
  549. package/esm/stepper/hooks/useValue.js +12 -9
  550. package/esm/stepper/index.js +82 -82
  551. package/esm/steps/index.js +27 -22
  552. package/esm/steps/step.js +19 -10
  553. package/esm/sticky/index.js +56 -36
  554. package/esm/style.d.ts +9 -8
  555. package/esm/style.js +9 -8
  556. package/esm/swipe-action/index.js +80 -40
  557. package/esm/swipe-action/item.js +12 -9
  558. package/esm/swipe-load/index.js +75 -56
  559. package/esm/switch/index.js +39 -27
  560. package/esm/tab-bar/index.js +1 -0
  561. package/esm/tab-bar/item.js +13 -6
  562. package/esm/tab-bar/tab-bar.js +21 -15
  563. package/esm/tabs/index.js +183 -130
  564. package/esm/tabs/tab-cell-underline.js +103 -38
  565. package/esm/tabs/tab-cell.js +114 -70
  566. package/esm/tabs/tab-pane.js +85 -49
  567. package/esm/tabs/type.d.ts +18 -2
  568. package/esm/tag/index.js +2 -2
  569. package/esm/tag/list.js +16 -11
  570. package/esm/tag/tag.js +22 -20
  571. package/esm/textarea/index.js +46 -35
  572. package/esm/toast/index.d.ts +12 -12
  573. package/esm/toast/index.js +42 -26
  574. package/esm/toast/methods.js +12 -2
  575. package/esm/transition/index.js +12 -10
  576. package/package.json +3 -3
  577. package/tokens/app/arcodesign/default/css-variables.less +22 -0
  578. package/tokens/app/arcodesign/default/index.d.ts +22 -0
  579. package/tokens/app/arcodesign/default/index.js +25 -1
  580. package/tokens/app/arcodesign/default/index.json +262 -0
  581. package/tokens/app/arcodesign/default/index.less +22 -0
  582. package/tokens/mixin/index.less +19 -1
  583. package/umd/_helpers/hooks.js +121 -43
  584. package/umd/_helpers/index.js +6 -2
  585. package/umd/_helpers/react-dom.js +11 -0
  586. package/umd/_helpers/render.js +9 -0
  587. package/umd/action-sheet/index.d.ts +2 -2
  588. package/umd/action-sheet/index.js +22 -10
  589. package/umd/action-sheet/methods.js +1 -0
  590. package/umd/avatar/group.js +20 -12
  591. package/umd/avatar/index.js +68 -51
  592. package/umd/badge/index.js +25 -18
  593. package/umd/button/hooks.js +19 -15
  594. package/umd/button/index.js +60 -46
  595. package/umd/carousel/index.d.ts +6 -0
  596. package/umd/carousel/index.js +337 -184
  597. package/umd/carousel/style/css/index.css +50 -15
  598. package/umd/carousel/style/index.less +19 -14
  599. package/umd/cell/arrow.js +2 -0
  600. package/umd/cell/cell.js +18 -14
  601. package/umd/cell/demo/style/css/mobile.css +8 -0
  602. package/umd/cell/demo/style/mobile.less +2 -2
  603. package/umd/cell/group.js +17 -9
  604. package/umd/cell/index.js +2 -1
  605. package/umd/cell/style/css/index.css +16 -0
  606. package/umd/cell/style/index.less +6 -4
  607. package/umd/checkbox/checkbox.js +45 -31
  608. package/umd/checkbox/group.js +34 -24
  609. package/umd/checkbox/hooks/useMergeProps.js +12 -7
  610. package/umd/checkbox/index.js +3 -1
  611. package/umd/checkbox/type.js +2 -0
  612. package/umd/circle-progress/index.js +52 -37
  613. package/umd/collapse/collapse.js +50 -27
  614. package/umd/collapse/group.js +38 -20
  615. package/umd/collapse/index.js +3 -0
  616. package/umd/collapse/utils.js +5 -0
  617. package/umd/context-provider/index.d.ts +6 -0
  618. package/umd/context-provider/index.js +25 -11
  619. package/umd/count-down/hooks.js +39 -24
  620. package/umd/count-down/index.js +31 -29
  621. package/umd/count-down/singleton.js +10 -2
  622. package/umd/count-down/util.js +47 -33
  623. package/umd/date-picker/helper.js +13 -7
  624. package/umd/date-picker/index.js +97 -42
  625. package/umd/dialog/index.d.ts +2 -2
  626. package/umd/dialog/index.js +44 -28
  627. package/umd/dialog/methods.js +18 -9
  628. package/umd/divider/demo/style/css/mobile.css +7 -0
  629. package/umd/divider/demo/style/mobile.less +12 -0
  630. package/umd/divider/index.d.ts +49 -0
  631. package/umd/divider/index.js +71 -0
  632. package/umd/divider/style/css/index.css +69 -0
  633. package/umd/divider/style/css/index.d.ts +2 -0
  634. package/umd/divider/style/css/index.js +15 -0
  635. package/umd/divider/style/index.d.ts +2 -0
  636. package/umd/divider/style/index.js +15 -0
  637. package/umd/divider/style/index.less +66 -0
  638. package/umd/dropdown/dropdown.js +106 -74
  639. package/umd/dropdown/index.js +3 -1
  640. package/umd/dropdown/options.js +24 -12
  641. package/umd/dropdown-menu/dropdown-menu.js +78 -49
  642. package/umd/dropdown-menu/helper.js +25 -6
  643. package/umd/dropdown-menu/index.js +2 -0
  644. package/umd/ellipsis/components/js-ellipsis.js +69 -33
  645. package/umd/ellipsis/components/native-ellipsis.js +13 -9
  646. package/umd/ellipsis/index.js +24 -19
  647. package/umd/ellipsis/type.d.ts +3 -3
  648. package/umd/ellipsis/utils/dom.js +8 -0
  649. package/umd/ellipsis/utils/is.js +5 -1
  650. package/umd/form/form-item-context.js +3 -0
  651. package/umd/form/form-item.js +114 -42
  652. package/umd/form/index.js +25 -17
  653. package/umd/form/type.js +3 -0
  654. package/umd/form/useForm.js +72 -18
  655. package/umd/form/utils.js +10 -3
  656. package/umd/grid/index.js +37 -21
  657. package/umd/icon/IconAdd/index.js +7 -5
  658. package/umd/icon/IconArrowBack/index.js +7 -5
  659. package/umd/icon/IconArrowDown/index.js +7 -5
  660. package/umd/icon/IconArrowIn/index.js +7 -5
  661. package/umd/icon/IconArrowUp/index.js +7 -5
  662. package/umd/icon/IconCheck/index.js +7 -5
  663. package/umd/icon/IconCheckBold/index.js +7 -5
  664. package/umd/icon/IconCircleChecked/index.js +7 -5
  665. package/umd/icon/IconCircleDisabled/index.js +7 -5
  666. package/umd/icon/IconCircleUnchecked/index.js +7 -5
  667. package/umd/icon/IconClear/index.js +7 -5
  668. package/umd/icon/IconClose/index.js +7 -5
  669. package/umd/icon/IconCloseBold/index.js +7 -5
  670. package/umd/icon/IconDelete/index.js +7 -5
  671. package/umd/icon/IconEdit/index.js +7 -5
  672. package/umd/icon/IconErrorCircle/index.js +7 -5
  673. package/umd/icon/IconEyeInvisible/index.js +7 -5
  674. package/umd/icon/IconEyeVisible/index.js +7 -5
  675. package/umd/icon/IconEyelashInvisible/index.js +7 -5
  676. package/umd/icon/IconGift/index.js +7 -5
  677. package/umd/icon/IconHeart/index.js +7 -5
  678. package/umd/icon/IconHome/index.js +7 -5
  679. package/umd/icon/IconLikeCircle/index.js +7 -5
  680. package/umd/icon/IconMinus/index.js +7 -5
  681. package/umd/icon/IconMore/index.js +7 -5
  682. package/umd/icon/IconNotice/index.js +7 -5
  683. package/umd/icon/IconNoticeOff/index.js +7 -5
  684. package/umd/icon/IconPicture/index.js +7 -5
  685. package/umd/icon/IconPlay/index.js +7 -5
  686. package/umd/icon/IconQuestionCircle/index.js +7 -5
  687. package/umd/icon/IconRefresh/index.js +7 -5
  688. package/umd/icon/IconSad/index.js +7 -5
  689. package/umd/icon/IconScan/index.js +7 -5
  690. package/umd/icon/IconSearch/index.js +7 -5
  691. package/umd/icon/IconSetting/index.js +7 -5
  692. package/umd/icon/IconShop/index.js +7 -5
  693. package/umd/icon/IconShopping/index.js +7 -5
  694. package/umd/icon/IconSmileFill/index.js +7 -5
  695. package/umd/icon/IconSound/index.js +7 -5
  696. package/umd/icon/IconSquareChecked/index.js +7 -5
  697. package/umd/icon/IconSquareDisabled/index.js +7 -5
  698. package/umd/icon/IconSquareUnchecked/index.js +7 -5
  699. package/umd/icon/IconStar/index.js +7 -5
  700. package/umd/icon/IconStarFill/index.js +7 -5
  701. package/umd/icon/IconStarHalf/index.js +7 -5
  702. package/umd/icon/IconSubway/index.js +7 -5
  703. package/umd/icon/IconSuccessCircle/index.js +7 -5
  704. package/umd/icon/IconTriDown/index.js +7 -5
  705. package/umd/icon/IconTriUp/index.js +7 -5
  706. package/umd/icon/IconUpload/index.js +7 -5
  707. package/umd/icon/IconUser/index.js +7 -5
  708. package/umd/icon/IconUserFill/index.js +7 -5
  709. package/umd/icon/IconWarnCircle/index.js +7 -5
  710. package/umd/icon/IconWarnCircleFill/index.js +7 -5
  711. package/umd/icon/index.js +1 -0
  712. package/umd/image/index.js +86 -56
  713. package/umd/image/style/css/index.css +1 -0
  714. package/umd/image/style/index.less +1 -0
  715. package/umd/image-picker/add-icon.js +2 -0
  716. package/umd/image-picker/index.js +85 -52
  717. package/umd/image-preview/index.d.ts +2 -2
  718. package/umd/image-preview/index.js +224 -119
  719. package/umd/image-preview/methods.js +15 -5
  720. package/umd/index.d.ts +10 -9
  721. package/umd/index.js +26 -23
  722. package/umd/input/demo/style/css/mobile.css +5 -1
  723. package/umd/input/demo/style/mobile.less +2 -2
  724. package/umd/input/hooks.js +100 -42
  725. package/umd/input/index.js +35 -26
  726. package/umd/input/props.d.ts +6 -0
  727. package/umd/input/style/css/index.css +9 -0
  728. package/umd/input/style/index.less +2 -2
  729. package/umd/load-more/index.js +51 -29
  730. package/umd/loading/index.js +43 -19
  731. package/umd/masking/index.d.ts +2 -2
  732. package/umd/masking/index.js +71 -46
  733. package/umd/masking/methods.js +16 -4
  734. package/umd/nav-bar/back-icon.js +4 -1
  735. package/umd/nav-bar/index.js +55 -37
  736. package/umd/notice-bar/index.js +57 -33
  737. package/umd/notice-bar/style/css/index.css +33 -0
  738. package/umd/notice-bar/style/index.less +16 -3
  739. package/umd/notify/index.d.ts +8 -8
  740. package/umd/notify/index.js +40 -20
  741. package/umd/notify/methods.js +14 -2
  742. package/umd/pagination/arrow.js +2 -0
  743. package/umd/pagination/index.js +53 -27
  744. package/umd/picker/index.js +70 -40
  745. package/umd/picker-view/components/cascader.js +27 -14
  746. package/umd/picker-view/components/multi-picker.js +19 -6
  747. package/umd/picker-view/components/picker-cell.js +93 -45
  748. package/umd/picker-view/index.js +58 -25
  749. package/umd/popover/hooks/useEvent.js +44 -25
  750. package/umd/popover/hooks/usePosition.js +145 -94
  751. package/umd/popover/index.js +3 -1
  752. package/umd/popover/menu.js +45 -32
  753. package/umd/popover/popover-inner.js +42 -30
  754. package/umd/popover/popover.js +94 -69
  755. package/umd/popup/index.d.ts +2 -2
  756. package/umd/popup/index.js +31 -22
  757. package/umd/popup/methods.js +1 -0
  758. package/umd/popup-swiper/index.d.ts +2 -2
  759. package/umd/popup-swiper/index.js +71 -38
  760. package/umd/popup-swiper/methods.js +1 -0
  761. package/umd/portal/index.js +6 -3
  762. package/umd/progress/index.js +39 -27
  763. package/umd/pull-refresh/android-pull-refresh.js +93 -58
  764. package/umd/pull-refresh/hooks.js +29 -11
  765. package/umd/pull-refresh/index.js +7 -3
  766. package/umd/pull-refresh/ios-pull-refresh.js +72 -53
  767. package/umd/pull-refresh/model.js +1 -0
  768. package/umd/radio/group.js +30 -20
  769. package/umd/radio/index.js +3 -1
  770. package/umd/radio/radio.js +5 -0
  771. package/umd/rate/index.js +44 -24
  772. package/umd/search-bar/association.js +29 -14
  773. package/umd/search-bar/cancel-button.js +14 -8
  774. package/umd/search-bar/highlight.js +21 -14
  775. package/umd/search-bar/index.js +87 -77
  776. package/umd/search-bar/style/css/index.css +1 -0
  777. package/umd/search-bar/style/index.less +1 -0
  778. package/umd/show-monitor/index.js +89 -34
  779. package/umd/slider/hooks/index.js +4 -0
  780. package/umd/slider/hooks/useSliderEvents.js +52 -26
  781. package/umd/slider/hooks/useSliderIcon.js +17 -6
  782. package/umd/slider/hooks/useSliderInit.js +50 -32
  783. package/umd/slider/hooks/useSliderStyle.js +22 -12
  784. package/umd/slider/index.js +65 -46
  785. package/umd/slider/marks.js +21 -12
  786. package/umd/slider/popover.js +10 -4
  787. package/umd/slider/thumb.js +18 -8
  788. package/umd/stepper/hooks/useButtonClick.js +27 -19
  789. package/umd/stepper/hooks/useInputEvent.js +17 -9
  790. package/umd/stepper/hooks/useValue.js +13 -9
  791. package/umd/stepper/index.js +87 -82
  792. package/umd/steps/index.js +32 -22
  793. package/umd/steps/step.js +22 -10
  794. package/umd/sticky/index.js +59 -36
  795. package/umd/style.d.ts +9 -8
  796. package/umd/style.js +4 -4
  797. package/umd/swipe-action/index.js +84 -40
  798. package/umd/swipe-action/item.js +14 -9
  799. package/umd/swipe-load/index.js +77 -55
  800. package/umd/switch/index.js +43 -27
  801. package/umd/tab-bar/index.js +2 -0
  802. package/umd/tab-bar/item.js +19 -6
  803. package/umd/tab-bar/tab-bar.js +26 -15
  804. package/umd/tabs/index.js +186 -129
  805. package/umd/tabs/tab-cell-underline.js +107 -38
  806. package/umd/tabs/tab-cell.js +119 -70
  807. package/umd/tabs/tab-pane.js +89 -49
  808. package/umd/tabs/type.d.ts +18 -2
  809. package/umd/tag/index.js +3 -1
  810. package/umd/tag/list.js +20 -11
  811. package/umd/tag/tag.js +26 -20
  812. package/umd/textarea/index.js +51 -35
  813. package/umd/toast/index.d.ts +12 -12
  814. package/umd/toast/index.js +49 -26
  815. package/umd/toast/methods.js +13 -2
  816. package/umd/transition/index.js +12 -10
@@ -14,42 +14,52 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+
17
18
  _exports.__esModule = true;
18
19
  _exports.default = void 0;
19
20
  _extends2 = _interopRequireDefault(_extends2);
20
21
  _react = _interopRequireWildcard(_react);
22
+
21
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+
22
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+
23
27
  var TabCellUnderline = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
24
28
  var prefix = props.prefix,
25
- useCaterpillar = props.useCaterpillar,
26
- distance = props.distance,
27
- tabDirection = props.tabDirection,
28
- underlineInnerStyle = props.underlineInnerStyle,
29
- duration = props.duration,
30
- cellTrans = props.cellTrans,
31
- showLine = props.showLine,
32
- activeIndex = props.activeIndex,
33
- wrapWidth = props.wrapWidth,
34
- wrapHeight = props.wrapHeight,
35
- jumpingDis = props.jumpingDis,
36
- translateZ = props.translateZ,
37
- caterpillarMaxScale = props.caterpillarMaxScale,
38
- caterpillarProperty = props.caterpillarProperty,
39
- underlineSize = props.underlineSize,
40
- underlineThick = props.underlineThick,
41
- renderUnderline = props.renderUnderline,
42
- getTabCenterLeft = props.getTabCenterLeft;
29
+ useCaterpillar = props.useCaterpillar,
30
+ distance = props.distance,
31
+ tabDirection = props.tabDirection,
32
+ underlineInnerStyle = props.underlineInnerStyle,
33
+ duration = props.duration,
34
+ cellTrans = props.cellTrans,
35
+ showLine = props.showLine,
36
+ activeIndex = props.activeIndex,
37
+ wrapWidth = props.wrapWidth,
38
+ wrapHeight = props.wrapHeight,
39
+ jumpingDis = props.jumpingDis,
40
+ translateZ = props.translateZ,
41
+ caterpillarMaxScale = props.caterpillarMaxScale,
42
+ caterpillarProperty = props.caterpillarProperty,
43
+ underlineSize = props.underlineSize,
44
+ underlineThick = props.underlineThick,
45
+ underlineAdaptive = props.underlineAdaptive,
46
+ renderUnderline = props.renderUnderline,
47
+ getTabRect = props.getTabRect,
48
+ getTabCenterLeft = props.getTabCenterLeft;
49
+
43
50
  var _useState = (0, _react.useState)({}),
44
- underlineStyle = _useState[0],
45
- setUnderlineStyle = _useState[1];
51
+ underlineStyle = _useState[0],
52
+ setUnderlineStyle = _useState[1];
53
+
46
54
  var _useRefState = (0, _helpers.useRefState)(false),
47
- caterpillar = _useRefState[0],
48
- caterpillarRef = _useRefState[1],
49
- setCaterpillar = _useRefState[2];
55
+ caterpillar = _useRefState[0],
56
+ caterpillarRef = _useRefState[1],
57
+ setCaterpillar = _useRefState[2];
58
+
50
59
  var _useState2 = (0, _react.useState)(0),
51
- caterpillarDelay = _useState2[0],
52
- setCaterpillarDelay = _useState2[1];
60
+ caterpillarDelay = _useState2[0],
61
+ setCaterpillarDelay = _useState2[1];
62
+
53
63
  var lineRef = (0, _react.useRef)(null);
54
64
  var timeRef = (0, _react.useRef)(0);
55
65
  var system = (0, _helpers.useSystem)();
@@ -66,24 +76,30 @@
66
76
  if (!useCaterpillar) {
67
77
  return '';
68
78
  }
79
+
69
80
  if (caterpillarProperty === 'size') {
70
81
  return "tabsCaterpillar" + (isVertical ? 'W' : 'H') + maxScaleWithDefault;
71
82
  }
83
+
72
84
  if (caterpillarMaxScale) {
73
85
  return "tabsCaterpillar" + (isVertical ? 'X' : 'Y') + caterpillarMaxScale;
74
86
  }
87
+
75
88
  return '';
76
89
  }, [useCaterpillar, isVertical, caterpillarMaxScale, caterpillarProperty]);
77
90
  (0, _react.useEffect)(function () {
78
91
  if (!animationKey) {
79
92
  return;
80
93
  }
94
+
81
95
  var dir = isVertical ? 'X' : 'Y';
96
+
82
97
  if (caterpillarProperty === 'size') {
83
98
  var attr = isVertical ? 'width' : 'height';
84
99
  (0, _mobileUtils.addCssKeyframes)(animationKey, "{\n 0% {\n " + attr + ": 100%;\n }\n 50% {\n " + attr + ": " + 100 * maxScaleWithDefault + "%;\n }\n 100% {\n " + attr + ": 100%;\n }\n }");
85
100
  return;
86
101
  }
102
+
87
103
  (0, _mobileUtils.addCssKeyframes)(animationKey, "{\n 0% {\n transform: scale" + dir + "(1)" + translateZStr + ";\n -webkit-transform: scale" + dir + "(1)" + translateZStr + ";\n }\n 50% {\n transform: scale" + dir + "(" + caterpillarMaxScale + ")" + translateZStr + ";\n -webkit-transform: scale" + dir + "(" + caterpillarMaxScale + ")" + translateZStr + ";\n }\n 100% {\n transform: scale" + dir + "(1)" + translateZStr + ";\n -webkit-transform: scale" + dir + "(1)" + translateZStr + ";\n }\n }");
88
104
  return function () {
89
105
  (0, _mobileUtils.removeCssStyleDom)(animationKey);
@@ -97,40 +113,79 @@
97
113
  }, [jumpingDis]);
98
114
  (0, _react.useEffect)(function () {
99
115
  resetUnderlineStyle();
100
- }, [useCaterpillar, caterpillar, cellTrans, duration, tabDirection, wrapWidth, wrapHeight, distance, animationKey, caterpillarDelay]);
101
- function getLineLeft(index) {
116
+ }, [useCaterpillar, caterpillar, cellTrans, duration, tabDirection, wrapWidth, wrapHeight, distance, animationKey, caterpillarDelay, underlineSize, underlineThick, underlineAdaptive]);
117
+
118
+ function getLineWidth(index) {
102
119
  var _lineRef$current, _lineRef$current2;
120
+
121
+ if (underlineAdaptive) {
122
+ return getTabRect(index).width;
123
+ }
124
+
103
125
  var offsetSize = isVertical ? (_lineRef$current = lineRef.current) == null ? void 0 : _lineRef$current.offsetWidth : (_lineRef$current2 = lineRef.current) == null ? void 0 : _lineRef$current2.offsetHeight;
104
126
  var lineWidth = offsetSize || 0;
127
+ return lineWidth;
128
+ }
129
+
130
+ function getLineLeft(index) {
131
+ if (underlineAdaptive) {
132
+ return getTabRect(index).left;
133
+ }
134
+
135
+ var lineWidth = getLineWidth(index);
105
136
  return getTabCenterLeft(index) - lineWidth / 2;
106
137
  }
138
+
107
139
  function getDescIndex() {
108
140
  if (distance > 0) {
109
141
  return activeIndex - 1;
110
142
  }
143
+
111
144
  if (distance < 0) {
112
145
  return activeIndex + 1;
113
146
  }
147
+
114
148
  return activeIndex;
115
149
  }
150
+
116
151
  function getLineScale(ratio) {
117
152
  var absRatio = Math.abs(ratio);
118
153
  return absRatio > 0.5 ? (1 - absRatio) * 2 * (maxScaleWithDefault - 1) + 1 : absRatio * 2 * (maxScaleWithDefault - 1) + 1;
119
154
  }
155
+
120
156
  function getLineStyle() {
121
157
  var _ref;
158
+
122
159
  if (!lineRef.current) {
123
160
  return {};
124
161
  }
162
+
125
163
  var currentLeft = getLineLeft(activeIndex);
126
164
  var descIndex = getDescIndex();
127
165
  var descLeft = getLineLeft(descIndex);
128
166
  var moveRatio = wrapWidth ? distance / wrapWidth : 0;
129
167
  var leftOffset = moveRatio * (currentLeft - descLeft);
130
168
  var direc = isVertical ? 'X' : 'Y';
131
- var transStyle = useCaterpillar && !jumpingDis ? caterpillarProperty === 'size' ? (_ref = {}, _ref[isVertical ? 'width' : 'height'] = 100 * getLineScale(moveRatio) + "%", _ref.willChange = 'width', _ref) : {
169
+ var transStyle = useCaterpillar && !jumpingDis && !underlineAdaptive ? caterpillarProperty === 'size' ? (_ref = {}, _ref[isVertical ? 'width' : 'height'] = 100 * getLineScale(moveRatio) + "%", _ref.willChange = 'width', _ref) : {
132
170
  transform: "scale" + direc + "(" + getLineScale(moveRatio) + ")"
133
171
  } : {};
172
+ var adaptiveStyle = {};
173
+ var adaptiveOuterStyle = {};
174
+
175
+ if (underlineAdaptive) {
176
+ var _adaptiveStyle;
177
+
178
+ var currentWidth = getLineWidth(activeIndex);
179
+ var descWidth = getLineWidth(descIndex);
180
+ var widthOffset = moveRatio * (currentWidth - descWidth);
181
+ adaptiveStyle = (_adaptiveStyle = {}, _adaptiveStyle[isVertical ? 'width' : 'height'] = distance > 0 ? currentWidth - widthOffset : currentWidth + widthOffset, _adaptiveStyle.willChange = 'width', _adaptiveStyle);
182
+ adaptiveOuterStyle = isVertical ? {
183
+ width: 'auto'
184
+ } : {
185
+ height: 'auto'
186
+ };
187
+ }
188
+
134
189
  var outerSize = isVertical ? {
135
190
  width: underlineSize,
136
191
  height: underlineThick
@@ -141,21 +196,28 @@
141
196
  return {
142
197
  outer: (0, _extends2.default)({
143
198
  transform: "translate" + direc + "(" + (distance > 0 ? currentLeft - leftOffset : currentLeft + leftOffset) + "px)" + translateZStr
144
- }, outerSize),
145
- inner: (0, _extends2.default)({}, transStyle)
199
+ }, outerSize, adaptiveOuterStyle),
200
+ inner: (0, _extends2.default)({}, transStyle, adaptiveStyle)
146
201
  };
147
202
  }
203
+
148
204
  function getUnderlineStyle() {
149
205
  var transStyle = {};
150
- if (useCaterpillar) {
151
- transStyle.animationDuration = duration + "ms";
152
- }
153
- if (caterpillarRef.current && animationKey) {
154
- transStyle.animationName = animationKey;
155
- }
156
- if (caterpillarDelay) {
157
- transStyle.animationDelay = "-" + caterpillarDelay + "ms";
206
+
207
+ if (!underlineAdaptive) {
208
+ if (useCaterpillar) {
209
+ transStyle.animationDuration = duration + "ms";
210
+ }
211
+
212
+ if (caterpillarRef.current && animationKey) {
213
+ transStyle.animationName = animationKey;
214
+ }
215
+
216
+ if (caterpillarDelay) {
217
+ transStyle.animationDelay = "-" + caterpillarDelay + "ms";
218
+ }
158
219
  }
220
+
159
221
  var lineStyle = getLineStyle();
160
222
  return {
161
223
  outer: (0, _helpers.getStyleWithVendor)((0, _extends2.default)({
@@ -164,29 +226,36 @@
164
226
  inner: (0, _helpers.getStyleWithVendor)((0, _extends2.default)({}, transStyle, lineStyle.inner || {}))
165
227
  };
166
228
  }
229
+
167
230
  function resetUnderlineStyle() {
168
231
  setUnderlineStyle(getUnderlineStyle());
169
232
  }
233
+
170
234
  function setCaterpillarAnimate(movedRatio) {
171
235
  if (movedRatio === void 0) {
172
236
  movedRatio = 0;
173
237
  }
238
+
174
239
  if (!duration) {
175
240
  return;
176
241
  }
242
+
177
243
  var movedTime = (duration || 0) * Math.abs(movedRatio);
178
244
  setCaterpillarDelay(movedTime);
179
245
  (0, _mobileUtils.nextTick)(function () {
180
246
  setCaterpillar(true);
181
247
  });
248
+
182
249
  if (timeRef.current) {
183
250
  clearTimeout(timeRef.current);
184
251
  }
252
+
185
253
  timeRef.current = window.setTimeout(function () {
186
254
  setCaterpillar(false);
187
255
  setCaterpillarDelay(0);
188
256
  }, (duration || 0) - movedTime + 20);
189
257
  }
258
+
190
259
  return renderUnderline ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderUnderline(underlineStyle, showLine, lineRef)) : /*#__PURE__*/_react.default.createElement("div", {
191
260
  className: (0, _mobileUtils.cls)(prefix + "-underline", {
192
261
  show: showLine
@@ -14,81 +14,91 @@
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+
17
18
  _exports.__esModule = true;
18
19
  _exports.default = void 0;
19
20
  _extends2 = _interopRequireDefault(_extends2);
20
21
  _react = _interopRequireWildcard(_react);
21
22
  _tabCellUnderline = _interopRequireDefault(_tabCellUnderline);
23
+
22
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
23
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
24
28
  var TabCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
25
29
  var tabs = props.tabs,
26
- prefixCls = props.prefixCls,
27
- activeIndex = props.activeIndex,
28
- activeIndexRef = props.activeIndexRef,
29
- tabDirection = props.tabDirection,
30
- type = props.type,
31
- onTabClick = props.onTabClick,
32
- changeIndex = props.changeIndex,
33
- tabBarPosition = props.tabBarPosition,
34
- tabBarArrange = props.tabBarArrange,
35
- tabBarScroll = props.tabBarScroll,
36
- tabBarFixed = props.tabBarFixed,
37
- renderUnderline = props.renderUnderline,
38
- duration = props.duration,
39
- transitionDuration = props.transitionDuration,
40
- useCaterpillar = props.useCaterpillar,
41
- wrapWidth = props.wrapWidth,
42
- wrapHeight = props.wrapHeight,
43
- cellTrans = props.cellTrans,
44
- distance = props.distance,
45
- jumpingDis = props.jumpingDis,
46
- tabBarExtra = props.tabBarExtra,
47
- onTabBarOverflowChange = props.onTabBarOverflowChange,
48
- tabBarGutter = props.tabBarGutter,
49
- tabBarPadding = props.tabBarPadding,
50
- underlineSize = props.underlineSize,
51
- underlineThick = props.underlineThick,
52
- underlineInnerStyle = props.underlineInnerStyle,
53
- caterpillarMaxScale = props.caterpillarMaxScale,
54
- caterpillarProperty = props.caterpillarProperty,
55
- onTabBarScroll = props.onTabBarScroll,
56
- hideTabBarBeforeMounted = props.hideTabBarBeforeMounted,
57
- _props$overflowThresh = props.overflowThreshold,
58
- overflowThreshold = _props$overflowThresh === void 0 ? 5 : _props$overflowThresh,
59
- tabBarScrollBezier = props.tabBarScrollBezier,
60
- tabBarScrollDuration = props.tabBarScrollDuration,
61
- tabBarScrollChance = props.tabBarScrollChance,
62
- tabBarHasDivider = props.tabBarHasDivider,
63
- showUnderline = props.showUnderline,
64
- disabled = props.disabled,
65
- renderTabBarItem = props.renderTabBarItem,
66
- renderTabBarInner = props.renderTabBarInner,
67
- tabBarStyle = props.tabBarStyle,
68
- tabBarClass = props.tabBarClass,
69
- translateZ = props.translateZ,
70
- tabBarStopPropagation = props.tabBarStopPropagation;
30
+ prefixCls = props.prefixCls,
31
+ activeIndex = props.activeIndex,
32
+ activeIndexRef = props.activeIndexRef,
33
+ tabDirection = props.tabDirection,
34
+ type = props.type,
35
+ onTabClick = props.onTabClick,
36
+ changeIndex = props.changeIndex,
37
+ tabBarPosition = props.tabBarPosition,
38
+ tabBarArrange = props.tabBarArrange,
39
+ tabBarScroll = props.tabBarScroll,
40
+ tabBarFixed = props.tabBarFixed,
41
+ renderUnderline = props.renderUnderline,
42
+ duration = props.duration,
43
+ transitionDuration = props.transitionDuration,
44
+ useCaterpillar = props.useCaterpillar,
45
+ wrapWidth = props.wrapWidth,
46
+ wrapHeight = props.wrapHeight,
47
+ cellTrans = props.cellTrans,
48
+ distance = props.distance,
49
+ jumpingDis = props.jumpingDis,
50
+ tabBarExtra = props.tabBarExtra,
51
+ onTabBarOverflowChange = props.onTabBarOverflowChange,
52
+ tabBarGutter = props.tabBarGutter,
53
+ tabBarPadding = props.tabBarPadding,
54
+ underlineSize = props.underlineSize,
55
+ underlineThick = props.underlineThick,
56
+ underlineInnerStyle = props.underlineInnerStyle,
57
+ caterpillarMaxScale = props.caterpillarMaxScale,
58
+ caterpillarProperty = props.caterpillarProperty,
59
+ onTabBarScroll = props.onTabBarScroll,
60
+ hideTabBarBeforeMounted = props.hideTabBarBeforeMounted,
61
+ _props$overflowThresh = props.overflowThreshold,
62
+ overflowThreshold = _props$overflowThresh === void 0 ? 5 : _props$overflowThresh,
63
+ tabBarScrollBezier = props.tabBarScrollBezier,
64
+ tabBarScrollDuration = props.tabBarScrollDuration,
65
+ tabBarScrollChance = props.tabBarScrollChance,
66
+ tabBarHasDivider = props.tabBarHasDivider,
67
+ showUnderline = props.showUnderline,
68
+ underlineAdaptive = props.underlineAdaptive,
69
+ disabled = props.disabled,
70
+ renderTabBarItem = props.renderTabBarItem,
71
+ renderTabBarInner = props.renderTabBarInner,
72
+ tabBarStyle = props.tabBarStyle,
73
+ tabBarClass = props.tabBarClass,
74
+ translateZ = props.translateZ,
75
+ tabBarStopPropagation = props.tabBarStopPropagation;
71
76
  var prefix = prefixCls + "-tab-cell";
72
77
  var domRef = (0, _react.useRef)(null);
73
78
  var underlineRef = (0, _react.useRef)(null);
74
79
  var allCellRectRef = (0, _react.useRef)([]);
80
+
75
81
  var _useState = (0, _react.useState)(false),
76
- showLine = _useState[0],
77
- setShowLine = _useState[1];
82
+ showLine = _useState[0],
83
+ setShowLine = _useState[1];
84
+
78
85
  var _useState2 = (0, _react.useState)(false),
79
- hasOverflow = _useState2[0],
80
- setHasOverflow = _useState2[1];
86
+ hasOverflow = _useState2[0],
87
+ setHasOverflow = _useState2[1];
88
+
81
89
  var _useState3 = (0, _react.useState)(function () {
82
- return tabs.length < overflowThreshold ? tabBarArrange : 'start';
83
- }),
84
- originArrange = _useState3[0],
85
- setOriginArrange = _useState3[1];
86
- // 默认tab小于overflowThreshold个时不开启加载前隐藏,大于overflowThreshold个时开启
90
+ return tabs.length < overflowThreshold ? tabBarArrange : 'start';
91
+ }),
92
+ originArrange = _useState3[0],
93
+ setOriginArrange = _useState3[1]; // 默认tab小于overflowThreshold个时不开启加载前隐藏,大于overflowThreshold个时开启
94
+
95
+
87
96
  var _useState4 = (0, _react.useState)(function () {
88
- return hideTabBarBeforeMounted === void 0 ? tabs.length < overflowThreshold || activeIndex === 0 : !hideTabBarBeforeMounted;
89
- }),
90
- showTab = _useState4[0],
91
- setShowTab = _useState4[1];
97
+ return hideTabBarBeforeMounted === void 0 ? tabs.length < overflowThreshold || activeIndex === 0 : !hideTabBarBeforeMounted;
98
+ }),
99
+ showTab = _useState4[0],
100
+ setShowTab = _useState4[1];
101
+
92
102
  var isVertical = tabDirection === 'vertical';
93
103
  var isLine = (type || '').indexOf('line') !== -1;
94
104
  var isCard = type === 'card';
@@ -96,6 +106,7 @@
96
106
  * 非card类型才有间隙和两侧留白
97
107
  * @en Non-card types have gaps and blank on both sides
98
108
  */
109
+
99
110
  var cellPadding = isCard ? void 0 : tabBarPadding;
100
111
  var cellGutter = isCard ? void 0 : tabBarGutter;
101
112
  var hasDivider = tabBarHasDivider === void 0 ? isLine : tabBarHasDivider;
@@ -103,12 +114,12 @@
103
114
  var system = (0, _helpers.useSystem)();
104
115
  (0, _react.useEffect)(function () {
105
116
  (0, _mobileUtils.nextTick)(function () {
106
- setCellOverflow();
107
- // dom出来之后originArrange置空,交由tabBarArrange控制
117
+ setCellOverflow(); // dom出来之后originArrange置空,交由tabBarArrange控制
108
118
  // @en After the dom comes out, originArrange is left empty and controlled by tabBarArrange
109
- setOriginArrange(void 0);
110
- // dom出来了才知道布局,计算完成后展示出来防止跳动的情况
119
+
120
+ setOriginArrange(void 0); // dom出来了才知道布局,计算完成后展示出来防止跳动的情况
111
121
  // @en The layout is determined only when the dom comes out. It is displayed to prevent the jumping after the calculation is completed
122
+
112
123
  setShowTab(true);
113
124
  setShowLine(true);
114
125
  });
@@ -116,6 +127,7 @@
116
127
  (0, _react.useEffect)(function () {
117
128
  (0, _mobileUtils.nextTick)(function () {
118
129
  var _underlineRef$current;
130
+
119
131
  (_underlineRef$current = underlineRef.current) == null ? void 0 : _underlineRef$current.resetUnderlineStyle();
120
132
  });
121
133
  }, [activeIndex, tabs, getCellPadding('left'), getCellPadding('right'), tabBarGutter, tabDirection]);
@@ -127,10 +139,12 @@
127
139
  hasOverflow: hasOverflow,
128
140
  setCaterpillarAnimate: function setCaterpillarAnimate(ratio) {
129
141
  var _underlineRef$current2;
142
+
130
143
  return (_underlineRef$current2 = underlineRef.current) == null ? void 0 : _underlineRef$current2.setCaterpillarAnimate(ratio);
131
144
  },
132
145
  resetUnderlineStyle: function resetUnderlineStyle() {
133
146
  var _underlineRef$current3;
147
+
134
148
  return (_underlineRef$current3 = underlineRef.current) == null ? void 0 : _underlineRef$current3.resetUnderlineStyle();
135
149
  }
136
150
  };
@@ -143,16 +157,18 @@
143
157
  }
144
158
  }, [activeIndex, wrapSize]);
145
159
  (0, _react.useEffect)(function () {
146
- tabBarScrollChance !== 'none' && scrollToCenter(true);
147
- // TabCell左右可滚动时,防止触发父级touchmove事件导致滚不动
160
+ tabBarScrollChance !== 'none' && scrollToCenter(true); // TabCell左右可滚动时,防止触发父级touchmove事件导致滚不动
148
161
  // @en When the TabCell can be scrolled left and right, prevent the parent touchmove event from being triggered which result in inability to scroll
162
+
149
163
  var stopFunc = function stopFunc(e) {
150
164
  return e.stopPropagation();
151
165
  };
166
+
152
167
  if (isVertical && hasOverflow && domRef.current && tabBarStopPropagation) {
153
168
  domRef.current.addEventListener('touchstart', stopFunc);
154
169
  domRef.current.addEventListener('touchmove', stopFunc);
155
170
  }
171
+
156
172
  return function () {
157
173
  if (isVertical && hasOverflow && domRef.current && tabBarStopPropagation) {
158
174
  domRef.current.removeEventListener('touchstart', stopFunc);
@@ -160,35 +176,43 @@
160
176
  }
161
177
  };
162
178
  }, [hasOverflow]);
179
+
163
180
  function setCellOverflow() {
164
181
  var overflow = false;
182
+
165
183
  if (domRef.current) {
166
184
  overflow = isVertical ? domRef.current.scrollWidth > domRef.current.offsetWidth : domRef.current.scrollHeight > domRef.current.offsetHeight;
167
185
  }
186
+
168
187
  if (overflow !== hasOverflow) {
169
188
  onTabBarOverflowChange && onTabBarOverflowChange(overflow);
170
189
  }
190
+
171
191
  setHasOverflow(overflow);
172
192
  }
193
+
173
194
  function scrollToCenter(rightNow) {
174
195
  if (!wrapSize || !hasOverflow) {
175
196
  return;
176
197
  }
198
+
177
199
  var currentTabLeft = getTabCenterLeft(activeIndexRef.current);
178
200
  var newLeft = currentTabLeft - wrapSize / 2;
179
201
  scrollTo(newLeft, rightNow);
180
202
  }
203
+
181
204
  function scrollTo(position, rightNow) {
182
205
  if (!domRef.current) {
183
206
  return;
184
207
  }
185
- var needRafScroll = false;
186
- // 部分安卓机在动画和raf同时执行时会卡顿
208
+
209
+ var needRafScroll = false; // 部分安卓机在动画和raf同时执行时会卡顿
187
210
  // @en Some Android machines will freeze when animation and raf are executed at the same time
188
211
  // 如果是安卓机,且对滚动的时长和变化曲线无要求时,优先用原生顺滑滚动
189
212
  // @en If it is an Android device, and there is no requirement for the scrolling duration and change curve, the native smooth scrolling is preferred
190
213
  // 当浏览器不支持原生顺滑滚动,或对上述滚动参数有要求时,用raf滚动兜底
191
214
  // @en When the browser does not support native smooth scrolling, or there are requirements for the above scrolling parameters, use raf to scroll the bottom line
215
+
192
216
  if (system === 'android' && tabBarScrollBezier === void 0 && tabBarScrollDuration === void 0) {
193
217
  try {
194
218
  var disObj = isVertical ? {
@@ -205,6 +229,7 @@
205
229
  } else {
206
230
  needRafScroll = true;
207
231
  }
232
+
208
233
  if (needRafScroll) {
209
234
  (0, _mobileUtils.scrollWithAnimation)(isVertical ? domRef.current.scrollLeft : domRef.current.scrollTop, position, function (top) {
210
235
  if (domRef.current) {
@@ -217,44 +242,63 @@
217
242
  }, rightNow ? 0 : tabBarScrollDuration, tabBarScrollBezier);
218
243
  }
219
244
  }
220
- function getTabCenterLeft(index) {
245
+
246
+ function getTabRect(index) {
221
247
  var currentTab = allCellRectRef.current[index] || {};
222
- var currentTabWidth = (isVertical ? currentTab.width : currentTab.height) || 0;
223
- var currentTabLeft = (isVertical ? currentTab.left : currentTab.top) || 0;
248
+ return {
249
+ left: (isVertical ? currentTab.left : currentTab.top) || 0,
250
+ width: (isVertical ? currentTab.width : currentTab.height) || 0
251
+ };
252
+ }
253
+
254
+ function getTabCenterLeft(index) {
255
+ var _getTabRect = getTabRect(index),
256
+ currentTabLeft = _getTabRect.left,
257
+ currentTabWidth = _getTabRect.width;
258
+
224
259
  return currentTabLeft + currentTabWidth / 2;
225
260
  }
261
+
226
262
  function getCellPadding(pType) {
227
263
  if (typeof cellPadding === 'object') {
228
264
  return cellPadding[pType];
229
265
  }
266
+
230
267
  return cellPadding;
231
268
  }
269
+
232
270
  function getCellStyle(index) {
233
271
  if (!isVertical) {
234
272
  return {};
235
273
  }
274
+
236
275
  if (index === 0) {
237
276
  return {
238
277
  marginRight: cellGutter,
239
278
  marginLeft: getCellPadding('left')
240
279
  };
241
280
  }
281
+
242
282
  return {
243
283
  marginRight: index === tabs.length - 1 ? void 0 : cellGutter
244
284
  };
245
285
  }
286
+
246
287
  function renderBarItem(tab, index) {
247
288
  if (renderTabBarItem) {
248
289
  return renderTabBarItem(tab, index, {
249
290
  active: index === activeIndex
250
291
  });
251
292
  }
293
+
252
294
  return typeof tab === 'string' ? tab : tab.title;
253
295
  }
296
+
254
297
  function renderTabUnderline() {
255
298
  if (!showUnderline || !isLine) {
256
299
  return null;
257
300
  }
301
+
258
302
  var lineProps = {
259
303
  prefix: prefix,
260
304
  showLine: showLine,
@@ -273,13 +317,16 @@
273
317
  translateZ: translateZ,
274
318
  underlineSize: underlineSize,
275
319
  underlineThick: underlineThick,
320
+ underlineAdaptive: underlineAdaptive,
276
321
  renderUnderline: renderUnderline
277
322
  };
278
323
  return /*#__PURE__*/_react.default.createElement(_tabCellUnderline.default, (0, _extends2.default)({
279
324
  ref: underlineRef,
280
- getTabCenterLeft: getTabCenterLeft
325
+ getTabCenterLeft: getTabCenterLeft,
326
+ getTabRect: getTabRect
281
327
  }, lineProps));
282
328
  }
329
+
283
330
  var cellInner = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tabs.map(function (tab, index) {
284
331
  return /*#__PURE__*/_react.default.createElement("div", {
285
332
  key: index,
@@ -297,6 +344,7 @@
297
344
  if (disabled) {
298
345
  return;
299
346
  }
347
+
300
348
  changeIndex(index, 'click');
301
349
  onTabClick && onTabClick(tab, index, e);
302
350
  },
@@ -319,6 +367,7 @@
319
367
  height: '100%'
320
368
  }
321
369
  }) : null);
370
+
322
371
  return /*#__PURE__*/_react.default.createElement("div", {
323
372
  className: (0, _mobileUtils.cls)(prefix + "-container-wrap", tabDirection, "type-" + type, tabBarClass, system),
324
373
  style: tabBarStyle