@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
@@ -12,87 +12,93 @@ var defaultPosition = {
12
12
  height: null,
13
13
  arrowLeft: 0
14
14
  };
15
-
16
15
  /**
17
16
  * 安全边界距离默认值
18
17
  * @en Default safe boundary distance
19
18
  */
20
- var defaultEdgeOffsetValue = 14;
21
19
 
20
+ var defaultEdgeOffsetValue = 14;
22
21
  /**
23
22
  * 安全距离默认值
24
23
  * @en Default safe distance
25
24
  */
25
+
26
26
  var defaultEdgeOffset = {
27
27
  top: defaultEdgeOffsetValue,
28
28
  right: defaultEdgeOffsetValue,
29
29
  bottom: defaultEdgeOffsetValue,
30
30
  left: defaultEdgeOffsetValue
31
31
  };
32
-
33
32
  /**
34
33
  * 自适应默认值
35
34
  * @en Default autoDirection
36
35
  */
36
+
37
37
  export var defaultAutoDirection = true;
38
38
  export var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef) {
39
39
  var _props$direction = props.direction,
40
- direction = _props$direction === void 0 ? 'topRight' : _props$direction,
41
- _props$verticalOffset = props.verticalOffset,
42
- verticalOffset = _props$verticalOffset === void 0 ? 10 : _props$verticalOffset,
43
- _props$horizontalOffs = props.horizontalOffset,
44
- horizontalOffset = _props$horizontalOffs === void 0 ? 8 : _props$horizontalOffs,
45
- _props$edgeOffset = props.edgeOffset,
46
- edgeOffset = _props$edgeOffset === void 0 ? defaultEdgeOffsetValue : _props$edgeOffset,
47
- _props$arrowWidth = props.arrowWidth,
48
- arrowWidth = _props$arrowWidth === void 0 ? 9 : _props$arrowWidth,
49
- _props$mode = props.mode,
50
- mode = _props$mode === void 0 ? 'follow' : _props$mode,
51
- _props$useAutoDirecti = props.useAutoDirection,
52
- useAutoDirection = _props$useAutoDirecti === void 0 ? defaultAutoDirection : _props$useAutoDirecti;
53
-
40
+ direction = _props$direction === void 0 ? 'topRight' : _props$direction,
41
+ _props$verticalOffset = props.verticalOffset,
42
+ verticalOffset = _props$verticalOffset === void 0 ? 10 : _props$verticalOffset,
43
+ _props$horizontalOffs = props.horizontalOffset,
44
+ horizontalOffset = _props$horizontalOffs === void 0 ? 8 : _props$horizontalOffs,
45
+ _props$edgeOffset = props.edgeOffset,
46
+ edgeOffset = _props$edgeOffset === void 0 ? defaultEdgeOffsetValue : _props$edgeOffset,
47
+ _props$arrowWidth = props.arrowWidth,
48
+ arrowWidth = _props$arrowWidth === void 0 ? 9 : _props$arrowWidth,
49
+ _props$mode = props.mode,
50
+ mode = _props$mode === void 0 ? 'follow' : _props$mode,
51
+ _props$useAutoDirecti = props.useAutoDirection,
52
+ useAutoDirection = _props$useAutoDirecti === void 0 ? defaultAutoDirection : _props$useAutoDirecti;
54
53
  /**
55
54
  * 气泡的位置信息
56
55
  * @en Position information of the bubbles
57
56
  */
58
- var _useState = useState(defaultPosition),
59
- position = _useState[0],
60
- setPosition = _useState[1];
61
57
 
58
+ var _useState = useState(defaultPosition),
59
+ position = _useState[0],
60
+ setPosition = _useState[1];
62
61
  /**
63
62
  * 是否在计算气泡位置
64
63
  * @en Whether to calculate the bubble position
65
64
  */
65
+
66
+
66
67
  var isCalcPosition = useMemo(function () {
67
68
  var top = position.top,
68
- bottom = position.bottom,
69
- height = position.height,
70
- left = position.left,
71
- width = position.width;
69
+ bottom = position.bottom,
70
+ height = position.height,
71
+ left = position.left,
72
+ width = position.width;
73
+
72
74
  if (left || width || top || height || bottom) {
73
75
  return false;
74
76
  }
77
+
75
78
  return true;
76
79
  }, [position]);
77
-
78
80
  /**
79
81
  * 缩放动画中心,尖角的顶部
80
82
  * @en Scale animation center, top of sharp corners
81
83
  */
84
+
82
85
  var _useState2 = useState({
83
- x: '0',
84
- y: '0'
85
- }),
86
- transformOrigin = _useState2[0],
87
- setTransformOrigin = _useState2[1];
86
+ x: '0',
87
+ y: '0'
88
+ }),
89
+ transformOrigin = _useState2[0],
90
+ setTransformOrigin = _useState2[1];
88
91
  /**
89
92
  * 气泡方向,可以会自适应变化
90
93
  * @en Bubble direction, can be adaptively changed
91
94
  */
95
+
96
+
92
97
  var _useRefState = useRefState(direction),
93
- directionState = _useRefState[0],
94
- directionStateRef = _useRefState[1],
95
- setDirectionState = _useRefState[2];
98
+ directionState = _useRefState[0],
99
+ directionStateRef = _useRefState[1],
100
+ setDirectionState = _useRefState[2];
101
+
96
102
  var getOffset = useCallback(function (dir) {
97
103
  return getDefaultValue(isObject(edgeOffset) ? edgeOffset[dir] : edgeOffset, defaultEdgeOffset[dir]);
98
104
  }, [edgeOffset]);
@@ -102,95 +108,108 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
102
108
  useEffect(function () {
103
109
  setDirectionState(direction);
104
110
  }, [direction]);
105
-
106
111
  /**
107
112
  * 调整尖角图标的位置
108
113
  * @en Adjust the position of the sharp corner icon
109
114
  */
115
+
110
116
  function adjustArrow(_ref) {
111
117
  var childRect = _ref.childRect,
112
- config = _ref.config;
118
+ config = _ref.config;
119
+
113
120
  if (directionState.indexOf('Left') !== -1 || directionState.indexOf('Right') !== -1) {
114
121
  return (childRect.width - arrowWidth) / 2 + horizontalOffset;
115
122
  }
123
+
116
124
  return (config.width - arrowWidth) / 2;
117
125
  }
118
-
119
126
  /**
120
127
  * 如果提示框超出屏幕,则向屏幕中间调整一下
121
128
  * @en If the prompt box is beyond the screen, adjust it to the middle of the screen
122
129
  */
130
+
131
+
123
132
  function adjustEdge(_ref2) {
124
133
  var childRect = _ref2.childRect,
125
- config = _ref2.config;
134
+ config = _ref2.config;
135
+
126
136
  var newConfig = _extends({}, config, {
127
137
  adjustOffset: 0
128
138
  });
139
+
129
140
  newConfig.arrowLeft = adjustArrow({
130
141
  childRect: childRect,
131
142
  config: config
132
143
  });
133
144
  var screenWidth = screen.availWidth;
134
145
  var _ref3 = [getOffset('top'), getOffset('right'), getOffset('bottom'), getOffset('left')],
135
- topOffset = _ref3[0],
136
- rightOffset = _ref3[1],
137
- bottomOffset = _ref3[2],
138
- leftOffset = _ref3[3];
146
+ topOffset = _ref3[0],
147
+ rightOffset = _ref3[1],
148
+ bottomOffset = _ref3[2],
149
+ leftOffset = _ref3[3];
139
150
  var _ref4 = [getAutoDirection('vertical'), getAutoDirection('horizontal')],
140
- verticalAuto = _ref4[0],
141
- horizontalAuto = _ref4[1];
142
-
143
- // 水平方向安全距离自动调整
151
+ verticalAuto = _ref4[0],
152
+ horizontalAuto = _ref4[1]; // 水平方向安全距离自动调整
144
153
  // @en Automatic adjustment of safety distance in horizontal direction
154
+
145
155
  if (horizontalAuto) {
146
156
  if (directionState.indexOf('Right') !== -1) {
147
- var overflow = Number(config.width) - childRect.left - childRect.width;
148
- // 左边是否溢出,向右平移安全距离
157
+ var overflow = Number(config.width) - childRect.left - childRect.width; // 左边是否溢出,向右平移安全距离
149
158
  // @en Whether the left overflows, pan to the right by a safe distance
159
+
150
160
  if (overflow > 0) {
151
161
  var adjustOffset = overflow + leftOffset;
152
162
  newConfig.left = Number(newConfig.left) + adjustOffset;
153
163
  newConfig.arrowLeft += adjustOffset;
154
164
  newConfig.adjustOffset = adjustOffset;
155
- }
156
- // 右边是否溢出,向左平移
165
+ } // 右边是否溢出,向左平移
157
166
  // @en Whether to overflow on the right, pan to the left
167
+
168
+
158
169
  if (screenWidth - childRect.right < rightOffset) {
159
170
  overflow = rightOffset;
171
+
160
172
  var _adjustOffset = -(overflow - (screenWidth - childRect.right));
173
+
161
174
  newConfig.left = Number(newConfig.left) + _adjustOffset;
162
175
  newConfig.adjustOffset = _adjustOffset;
163
176
  }
164
177
  } else if (directionState.indexOf('Center') !== -1) {
165
178
  var beyondChildEdge = (Number(config.width) - childRect.width) / 2;
166
179
  var rightOverflow = beyondChildEdge - (screenWidth - childRect.right);
167
- var leftOverflow = beyondChildEdge - childRect.left;
168
- // 右边是否溢出
180
+ var leftOverflow = beyondChildEdge - childRect.left; // 右边是否溢出
169
181
  // @en Whether to overflow on the right
182
+
170
183
  if (rightOverflow > 0) {
171
184
  var _adjustOffset2 = -(rightOverflow + rightOffset);
185
+
172
186
  newConfig.left = Number(newConfig.left) + _adjustOffset2;
173
187
  newConfig.arrowLeft -= _adjustOffset2;
174
188
  newConfig.adjustOffset = _adjustOffset2;
175
- }
176
- // 左边是否溢出
189
+ } // 左边是否溢出
177
190
  // @en Whether the left overflow
191
+
192
+
178
193
  if (leftOverflow > 0) {
179
194
  var _adjustOffset3 = leftOverflow + leftOffset;
195
+
180
196
  newConfig.left = Number(newConfig.left) + _adjustOffset3;
181
197
  newConfig.arrowLeft -= _adjustOffset3;
182
198
  newConfig.adjustOffset = _adjustOffset3;
183
199
  }
184
200
  } else if (directionState.indexOf('Left') !== -1) {
185
- var _overflow = Number(config.width) - childRect.width - (screenWidth - childRect.right);
186
- // 右边是否溢出
201
+ var _overflow = Number(config.width) - childRect.width - (screenWidth - childRect.right); // 右边是否溢出
187
202
  // @en Whether to overflow on the right
203
+
204
+
188
205
  if (_overflow > 0) {
189
206
  var _adjustOffset4 = -(_overflow + rightOffset);
207
+
190
208
  newConfig.left = Number(newConfig.left) + _adjustOffset4;
191
209
  newConfig.arrowLeft -= _adjustOffset4;
192
210
  newConfig.adjustOffset = _adjustOffset4;
193
211
  }
212
+
194
213
  if (childRect.left < leftOffset) {
195
214
  // 左边是否不够
196
215
  // @en Whether the left is not enough
@@ -199,16 +218,15 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
199
218
  newConfig.adjustOffset = leftOffset;
200
219
  }
201
220
  }
202
- }
203
-
204
- // 垂直方向安全距离调整
221
+ } // 垂直方向安全距离调整
205
222
  // @en Vertical safety distance adjustment
223
+
224
+
206
225
  if (verticalAuto) {
207
226
  var popoverTop = childRect.bottom - (newConfig.bottom && newConfig.height ? newConfig.bottom + newConfig.height : 0);
208
- var popoverBottom = childRect.top + (newConfig.top && newConfig.height ? newConfig.top + newConfig.height : 0);
209
-
210
- // 顶部安全距离不够,调整到底部
227
+ var popoverBottom = childRect.top + (newConfig.top && newConfig.height ? newConfig.top + newConfig.height : 0); // 顶部安全距离不够,调整到底部
211
228
  // @en The top safety distance is not enough, adjust to the bottom
229
+
212
230
  if (directionState.indexOf('top') !== -1 && popoverTop < topOffset) {
213
231
  newConfig.top = verticalOffset + childRect.height;
214
232
  newConfig.bottom = null;
@@ -220,30 +238,35 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
220
238
  newConfig.bottom = verticalOffset + childRect.height;
221
239
  onAdjustDirection('top');
222
240
  }
223
- }
224
-
225
- // 挂载在全局的气泡需要计算相对屏幕的位置
241
+ } // 挂载在全局的气泡需要计算相对屏幕的位置
226
242
  // @en Bubble mounted in the global needs to calculate the position relative to the screen
243
+
244
+
227
245
  if (mode === 'global') {
228
246
  var wrapperEl = wrapperRef.current;
229
247
  if (!wrapperEl) return newConfig;
248
+
230
249
  var _wrapperEl$getBoundin = wrapperEl.getBoundingClientRect(),
231
- top = _wrapperEl$getBoundin.top,
232
- left = _wrapperEl$getBoundin.left,
233
- bottom = _wrapperEl$getBoundin.bottom;
250
+ top = _wrapperEl$getBoundin.top,
251
+ left = _wrapperEl$getBoundin.left,
252
+ bottom = _wrapperEl$getBoundin.bottom;
253
+
234
254
  if (newConfig.left !== null) newConfig.left += left;
235
255
  if (newConfig.top !== null) newConfig.top += top;
256
+
236
257
  if (newConfig.bottom !== null) {
237
258
  var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;
238
259
  newConfig.bottom = windowInnerHeight - (bottom - newConfig.bottom);
239
260
  }
240
261
  }
262
+
241
263
  return newConfig;
242
264
  }
243
-
244
265
  /**
245
266
  * 计算缩放动画中心尖角顶部的位置
246
267
  */
268
+
269
+
247
270
  function getOrigin(config, adjustOffset) {
248
271
  var arrowLeft = config.arrowLeft;
249
272
  var width = config.width || 0;
@@ -251,6 +274,7 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
251
274
  var halfArrowWidth = arrowWidth / 2;
252
275
  var x = width / 2 + "px";
253
276
  var y = directionStateRef.current.indexOf('top') > -1 ? halfArrowWidth + height + "px" : "-" + halfArrowWidth + "px";
277
+
254
278
  if (directionStateRef.current.indexOf('Left') > -1) {
255
279
  x = arrowLeft + halfArrowWidth + "px";
256
280
  } else if (directionStateRef.current.indexOf('Right') > -1) {
@@ -258,33 +282,37 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
258
282
  } else {
259
283
  x = width / 2 - adjustOffset + "px";
260
284
  }
285
+
261
286
  return {
262
287
  x: x,
263
288
  y: y
264
289
  };
265
290
  }
266
-
267
291
  /**
268
292
  * 调整边界并更新气泡位置
269
293
  * @en Adjust bounds and update bubble position
270
294
  */
295
+
296
+
271
297
  function judgeAndUpdatePosition(childRect, config) {
272
298
  var _adjustEdge = adjustEdge({
273
- childRect: childRect,
274
- config: config
275
- }),
276
- adjustOffset = _adjustEdge.adjustOffset,
277
- newConfig = _objectWithoutPropertiesLoose(_adjustEdge, _excluded);
299
+ childRect: childRect,
300
+ config: config
301
+ }),
302
+ adjustOffset = _adjustEdge.adjustOffset,
303
+ newConfig = _objectWithoutPropertiesLoose(_adjustEdge, _excluded);
304
+
278
305
  var newTransformOrigin = getOrigin(newConfig, adjustOffset);
279
306
  setTransformOrigin(newTransformOrigin);
280
307
  setPosition(newConfig);
281
308
  }
282
-
283
309
  /* eslint-disable react-hooks/exhaustive-deps */
310
+
311
+
284
312
  var setTopRightOffset = function setTopRightOffset(_ref5) {
285
313
  var popoverWidth = _ref5.popoverWidth,
286
- popoverHeight = _ref5.popoverHeight,
287
- childRect = _ref5.childRect;
314
+ popoverHeight = _ref5.popoverHeight,
315
+ childRect = _ref5.childRect;
288
316
  var left = -(popoverWidth - childRect.width - horizontalOffset);
289
317
  var bottom = verticalOffset + childRect.height;
290
318
  var config = {
@@ -297,10 +325,11 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
297
325
  };
298
326
  judgeAndUpdatePosition(childRect, config);
299
327
  };
328
+
300
329
  var setTopCenterOffset = function setTopCenterOffset(_ref6) {
301
330
  var popoverWidth = _ref6.popoverWidth,
302
- popoverHeight = _ref6.popoverHeight,
303
- childRect = _ref6.childRect;
331
+ popoverHeight = _ref6.popoverHeight,
332
+ childRect = _ref6.childRect;
304
333
  var left = -(popoverWidth - childRect.width) / 2;
305
334
  var bottom = verticalOffset + childRect.height;
306
335
  var config = {
@@ -313,10 +342,11 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
313
342
  };
314
343
  judgeAndUpdatePosition(childRect, config);
315
344
  };
345
+
316
346
  var setTopLeftOffset = function setTopLeftOffset(_ref7) {
317
347
  var popoverWidth = _ref7.popoverWidth,
318
- popoverHeight = _ref7.popoverHeight,
319
- childRect = _ref7.childRect;
348
+ popoverHeight = _ref7.popoverHeight,
349
+ childRect = _ref7.childRect;
320
350
  var left = -horizontalOffset;
321
351
  var bottom = verticalOffset + childRect.height;
322
352
  var config = {
@@ -329,10 +359,11 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
329
359
  };
330
360
  judgeAndUpdatePosition(childRect, config);
331
361
  };
362
+
332
363
  var setBottomRightOffset = function setBottomRightOffset(_ref8) {
333
364
  var popoverWidth = _ref8.popoverWidth,
334
- popoverHeight = _ref8.popoverHeight,
335
- childRect = _ref8.childRect;
365
+ popoverHeight = _ref8.popoverHeight,
366
+ childRect = _ref8.childRect;
336
367
  var left = -(popoverWidth - childRect.width - horizontalOffset);
337
368
  var top = verticalOffset + childRect.height;
338
369
  var config = {
@@ -345,10 +376,11 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
345
376
  };
346
377
  judgeAndUpdatePosition(childRect, config);
347
378
  };
379
+
348
380
  var setBottomCenterOffset = function setBottomCenterOffset(_ref9) {
349
381
  var popoverWidth = _ref9.popoverWidth,
350
- popoverHeight = _ref9.popoverHeight,
351
- childRect = _ref9.childRect;
382
+ popoverHeight = _ref9.popoverHeight,
383
+ childRect = _ref9.childRect;
352
384
  var left = -(popoverWidth - childRect.width) / 2;
353
385
  var top = verticalOffset + childRect.height;
354
386
  var config = {
@@ -361,10 +393,11 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
361
393
  };
362
394
  judgeAndUpdatePosition(childRect, config);
363
395
  };
396
+
364
397
  var setBottomLeftOffset = function setBottomLeftOffset(_ref10) {
365
398
  var popoverWidth = _ref10.popoverWidth,
366
- popoverHeight = _ref10.popoverHeight,
367
- childRect = _ref10.childRect;
399
+ popoverHeight = _ref10.popoverHeight,
400
+ childRect = _ref10.childRect;
368
401
  var left = -horizontalOffset;
369
402
  var top = verticalOffset + childRect.height;
370
403
  var config = {
@@ -377,60 +410,73 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
377
410
  };
378
411
  judgeAndUpdatePosition(childRect, config);
379
412
  };
380
-
381
413
  /**
382
414
  * 计算气泡内容的位置
383
415
  * @en Calculate the position of the content of the bubble
384
416
  */
417
+
418
+
385
419
  var computedChildAndPopoverOffset = useCallback(function () {
386
420
  var _popoverRef$current;
421
+
387
422
  var popoverEle = (_popoverRef$current = popoverRef.current) == null ? void 0 : _popoverRef$current.content;
388
423
  if (!popoverEle) return;
389
424
  var popoverWidth = popoverEle.offsetWidth;
390
425
  var popoverHeight = popoverEle.offsetHeight;
391
426
  if (popoverWidth === 0 || popoverHeight === 0) return;
392
427
  var childEle = childRef.current;
428
+
393
429
  if (!childEle) {
394
430
  return;
395
431
  }
432
+
396
433
  var childRect = childEle.getBoundingClientRect();
397
434
  var config = {
398
435
  popoverWidth: popoverWidth,
399
436
  popoverHeight: popoverHeight,
400
437
  childRect: childRect
401
438
  };
439
+
402
440
  switch (directionState) {
403
441
  case 'topRight':
404
442
  setTopRightOffset(config);
405
443
  break;
444
+
406
445
  case 'topCenter':
407
446
  setTopCenterOffset(config);
408
447
  break;
448
+
409
449
  case 'topLeft':
410
450
  setTopLeftOffset(config);
411
451
  break;
452
+
412
453
  case 'bottomRight':
413
454
  setBottomRightOffset(config);
414
455
  break;
456
+
415
457
  case 'bottomCenter':
416
458
  setBottomCenterOffset(config);
417
459
  break;
460
+
418
461
  case 'bottomLeft':
419
462
  setBottomLeftOffset(config);
420
463
  break;
464
+
421
465
  default:
422
466
  break;
423
467
  }
424
468
  }, [childRef, directionState, popoverRef, setTopRightOffset, setTopCenterOffset, setTopLeftOffset, setBottomRightOffset, setBottomCenterOffset, setBottomLeftOffset]);
469
+
425
470
  var resetPosition = function resetPosition() {
426
471
  setPosition(defaultPosition);
427
472
  setDirectionState(direction);
428
473
  };
429
-
430
474
  /**
431
475
  * 调整气泡垂直方向回调
432
476
  * @en Callback when adjusting the vertical direction of the bubble
433
477
  */
478
+
479
+
434
480
  var onAdjustDirection = function onAdjustDirection(vertical) {
435
481
  if (directionState.indexOf(vertical) === -1) {
436
482
  var newDirection = directionState.replace(/top|bottom/, vertical);
@@ -438,24 +484,28 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
438
484
  directionStateRef.current = newDirection;
439
485
  }
440
486
  };
441
-
442
487
  /**
443
488
  * 判断垂直方向是否需要调整
444
489
  * @en Determine whether the vertical direction needs to be adjusted
445
490
  */
491
+
492
+
446
493
  var adjustVerticalDirection = useCallback(function () {
447
494
  var popover = popoverRef.current;
495
+
448
496
  if (!popover) {
449
497
  return;
450
498
  }
499
+
451
500
  var popoverEle = popover.content;
452
501
  if (!popoverEle) return;
453
- var _popoverEle$getBoundi = popoverEle.getBoundingClientRect(),
454
- top = _popoverEle$getBoundi.top,
455
- bottom = _popoverEle$getBoundi.bottom;
456
502
 
457
- // 顶部安全距离不够,调整到底部
503
+ var _popoverEle$getBoundi = popoverEle.getBoundingClientRect(),
504
+ top = _popoverEle$getBoundi.top,
505
+ bottom = _popoverEle$getBoundi.bottom; // 顶部安全距离不够,调整到底部
458
506
  // @en The top safety distance is not enough, adjust to the bottom
507
+
508
+
459
509
  if (directionState.indexOf('top') !== -1 && top < getOffset('top') || directionState.indexOf('bottom') !== -1 && bottom + getOffset('bottom') > window.innerHeight) {
460
510
  computedChildAndPopoverOffset();
461
511
  }
@@ -2,13 +2,12 @@ import { componentWrapper } from '@arco-design/mobile-utils';
2
2
  import { componentGenerator } from './menu';
3
3
  import { Popover } from './popover';
4
4
  export * from './type';
5
-
6
5
  /**
7
6
  * 气泡菜单
8
7
  * @en Bubble menu
9
8
  */
10
- var Menu = componentGenerator(Popover);
11
9
 
10
+ var Menu = componentGenerator(Popover);
12
11
  /**
13
12
  * 气泡卡片,支持六个方向,小箭头在各个方向均基于挂载的子元素居中放置,支持受控和非受控模式。
14
13
  * @en Bubble card, supports six directions, small arrows are centered in each direction based on the mounted sub-elements, and supports controlled and uncontrolled modes.
@@ -17,6 +16,7 @@ var Menu = componentGenerator(Popover);
17
16
  * @type 信息展示
18
17
  * @type_en Data Display
19
18
  */
19
+
20
20
  export default componentWrapper(Popover, {
21
21
  Menu: Menu
22
22
  });