@arco-design/mobile-react 2.25.4 → 2.27.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 (947) hide show
  1. package/CHANGELOG.md +39 -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/utils/dom.js +8 -0
  102. package/cjs/ellipsis/utils/is.js +5 -1
  103. package/cjs/form/form-item-context.js +5 -0
  104. package/cjs/form/form-item.js +126 -42
  105. package/cjs/form/index.js +35 -17
  106. package/cjs/form/style/css/index.js +1 -0
  107. package/cjs/form/style/index.js +1 -0
  108. package/cjs/form/type.js +3 -0
  109. package/cjs/form/useForm.js +76 -18
  110. package/cjs/form/utils.js +10 -3
  111. package/cjs/grid/index.js +41 -21
  112. package/cjs/grid/style/css/index.js +1 -0
  113. package/cjs/grid/style/index.js +1 -0
  114. package/cjs/icon/IconAdd/index.js +12 -5
  115. package/cjs/icon/IconArrowBack/index.js +12 -5
  116. package/cjs/icon/IconArrowDown/index.js +12 -5
  117. package/cjs/icon/IconArrowIn/index.js +12 -5
  118. package/cjs/icon/IconArrowUp/index.js +12 -5
  119. package/cjs/icon/IconCheck/index.js +12 -5
  120. package/cjs/icon/IconCheckBold/index.js +12 -5
  121. package/cjs/icon/IconCircleChecked/index.js +12 -5
  122. package/cjs/icon/IconCircleDisabled/index.js +12 -5
  123. package/cjs/icon/IconCircleUnchecked/index.js +12 -5
  124. package/cjs/icon/IconClear/index.js +12 -5
  125. package/cjs/icon/IconClose/index.js +12 -5
  126. package/cjs/icon/IconCloseBold/index.js +12 -5
  127. package/cjs/icon/IconDelete/index.js +12 -5
  128. package/cjs/icon/IconEdit/index.js +12 -5
  129. package/cjs/icon/IconErrorCircle/index.js +12 -5
  130. package/cjs/icon/IconEyeInvisible/index.js +12 -5
  131. package/cjs/icon/IconEyeVisible/index.js +12 -5
  132. package/cjs/icon/IconEyelashInvisible/index.js +12 -5
  133. package/cjs/icon/IconGift/index.js +12 -5
  134. package/cjs/icon/IconHeart/index.js +13 -6
  135. package/cjs/icon/IconHome/index.js +12 -5
  136. package/cjs/icon/IconKeyboard/index.d.ts +7 -0
  137. package/cjs/icon/IconKeyboard/index.js +48 -0
  138. package/cjs/icon/IconKeyboardDelete/index.d.ts +7 -0
  139. package/cjs/icon/IconKeyboardDelete/index.js +44 -0
  140. package/cjs/icon/IconLikeCircle/index.js +12 -5
  141. package/cjs/icon/IconMinus/index.js +13 -6
  142. package/cjs/icon/IconMore/index.js +13 -6
  143. package/cjs/icon/IconNotice/index.js +13 -6
  144. package/cjs/icon/IconNoticeOff/index.js +13 -6
  145. package/cjs/icon/IconPicture/index.js +12 -5
  146. package/cjs/icon/IconPlay/index.js +13 -6
  147. package/cjs/icon/IconQuestionCircle/index.js +12 -5
  148. package/cjs/icon/IconRefresh/index.js +12 -5
  149. package/cjs/icon/IconSad/index.js +12 -5
  150. package/cjs/icon/IconScan/index.js +12 -5
  151. package/cjs/icon/IconSearch/index.js +12 -5
  152. package/cjs/icon/IconSetting/index.js +14 -7
  153. package/cjs/icon/IconShop/index.js +12 -5
  154. package/cjs/icon/IconShopping/index.js +12 -5
  155. package/cjs/icon/IconSmileFill/index.js +12 -5
  156. package/cjs/icon/IconSound/index.js +13 -6
  157. package/cjs/icon/IconSquareChecked/index.js +12 -5
  158. package/cjs/icon/IconSquareDisabled/index.js +12 -5
  159. package/cjs/icon/IconSquareUnchecked/index.js +12 -5
  160. package/cjs/icon/IconStar/index.js +13 -6
  161. package/cjs/icon/IconStarFill/index.js +13 -6
  162. package/cjs/icon/IconStarHalf/index.js +12 -5
  163. package/cjs/icon/IconSubway/index.js +12 -5
  164. package/cjs/icon/IconSuccessCircle/index.js +12 -5
  165. package/cjs/icon/IconTriDown/index.js +13 -6
  166. package/cjs/icon/IconTriUp/index.js +13 -6
  167. package/cjs/icon/IconUpload/index.js +13 -6
  168. package/cjs/icon/IconUser/index.js +12 -5
  169. package/cjs/icon/IconUserFill/index.js +12 -5
  170. package/cjs/icon/IconWarnCircle/index.js +13 -6
  171. package/cjs/icon/IconWarnCircleFill/index.js +13 -6
  172. package/cjs/icon/index.d.ts +2 -0
  173. package/cjs/icon/index.js +123 -2
  174. package/cjs/image/index.js +92 -56
  175. package/cjs/image/style/css/index.css +1 -0
  176. package/cjs/image/style/css/index.js +2 -0
  177. package/cjs/image/style/index.js +2 -0
  178. package/cjs/image/style/index.less +1 -0
  179. package/cjs/image-picker/add-icon.js +3 -0
  180. package/cjs/image-picker/index.js +96 -52
  181. package/cjs/image-picker/style/css/index.d.ts +1 -0
  182. package/cjs/image-picker/style/css/index.js +4 -0
  183. package/cjs/image-picker/style/index.d.ts +1 -0
  184. package/cjs/image-picker/style/index.js +4 -0
  185. package/cjs/image-preview/index.d.ts +2 -2
  186. package/cjs/image-preview/index.js +239 -119
  187. package/cjs/image-preview/methods.js +18 -5
  188. package/cjs/image-preview/style/css/index.js +4 -0
  189. package/cjs/image-preview/style/index.js +4 -0
  190. package/cjs/index-bar/context.d.ts +3 -0
  191. package/cjs/index-bar/context.js +15 -0
  192. package/cjs/index-bar/demo/style/css/mobile.css +23 -0
  193. package/cjs/index-bar/demo/style/mobile.less +26 -0
  194. package/cjs/index-bar/group.d.ts +3 -0
  195. package/cjs/index-bar/group.js +101 -0
  196. package/cjs/index-bar/index.d.ts +15 -0
  197. package/cjs/index-bar/index.js +276 -0
  198. package/cjs/index-bar/side-bar.d.ts +3 -0
  199. package/cjs/index-bar/side-bar.js +102 -0
  200. package/cjs/index-bar/style/css/index.css +164 -0
  201. package/cjs/index-bar/style/css/index.d.ts +3 -0
  202. package/cjs/index-bar/style/css/index.js +7 -0
  203. package/cjs/index-bar/style/index.d.ts +3 -0
  204. package/cjs/index-bar/style/index.js +7 -0
  205. package/cjs/index-bar/style/index.less +122 -0
  206. package/cjs/index-bar/type.d.ts +195 -0
  207. package/cjs/index-bar/type.js +3 -0
  208. package/cjs/index-bar/utils.d.ts +6 -0
  209. package/cjs/index-bar/utils.js +68 -0
  210. package/cjs/index.d.ts +12 -9
  211. package/cjs/index.js +140 -19
  212. package/cjs/input/demo/style/css/mobile.css +5 -1
  213. package/cjs/input/demo/style/mobile.less +2 -2
  214. package/cjs/input/hooks.js +104 -42
  215. package/cjs/input/index.js +40 -26
  216. package/cjs/input/props.d.ts +6 -0
  217. package/cjs/input/style/css/index.css +9 -0
  218. package/cjs/input/style/css/index.js +1 -0
  219. package/cjs/input/style/index.js +1 -0
  220. package/cjs/input/style/index.less +2 -2
  221. package/cjs/keyboard/demo/style/css/mobile.css +4 -0
  222. package/cjs/keyboard/demo/style/mobile.less +8 -0
  223. package/cjs/keyboard/index.d.ts +13 -0
  224. package/cjs/keyboard/index.js +270 -0
  225. package/cjs/keyboard/style/css/index.css +93 -0
  226. package/cjs/keyboard/style/css/index.d.ts +3 -0
  227. package/cjs/keyboard/style/css/index.js +7 -0
  228. package/cjs/keyboard/style/index.d.ts +3 -0
  229. package/cjs/keyboard/style/index.js +7 -0
  230. package/cjs/keyboard/style/index.less +80 -0
  231. package/cjs/keyboard/type.d.ts +102 -0
  232. package/cjs/keyboard/type.js +3 -0
  233. package/cjs/load-more/index.js +56 -29
  234. package/cjs/load-more/style/css/index.js +1 -0
  235. package/cjs/load-more/style/index.js +1 -0
  236. package/cjs/loading/index.js +48 -19
  237. package/cjs/loading/style/css/index.js +1 -0
  238. package/cjs/loading/style/index.js +1 -0
  239. package/cjs/masking/index.d.ts +2 -2
  240. package/cjs/masking/index.js +79 -46
  241. package/cjs/masking/methods.js +19 -4
  242. package/cjs/masking/style/css/index.js +2 -0
  243. package/cjs/masking/style/index.js +2 -0
  244. package/cjs/nav-bar/back-icon.js +5 -1
  245. package/cjs/nav-bar/index.js +61 -37
  246. package/cjs/nav-bar/style/css/index.js +1 -0
  247. package/cjs/nav-bar/style/index.js +1 -0
  248. package/cjs/notice-bar/index.js +61 -33
  249. package/cjs/notice-bar/style/css/index.css +33 -0
  250. package/cjs/notice-bar/style/css/index.js +1 -0
  251. package/cjs/notice-bar/style/index.js +1 -0
  252. package/cjs/notice-bar/style/index.less +16 -3
  253. package/cjs/notify/index.d.ts +8 -8
  254. package/cjs/notify/index.js +49 -20
  255. package/cjs/notify/methods.js +17 -2
  256. package/cjs/notify/style/css/index.js +1 -0
  257. package/cjs/notify/style/index.js +1 -0
  258. package/cjs/pagination/arrow.js +3 -0
  259. package/cjs/pagination/index.js +58 -27
  260. package/cjs/pagination/style/css/index.js +1 -0
  261. package/cjs/pagination/style/index.js +1 -0
  262. package/cjs/picker/index.js +75 -70
  263. package/cjs/picker/style/css/index.js +3 -0
  264. package/cjs/picker/style/index.js +3 -0
  265. package/cjs/picker/type.d.ts +1 -1
  266. package/cjs/picker-view/components/cascader.d.ts +2 -3
  267. package/cjs/picker-view/components/cascader.js +38 -19
  268. package/cjs/picker-view/components/multi-picker.d.ts +2 -3
  269. package/cjs/picker-view/components/multi-picker.js +45 -35
  270. package/cjs/picker-view/components/picker-cell.d.ts +1 -1
  271. package/cjs/picker-view/components/picker-cell.js +102 -52
  272. package/cjs/picker-view/index.d.ts +1 -1
  273. package/cjs/picker-view/index.js +78 -43
  274. package/cjs/picker-view/style/css/index.js +1 -0
  275. package/cjs/picker-view/style/index.js +1 -0
  276. package/cjs/picker-view/type.d.ts +2 -2
  277. package/cjs/popover/hooks/index.js +4 -0
  278. package/cjs/popover/hooks/useEvent.js +49 -25
  279. package/cjs/popover/hooks/usePosition.js +151 -94
  280. package/cjs/popover/index.js +8 -1
  281. package/cjs/popover/menu.js +51 -32
  282. package/cjs/popover/popover-inner.js +47 -30
  283. package/cjs/popover/popover.js +101 -69
  284. package/cjs/popover/style/css/index.js +2 -0
  285. package/cjs/popover/style/index.js +2 -0
  286. package/cjs/popup/index.d.ts +2 -2
  287. package/cjs/popup/index.js +39 -22
  288. package/cjs/popup/methods.js +2 -0
  289. package/cjs/popup/style/css/index.js +2 -0
  290. package/cjs/popup/style/index.js +2 -0
  291. package/cjs/popup-swiper/index.d.ts +2 -2
  292. package/cjs/popup-swiper/index.js +80 -38
  293. package/cjs/popup-swiper/methods.js +2 -0
  294. package/cjs/popup-swiper/style/css/index.js +2 -0
  295. package/cjs/popup-swiper/style/index.js +2 -0
  296. package/cjs/portal/index.js +8 -3
  297. package/cjs/portal/style/css/index.js +1 -0
  298. package/cjs/portal/style/index.js +1 -0
  299. package/cjs/progress/index.js +44 -27
  300. package/cjs/progress/style/css/index.js +1 -0
  301. package/cjs/progress/style/index.js +1 -0
  302. package/cjs/pull-refresh/android-pull-refresh.js +100 -58
  303. package/cjs/pull-refresh/hooks.js +32 -11
  304. package/cjs/pull-refresh/index.js +14 -3
  305. package/cjs/pull-refresh/ios-pull-refresh.js +80 -53
  306. package/cjs/pull-refresh/model.js +1 -0
  307. package/cjs/pull-refresh/style/css/index.js +2 -0
  308. package/cjs/pull-refresh/style/index.js +2 -0
  309. package/cjs/radio/group.js +34 -20
  310. package/cjs/radio/index.js +8 -1
  311. package/cjs/radio/radio.js +10 -0
  312. package/cjs/radio/style/css/index.js +1 -0
  313. package/cjs/radio/style/index.js +1 -0
  314. package/cjs/rate/index.js +50 -24
  315. package/cjs/rate/style/css/index.js +1 -0
  316. package/cjs/rate/style/index.js +1 -0
  317. package/cjs/search-bar/association.js +32 -14
  318. package/cjs/search-bar/cancel-button.js +16 -8
  319. package/cjs/search-bar/highlight.js +25 -14
  320. package/cjs/search-bar/index.js +97 -77
  321. package/cjs/search-bar/style/css/index.js +1 -0
  322. package/cjs/search-bar/style/index.js +1 -0
  323. package/cjs/show-monitor/index.js +93 -34
  324. package/cjs/show-monitor/style/css/index.js +1 -0
  325. package/cjs/show-monitor/style/index.js +1 -0
  326. package/cjs/slider/hooks/index.js +13 -0
  327. package/cjs/slider/hooks/useSliderEvents.js +73 -44
  328. package/cjs/slider/hooks/useSliderIcon.js +20 -6
  329. package/cjs/slider/hooks/useSliderInit.js +52 -32
  330. package/cjs/slider/hooks/useSliderStyle.js +24 -12
  331. package/cjs/slider/index.js +72 -46
  332. package/cjs/slider/marks.js +26 -12
  333. package/cjs/slider/popover.js +13 -4
  334. package/cjs/slider/style/css/index.js +2 -0
  335. package/cjs/slider/style/index.js +2 -0
  336. package/cjs/slider/thumb.js +23 -8
  337. package/cjs/stepper/hooks/useButtonClick.js +28 -19
  338. package/cjs/stepper/hooks/useInputEvent.js +18 -9
  339. package/cjs/stepper/hooks/useValue.js +14 -9
  340. package/cjs/stepper/index.js +96 -82
  341. package/cjs/stepper/style/css/index.js +1 -0
  342. package/cjs/stepper/style/index.js +1 -0
  343. package/cjs/steps/index.js +40 -22
  344. package/cjs/steps/step.js +27 -10
  345. package/cjs/steps/style/css/index.js +1 -0
  346. package/cjs/steps/style/index.js +1 -0
  347. package/cjs/sticky/index.js +67 -38
  348. package/cjs/sticky/style/css/index.js +1 -0
  349. package/cjs/sticky/style/index.js +1 -0
  350. package/cjs/style.d.ts +11 -8
  351. package/cjs/style.js +68 -8
  352. package/cjs/swipe-action/index.js +92 -40
  353. package/cjs/swipe-action/item.js +17 -9
  354. package/cjs/swipe-action/style/css/index.js +1 -0
  355. package/cjs/swipe-action/style/index.js +1 -0
  356. package/cjs/swipe-load/index.js +83 -55
  357. package/cjs/swipe-load/style/css/index.js +1 -0
  358. package/cjs/swipe-load/style/index.js +1 -0
  359. package/cjs/switch/index.js +47 -27
  360. package/cjs/switch/style/css/index.js +1 -0
  361. package/cjs/switch/style/index.js +1 -0
  362. package/cjs/tab-bar/index.js +7 -0
  363. package/cjs/tab-bar/item.js +24 -6
  364. package/cjs/tab-bar/style/css/index.js +1 -0
  365. package/cjs/tab-bar/style/index.js +1 -0
  366. package/cjs/tab-bar/tab-bar.js +31 -15
  367. package/cjs/tabs/index.js +195 -129
  368. package/cjs/tabs/style/css/index.js +1 -0
  369. package/cjs/tabs/style/index.js +1 -0
  370. package/cjs/tabs/tab-cell-underline.js +111 -38
  371. package/cjs/tabs/tab-cell.js +124 -70
  372. package/cjs/tabs/tab-pane.js +94 -49
  373. package/cjs/tabs/type.d.ts +18 -2
  374. package/cjs/tag/index.js +8 -1
  375. package/cjs/tag/list.js +26 -11
  376. package/cjs/tag/style/css/index.js +1 -0
  377. package/cjs/tag/style/index.js +1 -0
  378. package/cjs/tag/tag.js +32 -20
  379. package/cjs/textarea/index.js +56 -35
  380. package/cjs/textarea/style/css/index.js +2 -0
  381. package/cjs/textarea/style/index.js +2 -0
  382. package/cjs/toast/index.d.ts +12 -12
  383. package/cjs/toast/index.js +61 -26
  384. package/cjs/toast/methods.js +16 -2
  385. package/cjs/toast/style/css/index.js +3 -0
  386. package/cjs/toast/style/index.js +3 -0
  387. package/cjs/transition/index.js +18 -10
  388. package/cjs/transition/style/css/index.js +1 -0
  389. package/cjs/transition/style/index.js +1 -0
  390. package/dist/index.js +19803 -16103
  391. package/dist/index.min.js +4 -4
  392. package/dist/style.css +4028 -3678
  393. package/dist/style.min.css +1 -1
  394. package/esm/_helpers/hooks.js +103 -42
  395. package/esm/_helpers/index.js +3 -2
  396. package/esm/_helpers/react-dom.js +10 -0
  397. package/esm/_helpers/render.js +7 -0
  398. package/esm/action-sheet/index.d.ts +2 -2
  399. package/esm/action-sheet/index.js +16 -10
  400. package/esm/avatar/group.js +16 -12
  401. package/esm/avatar/index.js +62 -51
  402. package/esm/badge/index.js +22 -18
  403. package/esm/button/hooks.js +18 -15
  404. package/esm/button/index.js +57 -46
  405. package/esm/carousel/index.d.ts +6 -0
  406. package/esm/carousel/index.js +336 -186
  407. package/esm/carousel/style/css/index.css +50 -15
  408. package/esm/carousel/style/index.less +19 -14
  409. package/esm/cell/cell.js +14 -14
  410. package/esm/cell/demo/style/css/mobile.css +8 -0
  411. package/esm/cell/demo/style/mobile.less +2 -2
  412. package/esm/cell/group.js +11 -9
  413. package/esm/cell/index.js +1 -1
  414. package/esm/cell/style/css/index.css +16 -0
  415. package/esm/cell/style/index.less +6 -4
  416. package/esm/checkbox/checkbox.js +42 -31
  417. package/esm/checkbox/group.js +28 -24
  418. package/esm/checkbox/hooks/useMergeProps.js +9 -7
  419. package/esm/checkbox/index.js +2 -2
  420. package/esm/checkbox/type.js +1 -0
  421. package/esm/circle-progress/index.js +49 -37
  422. package/esm/collapse/collapse.js +46 -27
  423. package/esm/collapse/group.js +34 -20
  424. package/esm/collapse/index.js +1 -1
  425. package/esm/collapse/utils.js +1 -0
  426. package/esm/context-provider/index.d.ts +6 -0
  427. package/esm/context-provider/index.js +20 -11
  428. package/esm/count-down/hooks.js +37 -24
  429. package/esm/count-down/index.js +29 -30
  430. package/esm/count-down/singleton.js +5 -2
  431. package/esm/count-down/util.js +42 -33
  432. package/esm/date-picker/helper.js +9 -7
  433. package/esm/date-picker/index.js +93 -42
  434. package/esm/dialog/index.d.ts +2 -2
  435. package/esm/dialog/index.js +39 -28
  436. package/esm/dialog/methods.js +11 -9
  437. package/esm/divider/demo/style/css/mobile.css +7 -0
  438. package/esm/divider/demo/style/mobile.less +12 -0
  439. package/esm/divider/index.d.ts +49 -0
  440. package/esm/divider/index.js +49 -0
  441. package/esm/divider/style/css/index.css +69 -0
  442. package/esm/divider/style/css/index.d.ts +2 -0
  443. package/esm/divider/style/css/index.js +2 -0
  444. package/esm/divider/style/index.d.ts +2 -0
  445. package/esm/divider/style/index.js +2 -0
  446. package/esm/divider/style/index.less +66 -0
  447. package/esm/dropdown/dropdown.js +102 -74
  448. package/esm/dropdown/index.js +1 -1
  449. package/esm/dropdown/options.js +20 -12
  450. package/esm/dropdown-menu/dropdown-menu.js +74 -49
  451. package/esm/dropdown-menu/helper.js +16 -6
  452. package/esm/dropdown-menu/index.js +1 -1
  453. package/esm/ellipsis/components/js-ellipsis.js +63 -33
  454. package/esm/ellipsis/components/native-ellipsis.js +11 -9
  455. package/esm/ellipsis/index.js +21 -20
  456. package/esm/ellipsis/utils/dom.js +7 -0
  457. package/esm/ellipsis/utils/is.js +1 -1
  458. package/esm/form/form-item.js +112 -42
  459. package/esm/form/index.js +20 -17
  460. package/esm/form/type.js +3 -0
  461. package/esm/form/useForm.js +71 -17
  462. package/esm/form/utils.js +6 -3
  463. package/esm/grid/index.js +34 -21
  464. package/esm/icon/IconAdd/index.js +6 -5
  465. package/esm/icon/IconArrowBack/index.js +6 -5
  466. package/esm/icon/IconArrowDown/index.js +6 -5
  467. package/esm/icon/IconArrowIn/index.js +6 -5
  468. package/esm/icon/IconArrowUp/index.js +6 -5
  469. package/esm/icon/IconCheck/index.js +6 -5
  470. package/esm/icon/IconCheckBold/index.js +6 -5
  471. package/esm/icon/IconCircleChecked/index.js +6 -5
  472. package/esm/icon/IconCircleDisabled/index.js +6 -5
  473. package/esm/icon/IconCircleUnchecked/index.js +6 -5
  474. package/esm/icon/IconClear/index.js +6 -5
  475. package/esm/icon/IconClose/index.js +6 -5
  476. package/esm/icon/IconCloseBold/index.js +6 -5
  477. package/esm/icon/IconDelete/index.js +6 -5
  478. package/esm/icon/IconEdit/index.js +6 -5
  479. package/esm/icon/IconErrorCircle/index.js +6 -5
  480. package/esm/icon/IconEyeInvisible/index.js +6 -5
  481. package/esm/icon/IconEyeVisible/index.js +6 -5
  482. package/esm/icon/IconEyelashInvisible/index.js +6 -5
  483. package/esm/icon/IconGift/index.js +6 -5
  484. package/esm/icon/IconHeart/index.js +7 -6
  485. package/esm/icon/IconHome/index.js +6 -5
  486. package/esm/icon/IconKeyboard/index.d.ts +7 -0
  487. package/esm/icon/IconKeyboard/index.js +37 -0
  488. package/esm/icon/IconKeyboardDelete/index.d.ts +7 -0
  489. package/esm/icon/IconKeyboardDelete/index.js +33 -0
  490. package/esm/icon/IconLikeCircle/index.js +6 -5
  491. package/esm/icon/IconMinus/index.js +7 -6
  492. package/esm/icon/IconMore/index.js +7 -6
  493. package/esm/icon/IconNotice/index.js +7 -6
  494. package/esm/icon/IconNoticeOff/index.js +7 -6
  495. package/esm/icon/IconPicture/index.js +6 -5
  496. package/esm/icon/IconPlay/index.js +7 -6
  497. package/esm/icon/IconQuestionCircle/index.js +6 -5
  498. package/esm/icon/IconRefresh/index.js +6 -5
  499. package/esm/icon/IconSad/index.js +6 -5
  500. package/esm/icon/IconScan/index.js +6 -5
  501. package/esm/icon/IconSearch/index.js +6 -5
  502. package/esm/icon/IconSetting/index.js +8 -7
  503. package/esm/icon/IconShop/index.js +6 -5
  504. package/esm/icon/IconShopping/index.js +6 -5
  505. package/esm/icon/IconSmileFill/index.js +6 -5
  506. package/esm/icon/IconSound/index.js +7 -6
  507. package/esm/icon/IconSquareChecked/index.js +6 -5
  508. package/esm/icon/IconSquareDisabled/index.js +6 -5
  509. package/esm/icon/IconSquareUnchecked/index.js +6 -5
  510. package/esm/icon/IconStar/index.js +7 -6
  511. package/esm/icon/IconStarFill/index.js +7 -6
  512. package/esm/icon/IconStarHalf/index.js +6 -5
  513. package/esm/icon/IconSubway/index.js +6 -5
  514. package/esm/icon/IconSuccessCircle/index.js +6 -5
  515. package/esm/icon/IconTriDown/index.js +7 -6
  516. package/esm/icon/IconTriUp/index.js +7 -6
  517. package/esm/icon/IconUpload/index.js +7 -6
  518. package/esm/icon/IconUser/index.js +6 -5
  519. package/esm/icon/IconUserFill/index.js +6 -5
  520. package/esm/icon/IconWarnCircle/index.js +7 -6
  521. package/esm/icon/IconWarnCircleFill/index.js +7 -6
  522. package/esm/icon/index.d.ts +2 -0
  523. package/esm/icon/index.js +2 -0
  524. package/esm/image/index.js +84 -57
  525. package/esm/image/style/css/index.css +1 -0
  526. package/esm/image/style/index.less +1 -0
  527. package/esm/image-picker/index.js +80 -52
  528. package/esm/image-picker/style/css/index.d.ts +1 -0
  529. package/esm/image-picker/style/css/index.js +1 -0
  530. package/esm/image-picker/style/index.d.ts +1 -0
  531. package/esm/image-picker/style/index.js +1 -0
  532. package/esm/image-preview/index.d.ts +2 -2
  533. package/esm/image-preview/index.js +217 -119
  534. package/esm/image-preview/methods.js +14 -4
  535. package/esm/index-bar/context.d.ts +3 -0
  536. package/esm/index-bar/context.js +8 -0
  537. package/esm/index-bar/demo/style/css/mobile.css +23 -0
  538. package/esm/index-bar/demo/style/mobile.less +26 -0
  539. package/esm/index-bar/group.d.ts +3 -0
  540. package/esm/index-bar/group.js +83 -0
  541. package/esm/index-bar/index.d.ts +15 -0
  542. package/esm/index-bar/index.js +254 -0
  543. package/esm/index-bar/side-bar.d.ts +3 -0
  544. package/esm/index-bar/side-bar.js +90 -0
  545. package/esm/index-bar/style/css/index.css +164 -0
  546. package/esm/index-bar/style/css/index.d.ts +3 -0
  547. package/esm/index-bar/style/css/index.js +3 -0
  548. package/esm/index-bar/style/index.d.ts +3 -0
  549. package/esm/index-bar/style/index.js +3 -0
  550. package/esm/index-bar/style/index.less +122 -0
  551. package/esm/index-bar/type.d.ts +195 -0
  552. package/esm/index-bar/type.js +1 -0
  553. package/esm/index-bar/utils.d.ts +6 -0
  554. package/esm/index-bar/utils.js +53 -0
  555. package/esm/index.d.ts +12 -9
  556. package/esm/index.js +12 -9
  557. package/esm/input/demo/style/css/mobile.css +5 -1
  558. package/esm/input/demo/style/mobile.less +2 -2
  559. package/esm/input/hooks.js +96 -42
  560. package/esm/input/index.js +30 -26
  561. package/esm/input/props.d.ts +6 -0
  562. package/esm/input/style/css/index.css +9 -0
  563. package/esm/input/style/index.less +2 -2
  564. package/esm/keyboard/demo/style/css/mobile.css +4 -0
  565. package/esm/keyboard/demo/style/mobile.less +8 -0
  566. package/esm/keyboard/index.d.ts +13 -0
  567. package/esm/keyboard/index.js +243 -0
  568. package/esm/keyboard/style/css/index.css +93 -0
  569. package/esm/keyboard/style/css/index.d.ts +3 -0
  570. package/esm/keyboard/style/css/index.js +3 -0
  571. package/esm/keyboard/style/index.d.ts +3 -0
  572. package/esm/keyboard/style/index.js +3 -0
  573. package/esm/keyboard/style/index.less +80 -0
  574. package/esm/keyboard/type.d.ts +102 -0
  575. package/esm/keyboard/type.js +1 -0
  576. package/esm/load-more/index.js +48 -29
  577. package/esm/loading/index.js +40 -19
  578. package/esm/masking/index.d.ts +2 -2
  579. package/esm/masking/index.js +64 -46
  580. package/esm/masking/methods.js +15 -4
  581. package/esm/nav-bar/back-icon.js +3 -1
  582. package/esm/nav-bar/index.js +52 -37
  583. package/esm/notice-bar/index.js +56 -35
  584. package/esm/notice-bar/style/css/index.css +33 -0
  585. package/esm/notice-bar/style/index.less +16 -3
  586. package/esm/notify/index.d.ts +8 -8
  587. package/esm/notify/index.js +33 -20
  588. package/esm/notify/methods.js +13 -2
  589. package/esm/pagination/index.js +50 -27
  590. package/esm/picker/index.js +59 -70
  591. package/esm/picker/type.d.ts +1 -1
  592. package/esm/picker-view/components/cascader.d.ts +2 -3
  593. package/esm/picker-view/components/cascader.js +30 -19
  594. package/esm/picker-view/components/multi-picker.d.ts +2 -3
  595. package/esm/picker-view/components/multi-picker.js +42 -35
  596. package/esm/picker-view/components/picker-cell.d.ts +1 -1
  597. package/esm/picker-view/components/picker-cell.js +94 -52
  598. package/esm/picker-view/index.d.ts +1 -1
  599. package/esm/picker-view/index.js +62 -44
  600. package/esm/picker-view/type.d.ts +2 -2
  601. package/esm/popover/hooks/useEvent.js +41 -26
  602. package/esm/popover/hooks/usePosition.js +144 -94
  603. package/esm/popover/index.js +2 -2
  604. package/esm/popover/menu.js +41 -32
  605. package/esm/popover/popover-inner.js +38 -30
  606. package/esm/popover/popover.js +90 -69
  607. package/esm/popup/index.d.ts +2 -2
  608. package/esm/popup/index.js +25 -22
  609. package/esm/popup-swiper/index.d.ts +2 -2
  610. package/esm/popup-swiper/index.js +64 -38
  611. package/esm/portal/index.js +5 -3
  612. package/esm/progress/index.js +36 -27
  613. package/esm/pull-refresh/android-pull-refresh.js +90 -58
  614. package/esm/pull-refresh/hooks.js +23 -11
  615. package/esm/pull-refresh/index.js +5 -3
  616. package/esm/pull-refresh/ios-pull-refresh.js +68 -53
  617. package/esm/pull-refresh/model.js +1 -0
  618. package/esm/radio/group.js +24 -20
  619. package/esm/radio/index.js +2 -2
  620. package/esm/rate/index.js +39 -24
  621. package/esm/search-bar/association.js +27 -14
  622. package/esm/search-bar/cancel-button.js +11 -8
  623. package/esm/search-bar/highlight.js +20 -14
  624. package/esm/search-bar/index.js +86 -77
  625. package/esm/show-monitor/index.js +85 -34
  626. package/esm/slider/hooks/useSliderEvents.js +69 -44
  627. package/esm/slider/hooks/useSliderIcon.js +13 -6
  628. package/esm/slider/hooks/useSliderInit.js +46 -32
  629. package/esm/slider/hooks/useSliderStyle.js +20 -12
  630. package/esm/slider/index.js +62 -46
  631. package/esm/slider/marks.js +18 -12
  632. package/esm/slider/popover.js +6 -4
  633. package/esm/slider/thumb.js +15 -8
  634. package/esm/stepper/hooks/useButtonClick.js +27 -19
  635. package/esm/stepper/hooks/useInputEvent.js +16 -9
  636. package/esm/stepper/hooks/useValue.js +12 -9
  637. package/esm/stepper/index.js +82 -82
  638. package/esm/steps/index.js +27 -22
  639. package/esm/steps/step.js +19 -10
  640. package/esm/sticky/index.js +58 -38
  641. package/esm/style.d.ts +11 -8
  642. package/esm/style.js +11 -8
  643. package/esm/swipe-action/index.js +80 -40
  644. package/esm/swipe-action/item.js +12 -9
  645. package/esm/swipe-load/index.js +75 -56
  646. package/esm/switch/index.js +39 -27
  647. package/esm/tab-bar/index.js +1 -0
  648. package/esm/tab-bar/item.js +13 -6
  649. package/esm/tab-bar/tab-bar.js +21 -15
  650. package/esm/tabs/index.js +183 -130
  651. package/esm/tabs/tab-cell-underline.js +103 -38
  652. package/esm/tabs/tab-cell.js +114 -70
  653. package/esm/tabs/tab-pane.js +85 -49
  654. package/esm/tabs/type.d.ts +18 -2
  655. package/esm/tag/index.js +2 -2
  656. package/esm/tag/list.js +16 -11
  657. package/esm/tag/tag.js +22 -20
  658. package/esm/textarea/index.js +46 -35
  659. package/esm/toast/index.d.ts +12 -12
  660. package/esm/toast/index.js +42 -26
  661. package/esm/toast/methods.js +12 -2
  662. package/esm/transition/index.js +12 -10
  663. package/package.json +3 -3
  664. package/tokens/app/arcodesign/default/css-variables.less +51 -0
  665. package/tokens/app/arcodesign/default/index.d.ts +51 -0
  666. package/tokens/app/arcodesign/default/index.js +54 -1
  667. package/tokens/app/arcodesign/default/index.json +610 -0
  668. package/tokens/app/arcodesign/default/index.less +51 -0
  669. package/tokens/mixin/index.less +19 -1
  670. package/umd/_helpers/hooks.js +121 -43
  671. package/umd/_helpers/index.js +6 -2
  672. package/umd/_helpers/react-dom.js +11 -0
  673. package/umd/_helpers/render.js +9 -0
  674. package/umd/action-sheet/index.d.ts +2 -2
  675. package/umd/action-sheet/index.js +22 -10
  676. package/umd/action-sheet/methods.js +1 -0
  677. package/umd/avatar/group.js +20 -12
  678. package/umd/avatar/index.js +68 -51
  679. package/umd/badge/index.js +25 -18
  680. package/umd/button/hooks.js +19 -15
  681. package/umd/button/index.js +60 -46
  682. package/umd/carousel/index.d.ts +6 -0
  683. package/umd/carousel/index.js +337 -184
  684. package/umd/carousel/style/css/index.css +50 -15
  685. package/umd/carousel/style/index.less +19 -14
  686. package/umd/cell/arrow.js +2 -0
  687. package/umd/cell/cell.js +18 -14
  688. package/umd/cell/demo/style/css/mobile.css +8 -0
  689. package/umd/cell/demo/style/mobile.less +2 -2
  690. package/umd/cell/group.js +17 -9
  691. package/umd/cell/index.js +2 -1
  692. package/umd/cell/style/css/index.css +16 -0
  693. package/umd/cell/style/index.less +6 -4
  694. package/umd/checkbox/checkbox.js +45 -31
  695. package/umd/checkbox/group.js +34 -24
  696. package/umd/checkbox/hooks/useMergeProps.js +12 -7
  697. package/umd/checkbox/index.js +3 -1
  698. package/umd/checkbox/type.js +2 -0
  699. package/umd/circle-progress/index.js +52 -37
  700. package/umd/collapse/collapse.js +50 -27
  701. package/umd/collapse/group.js +38 -20
  702. package/umd/collapse/index.js +3 -0
  703. package/umd/collapse/utils.js +5 -0
  704. package/umd/context-provider/index.d.ts +6 -0
  705. package/umd/context-provider/index.js +25 -11
  706. package/umd/count-down/hooks.js +39 -24
  707. package/umd/count-down/index.js +31 -29
  708. package/umd/count-down/singleton.js +10 -2
  709. package/umd/count-down/util.js +47 -33
  710. package/umd/date-picker/helper.js +13 -7
  711. package/umd/date-picker/index.js +97 -42
  712. package/umd/dialog/index.d.ts +2 -2
  713. package/umd/dialog/index.js +44 -28
  714. package/umd/dialog/methods.js +18 -9
  715. package/umd/divider/demo/style/css/mobile.css +7 -0
  716. package/umd/divider/demo/style/mobile.less +12 -0
  717. package/umd/divider/index.d.ts +49 -0
  718. package/umd/divider/index.js +71 -0
  719. package/umd/divider/style/css/index.css +69 -0
  720. package/umd/divider/style/css/index.d.ts +2 -0
  721. package/umd/divider/style/css/index.js +15 -0
  722. package/umd/divider/style/index.d.ts +2 -0
  723. package/umd/divider/style/index.js +15 -0
  724. package/umd/divider/style/index.less +66 -0
  725. package/umd/dropdown/dropdown.js +106 -74
  726. package/umd/dropdown/index.js +3 -1
  727. package/umd/dropdown/options.js +24 -12
  728. package/umd/dropdown-menu/dropdown-menu.js +78 -49
  729. package/umd/dropdown-menu/helper.js +25 -6
  730. package/umd/dropdown-menu/index.js +2 -0
  731. package/umd/ellipsis/components/js-ellipsis.js +69 -33
  732. package/umd/ellipsis/components/native-ellipsis.js +13 -9
  733. package/umd/ellipsis/index.js +24 -19
  734. package/umd/ellipsis/utils/dom.js +8 -0
  735. package/umd/ellipsis/utils/is.js +5 -1
  736. package/umd/form/form-item-context.js +3 -0
  737. package/umd/form/form-item.js +116 -42
  738. package/umd/form/index.js +25 -17
  739. package/umd/form/type.js +3 -0
  740. package/umd/form/useForm.js +72 -18
  741. package/umd/form/utils.js +10 -3
  742. package/umd/grid/index.js +37 -21
  743. package/umd/icon/IconAdd/index.js +7 -5
  744. package/umd/icon/IconArrowBack/index.js +7 -5
  745. package/umd/icon/IconArrowDown/index.js +7 -5
  746. package/umd/icon/IconArrowIn/index.js +7 -5
  747. package/umd/icon/IconArrowUp/index.js +7 -5
  748. package/umd/icon/IconCheck/index.js +7 -5
  749. package/umd/icon/IconCheckBold/index.js +7 -5
  750. package/umd/icon/IconCircleChecked/index.js +7 -5
  751. package/umd/icon/IconCircleDisabled/index.js +7 -5
  752. package/umd/icon/IconCircleUnchecked/index.js +7 -5
  753. package/umd/icon/IconClear/index.js +7 -5
  754. package/umd/icon/IconClose/index.js +7 -5
  755. package/umd/icon/IconCloseBold/index.js +7 -5
  756. package/umd/icon/IconDelete/index.js +7 -5
  757. package/umd/icon/IconEdit/index.js +7 -5
  758. package/umd/icon/IconErrorCircle/index.js +7 -5
  759. package/umd/icon/IconEyeInvisible/index.js +7 -5
  760. package/umd/icon/IconEyeVisible/index.js +7 -5
  761. package/umd/icon/IconEyelashInvisible/index.js +7 -5
  762. package/umd/icon/IconGift/index.js +7 -5
  763. package/umd/icon/IconHeart/index.js +8 -6
  764. package/umd/icon/IconHome/index.js +7 -5
  765. package/umd/icon/IconKeyboard/index.d.ts +7 -0
  766. package/umd/icon/IconKeyboard/index.js +56 -0
  767. package/umd/icon/IconKeyboardDelete/index.d.ts +7 -0
  768. package/umd/icon/IconKeyboardDelete/index.js +52 -0
  769. package/umd/icon/IconLikeCircle/index.js +7 -5
  770. package/umd/icon/IconMinus/index.js +8 -6
  771. package/umd/icon/IconMore/index.js +8 -6
  772. package/umd/icon/IconNotice/index.js +8 -6
  773. package/umd/icon/IconNoticeOff/index.js +8 -6
  774. package/umd/icon/IconPicture/index.js +7 -5
  775. package/umd/icon/IconPlay/index.js +8 -6
  776. package/umd/icon/IconQuestionCircle/index.js +7 -5
  777. package/umd/icon/IconRefresh/index.js +7 -5
  778. package/umd/icon/IconSad/index.js +7 -5
  779. package/umd/icon/IconScan/index.js +7 -5
  780. package/umd/icon/IconSearch/index.js +7 -5
  781. package/umd/icon/IconSetting/index.js +9 -7
  782. package/umd/icon/IconShop/index.js +7 -5
  783. package/umd/icon/IconShopping/index.js +7 -5
  784. package/umd/icon/IconSmileFill/index.js +7 -5
  785. package/umd/icon/IconSound/index.js +8 -6
  786. package/umd/icon/IconSquareChecked/index.js +7 -5
  787. package/umd/icon/IconSquareDisabled/index.js +7 -5
  788. package/umd/icon/IconSquareUnchecked/index.js +7 -5
  789. package/umd/icon/IconStar/index.js +8 -6
  790. package/umd/icon/IconStarFill/index.js +8 -6
  791. package/umd/icon/IconStarHalf/index.js +7 -5
  792. package/umd/icon/IconSubway/index.js +7 -5
  793. package/umd/icon/IconSuccessCircle/index.js +7 -5
  794. package/umd/icon/IconTriDown/index.js +8 -6
  795. package/umd/icon/IconTriUp/index.js +8 -6
  796. package/umd/icon/IconUpload/index.js +8 -6
  797. package/umd/icon/IconUser/index.js +7 -5
  798. package/umd/icon/IconUserFill/index.js +7 -5
  799. package/umd/icon/IconWarnCircle/index.js +8 -6
  800. package/umd/icon/IconWarnCircleFill/index.js +8 -6
  801. package/umd/icon/index.d.ts +2 -0
  802. package/umd/icon/index.js +13 -6
  803. package/umd/image/index.js +86 -56
  804. package/umd/image/style/css/index.css +1 -0
  805. package/umd/image/style/index.less +1 -0
  806. package/umd/image-picker/add-icon.js +2 -0
  807. package/umd/image-picker/index.js +85 -52
  808. package/umd/image-picker/style/css/index.d.ts +1 -0
  809. package/umd/image-picker/style/css/index.js +4 -4
  810. package/umd/image-picker/style/index.d.ts +1 -0
  811. package/umd/image-picker/style/index.js +4 -4
  812. package/umd/image-preview/index.d.ts +2 -2
  813. package/umd/image-preview/index.js +224 -119
  814. package/umd/image-preview/methods.js +15 -5
  815. package/umd/index-bar/context.d.ts +3 -0
  816. package/umd/index-bar/context.js +26 -0
  817. package/umd/index-bar/demo/style/css/mobile.css +23 -0
  818. package/umd/index-bar/demo/style/mobile.less +26 -0
  819. package/umd/index-bar/group.d.ts +3 -0
  820. package/umd/index-bar/group.js +107 -0
  821. package/umd/index-bar/index.d.ts +15 -0
  822. package/umd/index-bar/index.js +274 -0
  823. package/umd/index-bar/side-bar.d.ts +3 -0
  824. package/umd/index-bar/side-bar.js +113 -0
  825. package/umd/index-bar/style/css/index.css +164 -0
  826. package/umd/index-bar/style/css/index.d.ts +3 -0
  827. package/umd/index-bar/style/css/index.js +15 -0
  828. package/umd/index-bar/style/index.d.ts +3 -0
  829. package/umd/index-bar/style/index.js +15 -0
  830. package/umd/index-bar/style/index.less +122 -0
  831. package/umd/index-bar/type.d.ts +195 -0
  832. package/umd/index-bar/type.js +17 -0
  833. package/umd/index-bar/utils.d.ts +6 -0
  834. package/umd/index-bar/utils.js +78 -0
  835. package/umd/index.d.ts +12 -9
  836. package/umd/index.js +30 -23
  837. package/umd/input/demo/style/css/mobile.css +5 -1
  838. package/umd/input/demo/style/mobile.less +2 -2
  839. package/umd/input/hooks.js +100 -42
  840. package/umd/input/index.js +35 -26
  841. package/umd/input/props.d.ts +6 -0
  842. package/umd/input/style/css/index.css +9 -0
  843. package/umd/input/style/index.less +2 -2
  844. package/umd/keyboard/demo/style/css/mobile.css +4 -0
  845. package/umd/keyboard/demo/style/mobile.less +8 -0
  846. package/umd/keyboard/index.d.ts +13 -0
  847. package/umd/keyboard/index.js +271 -0
  848. package/umd/keyboard/style/css/index.css +93 -0
  849. package/umd/keyboard/style/css/index.d.ts +3 -0
  850. package/umd/keyboard/style/css/index.js +15 -0
  851. package/umd/keyboard/style/index.d.ts +3 -0
  852. package/umd/keyboard/style/index.js +15 -0
  853. package/umd/keyboard/style/index.less +80 -0
  854. package/umd/keyboard/type.d.ts +102 -0
  855. package/umd/keyboard/type.js +17 -0
  856. package/umd/load-more/index.js +51 -29
  857. package/umd/loading/index.js +43 -19
  858. package/umd/masking/index.d.ts +2 -2
  859. package/umd/masking/index.js +71 -46
  860. package/umd/masking/methods.js +16 -4
  861. package/umd/nav-bar/back-icon.js +4 -1
  862. package/umd/nav-bar/index.js +55 -37
  863. package/umd/notice-bar/index.js +57 -33
  864. package/umd/notice-bar/style/css/index.css +33 -0
  865. package/umd/notice-bar/style/index.less +16 -3
  866. package/umd/notify/index.d.ts +8 -8
  867. package/umd/notify/index.js +40 -20
  868. package/umd/notify/methods.js +14 -2
  869. package/umd/pagination/arrow.js +2 -0
  870. package/umd/pagination/index.js +53 -27
  871. package/umd/picker/index.js +64 -70
  872. package/umd/picker/type.d.ts +1 -1
  873. package/umd/picker-view/components/cascader.d.ts +2 -3
  874. package/umd/picker-view/components/cascader.js +34 -19
  875. package/umd/picker-view/components/multi-picker.d.ts +2 -3
  876. package/umd/picker-view/components/multi-picker.js +44 -35
  877. package/umd/picker-view/components/picker-cell.d.ts +1 -1
  878. package/umd/picker-view/components/picker-cell.js +98 -52
  879. package/umd/picker-view/index.d.ts +1 -1
  880. package/umd/picker-view/index.js +65 -43
  881. package/umd/picker-view/type.d.ts +2 -2
  882. package/umd/popover/hooks/useEvent.js +44 -25
  883. package/umd/popover/hooks/usePosition.js +145 -94
  884. package/umd/popover/index.js +3 -1
  885. package/umd/popover/menu.js +45 -32
  886. package/umd/popover/popover-inner.js +42 -30
  887. package/umd/popover/popover.js +94 -69
  888. package/umd/popup/index.d.ts +2 -2
  889. package/umd/popup/index.js +31 -22
  890. package/umd/popup/methods.js +1 -0
  891. package/umd/popup-swiper/index.d.ts +2 -2
  892. package/umd/popup-swiper/index.js +71 -38
  893. package/umd/popup-swiper/methods.js +1 -0
  894. package/umd/portal/index.js +6 -3
  895. package/umd/progress/index.js +39 -27
  896. package/umd/pull-refresh/android-pull-refresh.js +93 -58
  897. package/umd/pull-refresh/hooks.js +29 -11
  898. package/umd/pull-refresh/index.js +7 -3
  899. package/umd/pull-refresh/ios-pull-refresh.js +72 -53
  900. package/umd/pull-refresh/model.js +1 -0
  901. package/umd/radio/group.js +30 -20
  902. package/umd/radio/index.js +3 -1
  903. package/umd/radio/radio.js +5 -0
  904. package/umd/rate/index.js +44 -24
  905. package/umd/search-bar/association.js +29 -14
  906. package/umd/search-bar/cancel-button.js +14 -8
  907. package/umd/search-bar/highlight.js +21 -14
  908. package/umd/search-bar/index.js +87 -77
  909. package/umd/show-monitor/index.js +89 -34
  910. package/umd/slider/hooks/index.js +4 -0
  911. package/umd/slider/hooks/useSliderEvents.js +70 -44
  912. package/umd/slider/hooks/useSliderIcon.js +17 -6
  913. package/umd/slider/hooks/useSliderInit.js +50 -32
  914. package/umd/slider/hooks/useSliderStyle.js +22 -12
  915. package/umd/slider/index.js +65 -46
  916. package/umd/slider/marks.js +21 -12
  917. package/umd/slider/popover.js +10 -4
  918. package/umd/slider/thumb.js +18 -8
  919. package/umd/stepper/hooks/useButtonClick.js +27 -19
  920. package/umd/stepper/hooks/useInputEvent.js +17 -9
  921. package/umd/stepper/hooks/useValue.js +13 -9
  922. package/umd/stepper/index.js +87 -82
  923. package/umd/steps/index.js +32 -22
  924. package/umd/steps/step.js +22 -10
  925. package/umd/sticky/index.js +61 -38
  926. package/umd/style.d.ts +11 -8
  927. package/umd/style.js +4 -4
  928. package/umd/swipe-action/index.js +84 -40
  929. package/umd/swipe-action/item.js +14 -9
  930. package/umd/swipe-load/index.js +77 -55
  931. package/umd/switch/index.js +43 -27
  932. package/umd/tab-bar/index.js +2 -0
  933. package/umd/tab-bar/item.js +19 -6
  934. package/umd/tab-bar/tab-bar.js +26 -15
  935. package/umd/tabs/index.js +186 -129
  936. package/umd/tabs/tab-cell-underline.js +107 -38
  937. package/umd/tabs/tab-cell.js +119 -70
  938. package/umd/tabs/tab-pane.js +89 -49
  939. package/umd/tabs/type.d.ts +18 -2
  940. package/umd/tag/index.js +3 -1
  941. package/umd/tag/list.js +20 -11
  942. package/umd/tag/tag.js +26 -20
  943. package/umd/textarea/index.js +51 -35
  944. package/umd/toast/index.d.ts +12 -12
  945. package/umd/toast/index.js +49 -26
  946. package/umd/toast/methods.js +13 -2
  947. package/umd/transition/index.js +12 -10
@@ -1,47 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  exports.__esModule = true;
5
6
  exports.default = void 0;
7
+
6
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
7
10
  var _react = _interopRequireWildcard(require("react"));
11
+
8
12
  var _mobileUtils = require("@arco-design/mobile-utils");
13
+
9
14
  var _helpers = require("../../_helpers");
15
+
10
16
  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); }
17
+
11
18
  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; }
19
+
12
20
  var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
13
21
  var prefixCls = props.prefixCls,
14
- style = props.style,
15
- data = props.data,
16
- clickable = props.clickable,
17
- itemHeight = props.itemHeight,
18
- wrapperHeight = props.wrapperHeight,
19
- selectedValue = props.selectedValue,
20
- onValueChange = props.onValueChange,
21
- disabled = props.disabled,
22
- hideEmptyCols = props.hideEmptyCols,
23
- _props$rows = props.rows,
24
- rows = _props$rows === void 0 ? 5 : _props$rows,
25
- _props$touchToStop = props.touchToStop,
26
- touchToStop = _props$touchToStop === void 0 ? false : _props$touchToStop;
22
+ style = props.style,
23
+ data = props.data,
24
+ clickable = props.clickable,
25
+ itemHeight = props.itemHeight,
26
+ wrapperHeight = props.wrapperHeight,
27
+ selectedValue = props.selectedValue,
28
+ onValueChange = props.onValueChange,
29
+ disabled = props.disabled,
30
+ hideEmptyCols = props.hideEmptyCols,
31
+ _props$rows = props.rows,
32
+ rows = _props$rows === void 0 ? 5 : _props$rows,
33
+ _props$touchToStop = props.touchToStop,
34
+ touchToStop = _props$touchToStop === void 0 ? false : _props$touchToStop;
35
+
27
36
  var _useMountedState = (0, _helpers.useMountedState)(''),
28
- transitionDuration = _useMountedState[0],
29
- setTransitionDuration = _useMountedState[1];
37
+ transitionDuration = _useMountedState[0],
38
+ setTransitionDuration = _useMountedState[1];
39
+
30
40
  var _useState = (0, _react.useState)(''),
31
- bezier = _useState[0],
32
- setBezier = _useState[1];
41
+ bezier = _useState[0],
42
+ setBezier = _useState[1];
43
+
33
44
  var _useMountedState2 = (0, _helpers.useMountedState)(0),
34
- currentIndex = _useMountedState2[0],
35
- setCurrentIndex = _useMountedState2[1];
45
+ currentIndex = _useMountedState2[0],
46
+ setCurrentIndex = _useMountedState2[1];
47
+
36
48
  var _useMountedState3 = (0, _helpers.useMountedState)(selectedValue),
37
- currentValue = _useMountedState3[0],
38
- setCurrentValue = _useMountedState3[1];
39
- // 是否开始touch
49
+ currentValue = _useMountedState3[0],
50
+ setCurrentValue = _useMountedState3[1]; // 是否开始touch
40
51
  // @en whether to start touch
52
+
53
+
41
54
  var _useRefState = (0, _helpers.useRefState)(0),
42
- transformY = _useRefState[0],
43
- transformYRef = _useRefState[1],
44
- setTransformY = _useRefState[2];
55
+ transformY = _useRefState[0],
56
+ transformYRef = _useRefState[1],
57
+ setTransformY = _useRefState[2];
58
+
45
59
  var lastTransformYRef = (0, _react.useRef)(0);
46
60
  var touchStartTimeRef = (0, _react.useRef)(0);
47
61
  var latestCallbackTimer = (0, _react.useRef)(0);
@@ -66,66 +80,78 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
66
80
  paddingTop: (rowCount - 1) / 2 * itemHeight + "px"
67
81
  }));
68
82
  }, [transitionDuration, transformY, bezier, itemHeight, rowCount]);
83
+
69
84
  function _scrollingComplete(nowItemIndex) {
70
85
  // index有改变时再抛出
71
86
  // @en Throws again when index changes
72
87
  if (currentIndex !== nowItemIndex) {
73
- setCurrentIndex(nowItemIndex);
74
- var newValue = data[nowItemIndex] && data[nowItemIndex].value;
88
+ setCurrentIndex(Math.max(nowItemIndex, 0));
89
+ var newData = data[nowItemIndex];
90
+ var newValue = newData == null ? void 0 : newData.value;
91
+
75
92
  if (newValue !== currentValue) {
76
- // if (!('selectedValue' in props)) {
77
- // setCurrentValue(newValue);
78
- // }
79
93
  setCurrentValue(newValue);
94
+
80
95
  if (onValueChange) {
81
- onValueChange(newValue);
96
+ onValueChange(newValue, newData);
82
97
  }
83
98
  }
84
99
  }
85
100
  }
101
+
86
102
  function _scrollTo(transY, transDuration, callback) {
87
103
  if (transDuration === void 0) {
88
104
  transDuration = 0;
89
105
  }
106
+
90
107
  if (callback === void 0) {
91
108
  callback = function callback() {};
92
109
  }
110
+
93
111
  setTransitionDuration(transDuration ? transDuration + "ms" : '');
94
- setTransformY(transY);
95
- // 处理连续滑动的情况:
112
+ setTransformY(transY); // 处理连续滑动的情况:
96
113
  // @en handle the case of continuous sliding:
97
114
  // 如果上一次callback还未执行,先cancel掉上一次回调,只执行最近的一次回调
98
115
  // @en If the last callback has not been executed, cancel the last callback first, and only execute the latest callback
116
+
99
117
  if (latestCallbackTimer.current) {
100
118
  clearTimeout(latestCallbackTimer.current);
101
119
  }
120
+
102
121
  latestCallbackTimer.current = window.setTimeout(function () {
103
122
  movingStatusRef.current = 'normal';
104
123
  setTransitionDuration('');
105
124
  callback();
106
125
  }, transDuration);
107
126
  }
127
+
108
128
  function _scrollToIndex(itemIndex, transDuration, callback) {
109
129
  if (transDuration === void 0) {
110
130
  transDuration = 0;
111
131
  }
132
+
112
133
  if (callback === void 0) {
113
134
  callback = function callback() {};
114
135
  }
136
+
115
137
  _scrollTo(-1 * itemIndex * itemHeight, transDuration, callback);
116
138
  }
139
+
117
140
  function _scrollToIndexWithChange(itemIndex, transDuration) {
118
141
  if (transDuration === void 0) {
119
142
  transDuration = 0;
120
143
  }
144
+
121
145
  _scrollToIndex(itemIndex, transDuration, function () {
122
146
  _scrollingComplete(itemIndex);
123
147
  });
124
148
  }
149
+
125
150
  var _handleColumnTouchStart = (0, _react.useCallback)(function (e) {
126
151
  if (disabled) {
127
152
  return;
128
153
  }
154
+
129
155
  isTouchMoveRef.current = false;
130
156
  movingStatusRef.current = 'moving';
131
157
  var x = e.touches[0].screenX;
@@ -137,38 +163,44 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
137
163
  touchStartYRef.current = y;
138
164
  lastTransformYRef.current = transformYRef.current;
139
165
  }, [disabled]);
166
+
140
167
  var _handleColumnTouchMove = (0, _react.useCallback)(function (e) {
141
168
  if (disabled || !touchingRef.current) {
142
169
  return;
143
170
  }
171
+
144
172
  isTouchMoveRef.current = true;
145
173
  var lastTransformY = lastTransformYRef.current;
146
174
  var touchMoveX = e.touches[0].screenX;
147
175
  var touchMoveY = e.touches[0].screenY;
148
176
  var distanceX = touchMoveX - touchStartXRef.current;
149
177
  var distance = touchMoveY - touchStartYRef.current;
178
+
150
179
  if (touchingXRef.current === null) {
151
180
  touchingXRef.current = Math.abs(distanceX) > Math.abs(distance);
152
181
  }
182
+
153
183
  if (touchingXRef.current) {
154
184
  return;
155
185
  }
186
+
156
187
  e.cancelable && e.preventDefault();
157
188
  var newPos = lastTransformY + distance;
158
- var maxPos = -1 * (data.length - 1) * itemHeight;
159
- // 当滚动到上边界或下边界时增加阻尼效果
189
+ var maxPos = -1 * (data.length - 1) * itemHeight; // 当滚动到上边界或下边界时增加阻尼效果
160
190
  // @en Add damping effect when scrolling to the upper or lower border
191
+
161
192
  setTransformY(lastTransformY >= 0 && distance > 0 || lastTransformY <= maxPos && distance < 0 ? lastTransformY + distance / 4 : newPos);
162
193
  }, [data.length, disabled, itemHeight]);
194
+
163
195
  function _handleScrollEnd() {
164
196
  var maxIndex = data.length - 1;
165
- var nowIndex = Math.max(0, Math.min(maxIndex, Math.round(-1 * transformY / itemHeight)));
166
- // 滚动(包括加动量的滚动)完成之后定位到最近的一个index上
197
+ var nowIndex = Math.max(0, Math.min(maxIndex, Math.round(-1 * transformY / itemHeight))); // 滚动(包括加动量的滚动)完成之后定位到最近的一个index上
167
198
  // @en After scrolling (including scrolling with momentum) is completed, it is positioned on the nearest index
199
+
168
200
  _scrollToIndexWithChange(nowIndex, 200);
169
- }
201
+ } // Reference: https://juejin.im/post/6844904185121488910
202
+
170
203
 
171
- // Reference: https://juejin.im/post/6844904185121488910
172
204
  function momentum(current, start, duration, minY, maxY) {
173
205
  var durationMap = {
174
206
  noBounce: 2000,
@@ -180,23 +212,24 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
180
212
  weekBounce: 'cubic-bezier(.25, .46, .45, .94)',
181
213
  strongBounce: 'cubic-bezier(.25, .46, .45, .94)'
182
214
  };
183
- var type = 'noBounce';
184
- // 惯性滑动加速度
215
+ var type = 'noBounce'; // 惯性滑动加速度
185
216
  // @en inertial sliding acceleration
186
- var deceleration = 0.003;
187
- // 回弹阻力
217
+
218
+ var deceleration = 0.003; // 回弹阻力
188
219
  // @en rebound resistance
189
- var bounceRate = 5;
190
- // 强弱回弹的分割值
220
+
221
+ var bounceRate = 5; // 强弱回弹的分割值
191
222
  // @en Split value of strong and weak rebound
192
- var bounceThreshold = 300;
193
- // 回弹的最大限度
223
+
224
+ var bounceThreshold = 300; // 回弹的最大限度
194
225
  // @en maximum rebound
226
+
195
227
  var maxOverflowY = wrapperHeight / 6;
196
228
  var overflowY;
197
229
  var distance = current - start;
198
230
  var speed = 2 * Math.abs(distance) / duration;
199
231
  var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);
232
+
200
233
  if (destination < minY) {
201
234
  overflowY = minY - destination;
202
235
  type = overflowY > bounceThreshold ? 'strongBounce' : 'weekBounce';
@@ -206,31 +239,37 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
206
239
  type = overflowY > bounceThreshold ? 'strongBounce' : 'weekBounce';
207
240
  destination = Math.min(maxY + maxOverflowY, maxY + overflowY / bounceRate);
208
241
  }
242
+
209
243
  return {
210
244
  destination: destination,
211
245
  duration: durationMap[type],
212
246
  bezier: bezierMap[type]
213
247
  };
214
248
  }
249
+
215
250
  function _handleColumnTouchEnd() {
216
251
  _clearTimer();
252
+
217
253
  movingStatusRef.current = 'normal';
218
254
  var lastTransformY = lastTransformYRef.current;
255
+
219
256
  if (!isTouchMoveRef.current || transformY === lastTransformY) {
220
257
  return;
221
258
  }
259
+
222
260
  touchingRef.current = false;
223
261
  var endTime = Date.now();
224
262
  var scrollerHeight = (data.length + rowCount - 1) * itemHeight;
225
263
  var duration = endTime - touchStartTimeRef.current;
226
- var absDistY = Math.abs(transformY - lastTransformY);
227
- // 计算动量,保证滚动顺畅,条件:手势时间小于300ms && 移动距离绝对值大于30时
264
+ var absDistY = Math.abs(transformY - lastTransformY); // 计算动量,保证滚动顺畅,条件:手势时间小于300ms && 移动距离绝对值大于30时
228
265
  // @en Calculate the momentum to ensure smooth scrolling, condition: the gesture time is less than 300ms && the absolute value of the moving distance is greater than 30
266
+
229
267
  if (duration < 300 && absDistY > 30) {
230
268
  var momentumY = momentum(transformY, lastTransformY, duration, wrapperHeight - scrollerHeight, 0);
231
269
  var newItemIndex = Math.max(0, Math.min(data.length - 1, Math.round(-1 * momentumY.destination / itemHeight)));
232
270
  setBezier(momentumY.bezier);
233
271
  movingStatusRef.current = 'scrolling';
272
+
234
273
  _scrollToIndex(newItemIndex, momentumY.duration, function () {
235
274
  _scrollingComplete(newItemIndex);
236
275
  });
@@ -238,27 +277,32 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
238
277
  _handleScrollEnd();
239
278
  }
240
279
  }
280
+
241
281
  function scrollToCurrentIndex() {
242
282
  if (!wrapRef.current) {
243
283
  return;
244
284
  }
285
+
245
286
  var curStyle = window.getComputedStyle(wrapRef.current);
246
287
  var transformMatrix = curStyle.transform || curStyle.webkitTransform || '';
247
288
  var transY = Number(transformMatrix.replace(/matrix\((.*?)\)/, '$1').split(/,\s*/).slice(-1)[0]) || 0;
248
289
  var maxIndex = data.length - 1;
249
- var nowIndex = Math.max(0, Math.min(maxIndex, Math.round(-1 * transY / itemHeight)));
250
- // 滚动(包括加动量的滚动)完成之后定位到最近的一个index上
290
+ var nowIndex = Math.max(0, Math.min(maxIndex, Math.round(-1 * transY / itemHeight))); // 滚动(包括加动量的滚动)完成之后定位到最近的一个index上
251
291
  // @en After scrolling (including scrolling with momentum) is completed, it is positioned on the nearest index
292
+
252
293
  _scrollToIndexWithChange(nowIndex, 0);
253
294
  }
295
+
254
296
  function _clearTimer() {
255
297
  timeRef.current && clearTimeout(timeRef.current);
256
298
  timeRef.current = null;
257
299
  }
300
+
258
301
  function _handleItemTouchStart() {
259
302
  if (touchToStop === false) {
260
303
  return;
261
304
  }
305
+
262
306
  isTouchStopped.current = false;
263
307
  timeRef.current = window.setTimeout(function () {
264
308
  if (!isTouchMoveRef.current) {
@@ -267,17 +311,21 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
267
311
  }
268
312
  }, touchToStop === true ? 100 : touchToStop);
269
313
  }
314
+
270
315
  function _handleItemClick(itemIndex) {
271
316
  if (!clickable || disabled || touchToStop !== false && isTouchStopped.current) {
272
317
  return;
273
318
  }
319
+
274
320
  _scrollToIndexWithChange(itemIndex, 200);
275
321
  }
322
+
276
323
  (0, _react.useEffect)(function () {
277
324
  if (wrapRef.current) {
278
325
  wrapRef.current.addEventListener('touchstart', _handleColumnTouchStart);
279
326
  wrapRef.current.addEventListener('touchmove', _handleColumnTouchMove);
280
327
  }
328
+
281
329
  return function () {
282
330
  if (wrapRef.current) {
283
331
  wrapRef.current.removeEventListener('touchstart', _handleColumnTouchStart);
@@ -290,7 +338,8 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
290
338
  var curIndex = data.findIndex(function (item) {
291
339
  return item.value === selectedValue;
292
340
  });
293
- setCurrentIndex(curIndex);
341
+ setCurrentIndex(Math.max(curIndex, 0));
342
+
294
343
  if (curIndex >= 0) {
295
344
  _scrollToIndexWithChange(curIndex);
296
345
  }
@@ -314,6 +363,7 @@ var PickerCell = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
314
363
  "aria-disabled": disabled
315
364
  }, data.map(function (item, index) {
316
365
  var _cls;
366
+
317
367
  var dis = Math.abs(index - currentIndex);
318
368
  return /*#__PURE__*/_react.default.createElement("div", {
319
369
  "aria-label": index === currentIndex ? "" + item.value : '',
@@ -25,7 +25,7 @@ export interface PickerViewRef {
25
25
  * 获取第 n 列的值
26
26
  * @en Get the value of the nth column
27
27
  */
28
- getColumnValue: (index: number) => ValueType;
28
+ getColumnValue: (index: number) => ValueType | undefined;
29
29
  /**
30
30
  * 手动更新元素布局
31
31
  * @en Manually update the element layout
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  exports.__esModule = true;
5
6
  var _exportNames = {
6
7
  MultiPicker: true,
@@ -8,70 +9,93 @@ var _exportNames = {
8
9
  Cascader: true
9
10
  };
10
11
  exports.default = void 0;
12
+
11
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
+
12
15
  var _react = _interopRequireWildcard(require("react"));
16
+
13
17
  var _mobileUtils = require("@arco-design/mobile-utils");
18
+
14
19
  var _contextProvider = require("../context-provider");
20
+
15
21
  var _multiPicker = _interopRequireDefault(require("../picker-view/components/multi-picker"));
22
+
16
23
  exports.MultiPicker = _multiPicker.default;
24
+
17
25
  var _pickerCell = _interopRequireDefault(require("../picker-view/components/picker-cell"));
26
+
18
27
  exports.PickerCell = _pickerCell.default;
28
+
19
29
  var _cascader = _interopRequireDefault(require("../picker-view/components/cascader"));
30
+
20
31
  exports.Cascader = _cascader.default;
32
+
21
33
  var _helpers = require("../_helpers");
34
+
22
35
  var _type = require("./type");
36
+
23
37
  Object.keys(_type).forEach(function (key) {
24
38
  if (key === "default" || key === "__esModule") return;
25
39
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
40
  if (key in exports && exports[key] === _type[key]) return;
27
41
  exports[key] = _type[key];
28
42
  });
43
+
29
44
  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); }
45
+
30
46
  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; }
47
+
31
48
  var PickerView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
32
49
  var _props$className = props.className,
33
- className = _props$className === void 0 ? '' : _props$className,
34
- itemStyle = props.itemStyle,
35
- _props$cascade = props.cascade,
36
- cascade = _props$cascade === void 0 ? true : _props$cascade,
37
- _props$cols = props.cols,
38
- cols = _props$cols === void 0 ? 3 : _props$cols,
39
- _props$rows = props.rows,
40
- rows = _props$rows === void 0 ? 5 : _props$rows,
41
- data = props.data,
42
- _props$disabled = props.disabled,
43
- disabled = _props$disabled === void 0 ? false : _props$disabled,
44
- _props$clickable = props.clickable,
45
- clickable = _props$clickable === void 0 ? true : _props$clickable,
46
- value = props.value,
47
- _props$hideEmptyCols = props.hideEmptyCols,
48
- hideEmptyCols = _props$hideEmptyCols === void 0 ? false : _props$hideEmptyCols,
49
- onPickerChange = props.onPickerChange,
50
- _props$touchToStop = props.touchToStop,
51
- touchToStop = _props$touchToStop === void 0 ? false : _props$touchToStop;
50
+ className = _props$className === void 0 ? '' : _props$className,
51
+ itemStyle = props.itemStyle,
52
+ _props$cascade = props.cascade,
53
+ cascade = _props$cascade === void 0 ? true : _props$cascade,
54
+ _props$cols = props.cols,
55
+ cols = _props$cols === void 0 ? 3 : _props$cols,
56
+ _props$rows = props.rows,
57
+ rows = _props$rows === void 0 ? 5 : _props$rows,
58
+ data = props.data,
59
+ _props$disabled = props.disabled,
60
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
61
+ _props$clickable = props.clickable,
62
+ clickable = _props$clickable === void 0 ? true : _props$clickable,
63
+ value = props.value,
64
+ _props$hideEmptyCols = props.hideEmptyCols,
65
+ hideEmptyCols = _props$hideEmptyCols === void 0 ? false : _props$hideEmptyCols,
66
+ onPickerChange = props.onPickerChange,
67
+ _props$touchToStop = props.touchToStop,
68
+ touchToStop = _props$touchToStop === void 0 ? false : _props$touchToStop;
69
+
52
70
  var _useState = (0, _react.useState)(0),
53
- itemHeight = _useState[0],
54
- setItemHeight = _useState[1];
71
+ itemHeight = _useState[0],
72
+ setItemHeight = _useState[1];
73
+
55
74
  var _useState2 = (0, _react.useState)(0),
56
- wrapperHeight = _useState2[0],
57
- setWrapperHeight = _useState2[1];
75
+ wrapperHeight = _useState2[0],
76
+ setWrapperHeight = _useState2[1];
77
+
58
78
  var _useMountedState = (0, _helpers.useMountedState)(value),
59
- scrollValue = _useMountedState[0],
60
- setScrollValue = _useMountedState[1];
79
+ scrollValue = _useMountedState[0],
80
+ setScrollValue = _useMountedState[1];
81
+
61
82
  var wrapperRef = (0, _react.useRef)(null);
62
83
  var domRef = (0, _react.useRef)(null);
63
84
  var barRef = (0, _react.useRef)(null);
64
- var scrollValueRef = (0, _react.useRef)(value);
85
+ var scrollValueRef = (0, _helpers.useLatestRef)(scrollValue);
65
86
  var pickerCellsRef = (0, _react.useRef)([]);
66
87
  var cascaderRef = (0, _react.useRef)(null);
67
88
  var innerData = (0, _react.useMemo)(function () {
68
89
  var newData;
90
+
69
91
  var isArray = function isArray(dt) {
70
92
  return dt ? Array.isArray(dt[0]) : false;
71
93
  };
94
+
72
95
  var isStrOrNum = function isStrOrNum(dt) {
73
96
  return typeof dt[0][0] === 'string' || typeof dt[0][0] === 'number';
74
97
  };
98
+
75
99
  if (isArray(data)) {
76
100
  if (isStrOrNum(data)) {
77
101
  newData = data.map(function (item) {
@@ -88,36 +112,45 @@ var PickerView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
88
112
  } else {
89
113
  newData = [data];
90
114
  }
115
+
91
116
  return newData;
92
117
  }, [data]);
93
- (0, _react.useEffect)(function () {
94
- scrollValueRef.current = scrollValue;
95
- }, [scrollValue]);
118
+
96
119
  var getAllColumnValues = function getAllColumnValues() {
97
- return scrollValueRef.current;
120
+ return scrollValueRef.current || [];
98
121
  };
122
+
99
123
  function getColumnValue(index) {
124
+ var _scrollValueRef$curre;
125
+
100
126
  if (index === void 0) {
101
127
  index = 0;
102
128
  }
103
- return scrollValueRef.current[index];
129
+
130
+ return (_scrollValueRef$curre = scrollValueRef.current) == null ? void 0 : _scrollValueRef$curre[index];
104
131
  }
132
+
105
133
  function getCellMovingStatus() {
106
134
  var _cascaderRef$current;
135
+
107
136
  return cascade ? ((_cascaderRef$current = cascaderRef.current) == null ? void 0 : _cascaderRef$current.getCellMovingStatus()) || [] : pickerCellsRef.current.map(function (cell) {
108
137
  return cell.movingStatus;
109
138
  });
110
139
  }
140
+
111
141
  function scrollToCurrentIndex() {
112
142
  if (cascade) {
113
143
  var _cascaderRef$current2;
144
+
114
145
  (_cascaderRef$current2 = cascaderRef.current) == null ? void 0 : _cascaderRef$current2.scrollToCurrentIndex();
115
146
  return;
116
147
  }
148
+
117
149
  pickerCellsRef.current.forEach(function (cell) {
118
150
  return cell.scrollToCurrentIndex();
119
151
  });
120
152
  }
153
+
121
154
  (0, _react.useImperativeHandle)(ref, function () {
122
155
  return {
123
156
  dom: domRef.current,
@@ -129,41 +162,43 @@ var PickerView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
129
162
  scrollToCurrentIndex: scrollToCurrentIndex
130
163
  };
131
164
  });
132
- function _onPickerChange(val, index) {
133
- setScrollValue(val);
134
- if (onPickerChange) {
135
- onPickerChange(val, index);
136
- }
137
- }
138
- function _onValueChange(val, index) {
165
+
166
+ function _onValueChange(val, index, newData) {
139
167
  setScrollValue(val);
168
+
140
169
  if (onPickerChange) {
141
- onPickerChange(val, index);
170
+ onPickerChange(val, index, newData);
142
171
  }
143
172
  }
173
+
144
174
  (0, _react.useEffect)(function () {
145
175
  setScrollValue(value);
146
- }, [value, setScrollValue]);
176
+ }, [value]);
147
177
  var updateWrapperHeight = (0, _react.useCallback)(function () {
148
178
  if (wrapperRef && wrapperRef.current) {
149
179
  setWrapperHeight(wrapperRef.current.offsetHeight);
150
180
  }
151
181
  }, [wrapperRef, setWrapperHeight]);
182
+
152
183
  var updateItemHeight = function updateItemHeight() {
153
184
  if (barRef.current) {
154
185
  setItemHeight(barRef.current.getBoundingClientRect().height);
155
186
  }
156
187
  };
188
+
157
189
  (0, _react.useEffect)(function () {
158
190
  updateLayout();
159
191
  }, []);
192
+
160
193
  function updateLayout() {
161
194
  updateWrapperHeight();
162
195
  updateItemHeight();
163
196
  }
197
+
164
198
  function resetValue() {
165
199
  setScrollValue(value);
166
200
  }
201
+
167
202
  var newItemStyle = (0, _extends2.default)({
168
203
  height: itemHeight + "px"
169
204
  }, itemStyle);
@@ -182,7 +217,6 @@ var PickerView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
182
217
  data: data,
183
218
  selectedValue: scrollValue,
184
219
  onValueChange: _onValueChange,
185
- onPickerChange: _onPickerChange,
186
220
  clickable: clickable,
187
221
  itemHeight: itemHeight,
188
222
  wrapperHeight: wrapperHeight,
@@ -196,8 +230,7 @@ var PickerView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
196
230
  data: innerData,
197
231
  itemHeight: itemHeight,
198
232
  selectedValue: scrollValue,
199
- onValueChange: _onValueChange,
200
- onPickerChange: _onPickerChange
233
+ onValueChange: _onValueChange
201
234
  }, innerData.map(function (item, index) {
202
235
  return /*#__PURE__*/_react.default.createElement(_pickerCell.default, {
203
236
  key: index + "_picker_cell_normal",
@@ -236,5 +269,7 @@ var PickerView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
236
269
  * @name_en PickerView
237
270
  * @displayName PickerView
238
271
  */
272
+
239
273
  var _default = (0, _mobileUtils.componentWrapper)(PickerView, 'PickerView');
274
+
240
275
  exports.default = _default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  require("../../../../style/css/public.css");
4
+
4
5
  require("./index.css");
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  require("../../../style/public.less");
4
+
4
5
  require("./index.less");
@@ -52,12 +52,12 @@ export interface PickerViewProps {
52
52
  * 值, 格式是[value1, value2, value3], 对应数据源的相应级层value
53
53
  * @en Value, the format is [value1, value2, value3], corresponding to the corresponding level value of the data source
54
54
  */
55
- value: ValueType[];
55
+ value?: ValueType[];
56
56
  /**
57
57
  * 每列数据选择变化后的回调函数
58
58
  * @en The callback function after each column data selection changes
59
59
  */
60
- onPickerChange?: (value: ValueType[], index: number) => void;
60
+ onPickerChange?: (value: ValueType[], index: number, data: PickerData[]) => void;
61
61
  /**
62
62
  * 每列样式
63
63
  * @en Stylesheet per column