@arco-design/mobile-react 2.24.1 → 2.25.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 (830) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.js +42 -120
  5. package/cjs/_helpers/index.js +2 -13
  6. package/cjs/_helpers/react-dom.js +0 -12
  7. package/cjs/_helpers/render.js +0 -12
  8. package/cjs/action-sheet/index.js +10 -30
  9. package/cjs/action-sheet/methods.js +0 -2
  10. package/cjs/action-sheet/style/css/index.css +1 -1
  11. package/cjs/action-sheet/style/css/index.js +0 -2
  12. package/cjs/action-sheet/style/index.js +0 -2
  13. package/cjs/avatar/group.js +12 -24
  14. package/cjs/avatar/index.js +51 -77
  15. package/cjs/avatar/style/css/index.js +0 -2
  16. package/cjs/avatar/style/index.js +0 -2
  17. package/cjs/badge/index.js +18 -29
  18. package/cjs/badge/style/css/index.css +3 -2
  19. package/cjs/badge/style/css/index.js +0 -1
  20. package/cjs/badge/style/index.js +0 -1
  21. package/cjs/button/hooks.js +15 -20
  22. package/cjs/button/index.js +46 -67
  23. package/cjs/button/style/css/index.js +0 -2
  24. package/cjs/button/style/index.js +0 -2
  25. package/cjs/carousel/demo/style/css/mobile.css +12 -0
  26. package/cjs/carousel/demo/style/mobile.less +8 -0
  27. package/cjs/carousel/index.d.ts +1 -1
  28. package/cjs/carousel/index.js +159 -275
  29. package/cjs/carousel/style/css/index.js +0 -1
  30. package/cjs/carousel/style/index.js +0 -1
  31. package/cjs/cell/arrow.js +0 -3
  32. package/cjs/cell/cell.js +14 -23
  33. package/cjs/cell/group.js +9 -21
  34. package/cjs/cell/index.js +1 -7
  35. package/cjs/cell/style/css/index.js +0 -1
  36. package/cjs/cell/style/index.js +0 -1
  37. package/cjs/checkbox/checkbox.js +31 -57
  38. package/cjs/checkbox/group.js +24 -38
  39. package/cjs/checkbox/hooks/index.js +0 -2
  40. package/cjs/checkbox/hooks/useMergeProps.js +7 -14
  41. package/cjs/checkbox/index.d.ts +4 -1
  42. package/cjs/checkbox/index.js +5 -10
  43. package/cjs/checkbox/style/css/index.js +0 -1
  44. package/cjs/checkbox/style/index.js +0 -1
  45. package/cjs/checkbox/type.js +0 -2
  46. package/cjs/circle-progress/index.js +37 -57
  47. package/cjs/circle-progress/style/css/index.js +0 -1
  48. package/cjs/circle-progress/style/index.js +0 -1
  49. package/cjs/collapse/collapse.js +27 -56
  50. package/cjs/collapse/group.js +20 -44
  51. package/cjs/collapse/index.js +0 -9
  52. package/cjs/collapse/style/css/index.js +0 -1
  53. package/cjs/collapse/style/index.js +0 -1
  54. package/cjs/collapse/utils.js +0 -7
  55. package/cjs/context-provider/index.js +10 -28
  56. package/cjs/context-provider/style/css/index.js +0 -1
  57. package/cjs/context-provider/style/index.js +0 -1
  58. package/cjs/count-down/hooks.js +24 -43
  59. package/cjs/count-down/index.js +29 -37
  60. package/cjs/count-down/singleton.js +2 -12
  61. package/cjs/count-down/style/css/index.js +0 -1
  62. package/cjs/count-down/style/index.js +0 -1
  63. package/cjs/count-down/util.js +33 -47
  64. package/cjs/date-picker/helper.js +7 -14
  65. package/cjs/date-picker/index.d.ts +3 -2
  66. package/cjs/date-picker/index.js +52 -114
  67. package/cjs/date-picker/style/css/index.js +0 -2
  68. package/cjs/date-picker/style/index.js +0 -2
  69. package/cjs/dialog/index.js +28 -54
  70. package/cjs/dialog/methods.js +9 -22
  71. package/cjs/dialog/style/css/index.css +2 -1
  72. package/cjs/dialog/style/css/index.js +0 -2
  73. package/cjs/dialog/style/index.js +0 -2
  74. package/cjs/dropdown/dropdown.js +74 -113
  75. package/cjs/dropdown/index.js +1 -8
  76. package/cjs/dropdown/options.js +12 -28
  77. package/cjs/dropdown/style/css/index.js +0 -1
  78. package/cjs/dropdown/style/index.js +0 -1
  79. package/cjs/dropdown-menu/dropdown-menu.js +49 -84
  80. package/cjs/dropdown-menu/helper.js +6 -27
  81. package/cjs/dropdown-menu/index.js +0 -6
  82. package/cjs/dropdown-menu/style/css/index.js +0 -2
  83. package/cjs/dropdown-menu/style/index.js +0 -2
  84. package/cjs/ellipsis/components/js-ellipsis.js +35 -71
  85. package/cjs/ellipsis/components/native-ellipsis.js +9 -15
  86. package/cjs/ellipsis/index.js +19 -32
  87. package/cjs/ellipsis/style/css/index.css +3 -0
  88. package/cjs/ellipsis/style/css/index.js +0 -1
  89. package/cjs/ellipsis/style/index.js +0 -1
  90. package/cjs/ellipsis/style/index.less +4 -0
  91. package/cjs/ellipsis/utils/dom.js +0 -8
  92. package/cjs/ellipsis/utils/is.js +1 -5
  93. package/cjs/form/form-item-context.d.ts +3 -0
  94. package/cjs/form/form-item-context.js +12 -0
  95. package/cjs/form/form-item.d.ts +4 -0
  96. package/cjs/form/form-item.js +313 -0
  97. package/cjs/form/index.d.ts +16 -0
  98. package/cjs/form/index.js +96 -0
  99. package/cjs/form/style/css/index.css +92 -0
  100. package/cjs/form/style/css/index.d.ts +2 -0
  101. package/cjs/form/style/css/index.js +4 -0
  102. package/cjs/form/style/index.d.ts +2 -0
  103. package/cjs/form/style/index.js +4 -0
  104. package/cjs/form/style/index.less +91 -0
  105. package/cjs/form/type.d.ts +371 -0
  106. package/cjs/form/type.js +30 -0
  107. package/cjs/form/useForm.d.ts +18 -0
  108. package/cjs/form/useForm.js +225 -0
  109. package/cjs/form/utils.d.ts +6 -0
  110. package/cjs/form/utils.js +36 -0
  111. package/cjs/grid/index.js +21 -41
  112. package/cjs/grid/style/css/index.js +0 -1
  113. package/cjs/grid/style/index.js +0 -1
  114. package/cjs/icon/IconAdd/index.js +5 -12
  115. package/cjs/icon/IconArrowBack/index.js +5 -12
  116. package/cjs/icon/IconArrowDown/index.js +5 -12
  117. package/cjs/icon/IconArrowIn/index.js +5 -12
  118. package/cjs/icon/IconArrowUp/index.js +5 -12
  119. package/cjs/icon/IconCheck/index.js +5 -12
  120. package/cjs/icon/IconCheckBold/index.js +5 -12
  121. package/cjs/icon/IconCircleChecked/index.js +5 -12
  122. package/cjs/icon/IconCircleDisabled/index.js +5 -12
  123. package/cjs/icon/IconCircleUnchecked/index.js +5 -12
  124. package/cjs/icon/IconClear/index.js +5 -12
  125. package/cjs/icon/IconClose/index.js +5 -12
  126. package/cjs/icon/IconCloseBold/index.js +5 -12
  127. package/cjs/icon/IconDelete/index.js +5 -12
  128. package/cjs/icon/IconEdit/index.js +5 -12
  129. package/cjs/icon/IconErrorCircle/index.js +5 -12
  130. package/cjs/icon/IconEyeInvisible/index.js +5 -12
  131. package/cjs/icon/IconEyeVisible/index.js +5 -12
  132. package/cjs/icon/IconEyelashInvisible/index.js +5 -12
  133. package/cjs/icon/IconGift/index.js +5 -12
  134. package/cjs/icon/IconHeart/index.js +5 -12
  135. package/cjs/icon/IconHome/index.js +5 -12
  136. package/cjs/icon/IconLikeCircle/index.js +5 -12
  137. package/cjs/icon/IconMinus/index.js +5 -12
  138. package/cjs/icon/IconMore/index.js +5 -12
  139. package/cjs/icon/IconNotice/index.js +5 -12
  140. package/cjs/icon/IconNoticeOff/index.js +5 -12
  141. package/cjs/icon/IconPicture/index.js +5 -12
  142. package/cjs/icon/IconPlay/index.js +5 -12
  143. package/cjs/icon/IconQuestionCircle/index.js +5 -12
  144. package/cjs/icon/IconRefresh/index.js +5 -12
  145. package/cjs/icon/IconSad/index.js +5 -12
  146. package/cjs/icon/IconScan/index.js +5 -12
  147. package/cjs/icon/IconSearch/index.js +5 -12
  148. package/cjs/icon/IconSetting/index.js +5 -12
  149. package/cjs/icon/IconShop/index.js +5 -12
  150. package/cjs/icon/IconShopping/index.js +5 -12
  151. package/cjs/icon/IconSmileFill/index.js +5 -12
  152. package/cjs/icon/IconSound/index.js +5 -12
  153. package/cjs/icon/IconSquareChecked/index.js +5 -12
  154. package/cjs/icon/IconSquareDisabled/index.js +5 -12
  155. package/cjs/icon/IconSquareUnchecked/index.js +5 -12
  156. package/cjs/icon/IconStar/index.js +5 -12
  157. package/cjs/icon/IconStarFill/index.js +5 -12
  158. package/cjs/icon/IconStarHalf/index.js +5 -12
  159. package/cjs/icon/IconSubway/index.js +5 -12
  160. package/cjs/icon/IconSuccessCircle/index.js +5 -12
  161. package/cjs/icon/IconTriDown/index.js +5 -12
  162. package/cjs/icon/IconTriUp/index.js +5 -12
  163. package/cjs/icon/IconUpload/index.js +5 -12
  164. package/cjs/icon/IconUser/index.js +5 -12
  165. package/cjs/icon/IconUserFill/index.js +5 -12
  166. package/cjs/icon/IconWarnCircle/index.js +5 -12
  167. package/cjs/icon/IconWarnCircleFill/index.js +5 -12
  168. package/cjs/icon/index.js +0 -111
  169. package/cjs/image/index.js +53 -92
  170. package/cjs/image/style/css/index.js +0 -2
  171. package/cjs/image/style/index.js +0 -2
  172. package/cjs/image-picker/add-icon.js +0 -3
  173. package/cjs/image-picker/index.d.ts +3 -2
  174. package/cjs/image-picker/index.js +62 -103
  175. package/cjs/image-picker/style/css/index.js +0 -2
  176. package/cjs/image-picker/style/index.js +0 -2
  177. package/cjs/image-preview/demo/style/css/mobile.css +10 -0
  178. package/cjs/image-preview/demo/style/mobile.less +11 -0
  179. package/cjs/image-preview/index.d.ts +5 -0
  180. package/cjs/image-preview/index.js +124 -239
  181. package/cjs/image-preview/methods.js +5 -18
  182. package/cjs/image-preview/style/css/index.css +1 -0
  183. package/cjs/image-preview/style/css/index.js +0 -4
  184. package/cjs/image-preview/style/index.js +0 -4
  185. package/cjs/image-preview/style/index.less +1 -1
  186. package/cjs/index.d.ts +7 -6
  187. package/cjs/index.js +15 -120
  188. package/cjs/input/hooks.js +42 -75
  189. package/cjs/input/index.d.ts +3 -2
  190. package/cjs/input/index.js +36 -47
  191. package/cjs/input/style/css/index.css +1 -1
  192. package/cjs/input/style/css/index.js +0 -1
  193. package/cjs/input/style/index.js +0 -1
  194. package/cjs/load-more/index.js +29 -56
  195. package/cjs/load-more/style/css/index.js +0 -1
  196. package/cjs/load-more/style/index.js +0 -1
  197. package/cjs/loading/index.js +19 -48
  198. package/cjs/loading/style/css/index.js +0 -1
  199. package/cjs/loading/style/index.js +0 -1
  200. package/cjs/masking/index.js +46 -79
  201. package/cjs/masking/methods.js +4 -19
  202. package/cjs/masking/style/css/index.js +0 -2
  203. package/cjs/masking/style/index.js +0 -2
  204. package/cjs/nav-bar/back-icon.js +1 -5
  205. package/cjs/nav-bar/index.js +36 -60
  206. package/cjs/nav-bar/style/css/index.js +0 -1
  207. package/cjs/nav-bar/style/index.js +0 -1
  208. package/cjs/notice-bar/index.js +31 -54
  209. package/cjs/notice-bar/style/css/index.js +0 -1
  210. package/cjs/notice-bar/style/index.js +0 -1
  211. package/cjs/notify/index.d.ts +8 -8
  212. package/cjs/notify/index.js +20 -49
  213. package/cjs/notify/methods.js +2 -17
  214. package/cjs/notify/style/css/index.css +2 -2
  215. package/cjs/notify/style/css/index.js +0 -1
  216. package/cjs/notify/style/index.js +0 -1
  217. package/cjs/pagination/arrow.js +0 -3
  218. package/cjs/pagination/index.js +27 -58
  219. package/cjs/pagination/style/css/index.js +0 -1
  220. package/cjs/pagination/style/index.js +0 -1
  221. package/cjs/picker/index.d.ts +3 -2
  222. package/cjs/picker/index.js +50 -89
  223. package/cjs/picker/style/css/index.js +0 -3
  224. package/cjs/picker/style/index.js +0 -3
  225. package/cjs/picker-view/components/cascader.js +14 -31
  226. package/cjs/picker-view/components/multi-picker.js +6 -20
  227. package/cjs/picker-view/components/picker-cell.js +45 -97
  228. package/cjs/picker-view/index.d.ts +3 -2
  229. package/cjs/picker-view/index.js +36 -77
  230. package/cjs/picker-view/style/css/index.js +0 -1
  231. package/cjs/picker-view/style/index.js +0 -1
  232. package/cjs/popover/hooks/index.js +0 -4
  233. package/cjs/popover/hooks/useEvent.js +25 -49
  234. package/cjs/popover/hooks/usePosition.js +94 -151
  235. package/cjs/popover/index.js +1 -8
  236. package/cjs/popover/menu.js +32 -51
  237. package/cjs/popover/popover-inner.js +30 -47
  238. package/cjs/popover/popover.js +69 -101
  239. package/cjs/popover/style/css/index.js +0 -2
  240. package/cjs/popover/style/index.js +0 -2
  241. package/cjs/popup/index.js +22 -39
  242. package/cjs/popup/methods.js +0 -2
  243. package/cjs/popup/style/css/index.js +0 -2
  244. package/cjs/popup/style/index.js +0 -2
  245. package/cjs/popup-swiper/index.js +38 -80
  246. package/cjs/popup-swiper/methods.js +0 -2
  247. package/cjs/popup-swiper/style/css/index.js +0 -2
  248. package/cjs/popup-swiper/style/index.js +0 -2
  249. package/cjs/portal/index.js +3 -8
  250. package/cjs/portal/style/css/index.js +0 -1
  251. package/cjs/portal/style/index.js +0 -1
  252. package/cjs/progress/index.js +27 -44
  253. package/cjs/progress/style/css/index.js +0 -1
  254. package/cjs/progress/style/index.js +0 -1
  255. package/cjs/pull-refresh/android-pull-refresh.js +58 -100
  256. package/cjs/pull-refresh/hooks.js +11 -32
  257. package/cjs/pull-refresh/index.d.ts +9 -3
  258. package/cjs/pull-refresh/index.js +5 -15
  259. package/cjs/pull-refresh/ios-pull-refresh.js +53 -80
  260. package/cjs/pull-refresh/model.js +0 -1
  261. package/cjs/pull-refresh/style/css/index.js +0 -2
  262. package/cjs/pull-refresh/style/index.js +0 -2
  263. package/cjs/radio/group.js +20 -34
  264. package/cjs/radio/index.d.ts +4 -1
  265. package/cjs/radio/index.js +5 -10
  266. package/cjs/radio/radio.js +0 -10
  267. package/cjs/radio/style/css/index.js +0 -1
  268. package/cjs/radio/style/index.js +0 -1
  269. package/cjs/rate/index.d.ts +3 -2
  270. package/cjs/rate/index.js +34 -57
  271. package/cjs/rate/style/css/index.js +0 -1
  272. package/cjs/rate/style/index.js +0 -1
  273. package/cjs/search-bar/association.js +14 -32
  274. package/cjs/search-bar/cancel-button.js +8 -16
  275. package/cjs/search-bar/highlight.js +14 -25
  276. package/cjs/search-bar/index.js +77 -97
  277. package/cjs/search-bar/style/css/index.js +0 -1
  278. package/cjs/search-bar/style/index.js +0 -1
  279. package/cjs/show-monitor/index.js +34 -93
  280. package/cjs/show-monitor/style/css/index.js +0 -1
  281. package/cjs/show-monitor/style/index.js +0 -1
  282. package/cjs/slider/hooks/index.js +0 -13
  283. package/cjs/slider/hooks/useSliderEvents.js +26 -55
  284. package/cjs/slider/hooks/useSliderIcon.js +6 -20
  285. package/cjs/slider/hooks/useSliderInit.js +32 -52
  286. package/cjs/slider/hooks/useSliderStyle.js +12 -24
  287. package/cjs/slider/index.d.ts +3 -2
  288. package/cjs/slider/index.js +56 -80
  289. package/cjs/slider/marks.js +12 -26
  290. package/cjs/slider/popover.js +4 -13
  291. package/cjs/slider/style/css/index.js +0 -2
  292. package/cjs/slider/style/index.js +0 -2
  293. package/cjs/slider/thumb.js +8 -23
  294. package/cjs/stepper/hooks/useButtonClick.js +19 -28
  295. package/cjs/stepper/hooks/useInputEvent.js +9 -18
  296. package/cjs/stepper/hooks/useValue.js +9 -14
  297. package/cjs/stepper/index.d.ts +3 -2
  298. package/cjs/stepper/index.js +92 -103
  299. package/cjs/stepper/style/css/index.js +0 -1
  300. package/cjs/stepper/style/index.js +0 -1
  301. package/cjs/steps/index.js +22 -40
  302. package/cjs/steps/step.js +10 -27
  303. package/cjs/steps/style/css/index.css +2 -2
  304. package/cjs/steps/style/css/index.js +0 -1
  305. package/cjs/steps/style/index.js +0 -1
  306. package/cjs/sticky/index.js +37 -66
  307. package/cjs/sticky/style/css/index.js +0 -1
  308. package/cjs/sticky/style/index.js +0 -1
  309. package/cjs/style.d.ts +7 -6
  310. package/cjs/style.js +7 -59
  311. package/cjs/swipe-action/index.js +40 -92
  312. package/cjs/swipe-action/item.js +9 -17
  313. package/cjs/swipe-action/style/css/index.js +0 -1
  314. package/cjs/swipe-action/style/index.js +0 -1
  315. package/cjs/swipe-load/index.js +55 -83
  316. package/cjs/swipe-load/style/css/index.js +0 -1
  317. package/cjs/swipe-load/style/index.js +0 -1
  318. package/cjs/switch/index.d.ts +3 -2
  319. package/cjs/switch/index.js +37 -54
  320. package/cjs/switch/style/css/index.js +0 -1
  321. package/cjs/switch/style/index.js +0 -1
  322. package/cjs/tab-bar/index.js +0 -7
  323. package/cjs/tab-bar/item.js +6 -24
  324. package/cjs/tab-bar/style/css/index.js +0 -1
  325. package/cjs/tab-bar/style/index.js +0 -1
  326. package/cjs/tab-bar/tab-bar.js +15 -31
  327. package/cjs/tabs/index.js +129 -192
  328. package/cjs/tabs/style/css/index.js +0 -1
  329. package/cjs/tabs/style/index.js +0 -1
  330. package/cjs/tabs/tab-cell-underline.js +25 -64
  331. package/cjs/tabs/tab-cell.js +66 -108
  332. package/cjs/tabs/tab-pane.js +49 -94
  333. package/cjs/tag/index.js +1 -8
  334. package/cjs/tag/list.js +11 -26
  335. package/cjs/tag/style/css/index.js +0 -1
  336. package/cjs/tag/style/index.js +0 -1
  337. package/cjs/tag/tag.js +20 -32
  338. package/cjs/textarea/index.d.ts +3 -2
  339. package/cjs/textarea/index.js +45 -63
  340. package/cjs/textarea/style/css/index.css +1 -1
  341. package/cjs/textarea/style/css/index.js +0 -2
  342. package/cjs/textarea/style/index.js +0 -2
  343. package/cjs/toast/index.d.ts +12 -12
  344. package/cjs/toast/index.js +26 -61
  345. package/cjs/toast/methods.js +2 -16
  346. package/cjs/toast/style/css/index.js +0 -3
  347. package/cjs/toast/style/index.js +0 -3
  348. package/cjs/transition/index.js +10 -18
  349. package/cjs/transition/style/css/index.js +0 -1
  350. package/cjs/transition/style/index.js +0 -1
  351. package/dist/index.js +21033 -20542
  352. package/dist/index.min.js +12 -3
  353. package/dist/style.css +826 -740
  354. package/dist/style.min.css +1 -1
  355. package/esm/_helpers/hooks.js +41 -99
  356. package/esm/_helpers/index.js +2 -3
  357. package/esm/_helpers/react-dom.js +0 -10
  358. package/esm/_helpers/render.js +0 -7
  359. package/esm/action-sheet/index.js +10 -16
  360. package/esm/action-sheet/style/css/index.css +1 -1
  361. package/esm/avatar/group.js +12 -16
  362. package/esm/avatar/index.js +51 -62
  363. package/esm/badge/index.js +18 -22
  364. package/esm/badge/style/css/index.css +3 -2
  365. package/esm/button/hooks.js +15 -18
  366. package/esm/button/index.js +46 -57
  367. package/esm/carousel/demo/style/css/mobile.css +12 -0
  368. package/esm/carousel/demo/style/mobile.less +8 -0
  369. package/esm/carousel/index.d.ts +1 -1
  370. package/esm/carousel/index.js +159 -267
  371. package/esm/cell/cell.js +14 -14
  372. package/esm/cell/group.js +9 -11
  373. package/esm/cell/index.js +1 -1
  374. package/esm/checkbox/checkbox.js +31 -42
  375. package/esm/checkbox/group.js +24 -28
  376. package/esm/checkbox/hooks/useMergeProps.js +7 -9
  377. package/esm/checkbox/index.d.ts +4 -1
  378. package/esm/checkbox/index.js +5 -3
  379. package/esm/checkbox/type.js +0 -1
  380. package/esm/circle-progress/index.js +37 -49
  381. package/esm/collapse/collapse.js +27 -46
  382. package/esm/collapse/group.js +20 -34
  383. package/esm/collapse/index.js +1 -1
  384. package/esm/collapse/utils.js +0 -1
  385. package/esm/context-provider/index.js +10 -18
  386. package/esm/count-down/hooks.js +24 -37
  387. package/esm/count-down/index.js +30 -29
  388. package/esm/count-down/singleton.js +2 -5
  389. package/esm/count-down/util.js +33 -42
  390. package/esm/date-picker/helper.js +7 -9
  391. package/esm/date-picker/index.d.ts +3 -2
  392. package/esm/date-picker/index.js +53 -103
  393. package/esm/dialog/index.js +28 -39
  394. package/esm/dialog/methods.js +9 -11
  395. package/esm/dialog/style/css/index.css +2 -1
  396. package/esm/dropdown/dropdown.js +74 -102
  397. package/esm/dropdown/index.js +1 -1
  398. package/esm/dropdown/options.js +12 -20
  399. package/esm/dropdown-menu/dropdown-menu.js +49 -74
  400. package/esm/dropdown-menu/helper.js +6 -16
  401. package/esm/dropdown-menu/index.js +1 -1
  402. package/esm/ellipsis/components/js-ellipsis.js +35 -62
  403. package/esm/ellipsis/components/native-ellipsis.js +9 -11
  404. package/esm/ellipsis/index.js +20 -21
  405. package/esm/ellipsis/style/css/index.css +3 -0
  406. package/esm/ellipsis/style/index.less +4 -0
  407. package/esm/ellipsis/utils/dom.js +0 -7
  408. package/esm/ellipsis/utils/is.js +1 -1
  409. package/esm/form/form-item-context.d.ts +3 -0
  410. package/esm/form/form-item-context.js +6 -0
  411. package/esm/form/form-item.d.ts +4 -0
  412. package/esm/form/form-item.js +306 -0
  413. package/esm/form/index.d.ts +16 -0
  414. package/esm/form/index.js +79 -0
  415. package/esm/form/style/css/index.css +92 -0
  416. package/esm/form/style/css/index.d.ts +2 -0
  417. package/esm/form/style/css/index.js +2 -0
  418. package/esm/form/style/index.d.ts +2 -0
  419. package/esm/form/style/index.js +2 -0
  420. package/esm/form/style/index.less +91 -0
  421. package/esm/form/type.d.ts +371 -0
  422. package/esm/form/type.js +24 -0
  423. package/esm/form/useForm.d.ts +18 -0
  424. package/esm/form/useForm.js +217 -0
  425. package/esm/form/utils.d.ts +6 -0
  426. package/esm/form/utils.js +30 -0
  427. package/esm/grid/index.js +21 -34
  428. package/esm/icon/IconAdd/index.js +5 -6
  429. package/esm/icon/IconArrowBack/index.js +5 -6
  430. package/esm/icon/IconArrowDown/index.js +5 -6
  431. package/esm/icon/IconArrowIn/index.js +5 -6
  432. package/esm/icon/IconArrowUp/index.js +5 -6
  433. package/esm/icon/IconCheck/index.js +5 -6
  434. package/esm/icon/IconCheckBold/index.js +5 -6
  435. package/esm/icon/IconCircleChecked/index.js +5 -6
  436. package/esm/icon/IconCircleDisabled/index.js +5 -6
  437. package/esm/icon/IconCircleUnchecked/index.js +5 -6
  438. package/esm/icon/IconClear/index.js +5 -6
  439. package/esm/icon/IconClose/index.js +5 -6
  440. package/esm/icon/IconCloseBold/index.js +5 -6
  441. package/esm/icon/IconDelete/index.js +5 -6
  442. package/esm/icon/IconEdit/index.js +5 -6
  443. package/esm/icon/IconErrorCircle/index.js +5 -6
  444. package/esm/icon/IconEyeInvisible/index.js +5 -6
  445. package/esm/icon/IconEyeVisible/index.js +5 -6
  446. package/esm/icon/IconEyelashInvisible/index.js +5 -6
  447. package/esm/icon/IconGift/index.js +5 -6
  448. package/esm/icon/IconHeart/index.js +5 -6
  449. package/esm/icon/IconHome/index.js +5 -6
  450. package/esm/icon/IconLikeCircle/index.js +5 -6
  451. package/esm/icon/IconMinus/index.js +5 -6
  452. package/esm/icon/IconMore/index.js +5 -6
  453. package/esm/icon/IconNotice/index.js +5 -6
  454. package/esm/icon/IconNoticeOff/index.js +5 -6
  455. package/esm/icon/IconPicture/index.js +5 -6
  456. package/esm/icon/IconPlay/index.js +5 -6
  457. package/esm/icon/IconQuestionCircle/index.js +5 -6
  458. package/esm/icon/IconRefresh/index.js +5 -6
  459. package/esm/icon/IconSad/index.js +5 -6
  460. package/esm/icon/IconScan/index.js +5 -6
  461. package/esm/icon/IconSearch/index.js +5 -6
  462. package/esm/icon/IconSetting/index.js +5 -6
  463. package/esm/icon/IconShop/index.js +5 -6
  464. package/esm/icon/IconShopping/index.js +5 -6
  465. package/esm/icon/IconSmileFill/index.js +5 -6
  466. package/esm/icon/IconSound/index.js +5 -6
  467. package/esm/icon/IconSquareChecked/index.js +5 -6
  468. package/esm/icon/IconSquareDisabled/index.js +5 -6
  469. package/esm/icon/IconSquareUnchecked/index.js +5 -6
  470. package/esm/icon/IconStar/index.js +5 -6
  471. package/esm/icon/IconStarFill/index.js +5 -6
  472. package/esm/icon/IconStarHalf/index.js +5 -6
  473. package/esm/icon/IconSubway/index.js +5 -6
  474. package/esm/icon/IconSuccessCircle/index.js +5 -6
  475. package/esm/icon/IconTriDown/index.js +5 -6
  476. package/esm/icon/IconTriUp/index.js +5 -6
  477. package/esm/icon/IconUpload/index.js +5 -6
  478. package/esm/icon/IconUser/index.js +5 -6
  479. package/esm/icon/IconUserFill/index.js +5 -6
  480. package/esm/icon/IconWarnCircle/index.js +5 -6
  481. package/esm/icon/IconWarnCircleFill/index.js +5 -6
  482. package/esm/image/index.js +53 -83
  483. package/esm/image-picker/index.d.ts +3 -2
  484. package/esm/image-picker/index.js +63 -90
  485. package/esm/image-preview/demo/style/css/mobile.css +10 -0
  486. package/esm/image-preview/demo/style/mobile.less +11 -0
  487. package/esm/image-preview/index.d.ts +5 -0
  488. package/esm/image-preview/index.js +124 -218
  489. package/esm/image-preview/methods.js +4 -14
  490. package/esm/image-preview/style/css/index.css +1 -0
  491. package/esm/image-preview/style/index.less +1 -1
  492. package/esm/index.d.ts +7 -6
  493. package/esm/index.js +7 -6
  494. package/esm/input/hooks.js +42 -67
  495. package/esm/input/index.d.ts +3 -2
  496. package/esm/input/index.js +37 -40
  497. package/esm/input/style/css/index.css +1 -1
  498. package/esm/load-more/index.js +29 -48
  499. package/esm/loading/index.js +19 -40
  500. package/esm/masking/index.js +46 -64
  501. package/esm/masking/methods.js +4 -15
  502. package/esm/nav-bar/back-icon.js +1 -3
  503. package/esm/nav-bar/index.js +36 -51
  504. package/esm/notice-bar/index.js +31 -47
  505. package/esm/notify/index.d.ts +8 -8
  506. package/esm/notify/index.js +20 -33
  507. package/esm/notify/methods.js +2 -13
  508. package/esm/notify/style/css/index.css +2 -2
  509. package/esm/pagination/index.js +27 -50
  510. package/esm/picker/index.d.ts +3 -2
  511. package/esm/picker/index.js +51 -76
  512. package/esm/picker-view/components/cascader.js +14 -23
  513. package/esm/picker-view/components/multi-picker.js +6 -16
  514. package/esm/picker-view/components/picker-cell.js +45 -89
  515. package/esm/picker-view/index.d.ts +3 -2
  516. package/esm/picker-view/index.js +36 -63
  517. package/esm/popover/hooks/useEvent.js +26 -41
  518. package/esm/popover/hooks/usePosition.js +94 -144
  519. package/esm/popover/index.js +2 -2
  520. package/esm/popover/menu.js +32 -41
  521. package/esm/popover/popover-inner.js +30 -38
  522. package/esm/popover/popover.js +69 -90
  523. package/esm/popup/index.js +22 -25
  524. package/esm/popup-swiper/index.js +38 -64
  525. package/esm/portal/index.js +3 -5
  526. package/esm/progress/index.js +27 -36
  527. package/esm/pull-refresh/android-pull-refresh.js +58 -90
  528. package/esm/pull-refresh/hooks.js +11 -23
  529. package/esm/pull-refresh/index.d.ts +9 -3
  530. package/esm/pull-refresh/index.js +5 -6
  531. package/esm/pull-refresh/ios-pull-refresh.js +53 -68
  532. package/esm/pull-refresh/model.js +0 -1
  533. package/esm/radio/group.js +20 -24
  534. package/esm/radio/index.d.ts +4 -1
  535. package/esm/radio/index.js +5 -3
  536. package/esm/rate/index.d.ts +3 -2
  537. package/esm/rate/index.js +35 -49
  538. package/esm/search-bar/association.js +14 -27
  539. package/esm/search-bar/cancel-button.js +8 -11
  540. package/esm/search-bar/highlight.js +14 -20
  541. package/esm/search-bar/index.js +77 -86
  542. package/esm/show-monitor/index.js +34 -85
  543. package/esm/slider/hooks/useSliderEvents.js +26 -51
  544. package/esm/slider/hooks/useSliderIcon.js +6 -13
  545. package/esm/slider/hooks/useSliderInit.js +32 -46
  546. package/esm/slider/hooks/useSliderStyle.js +12 -20
  547. package/esm/slider/index.d.ts +3 -2
  548. package/esm/slider/index.js +57 -72
  549. package/esm/slider/marks.js +12 -18
  550. package/esm/slider/popover.js +4 -6
  551. package/esm/slider/thumb.js +8 -15
  552. package/esm/stepper/hooks/useButtonClick.js +19 -27
  553. package/esm/stepper/hooks/useInputEvent.js +9 -16
  554. package/esm/stepper/hooks/useValue.js +9 -12
  555. package/esm/stepper/index.d.ts +3 -2
  556. package/esm/stepper/index.js +93 -92
  557. package/esm/steps/index.js +22 -27
  558. package/esm/steps/step.js +10 -19
  559. package/esm/steps/style/css/index.css +2 -2
  560. package/esm/sticky/index.js +37 -57
  561. package/esm/style.d.ts +7 -6
  562. package/esm/style.js +7 -6
  563. package/esm/swipe-action/index.js +40 -80
  564. package/esm/swipe-action/item.js +9 -12
  565. package/esm/swipe-load/index.js +56 -75
  566. package/esm/switch/index.d.ts +3 -2
  567. package/esm/switch/index.js +38 -49
  568. package/esm/tab-bar/index.js +0 -1
  569. package/esm/tab-bar/item.js +6 -13
  570. package/esm/tab-bar/tab-bar.js +15 -21
  571. package/esm/tabs/index.js +130 -180
  572. package/esm/tabs/tab-cell-underline.js +25 -56
  573. package/esm/tabs/tab-cell.js +66 -98
  574. package/esm/tabs/tab-pane.js +49 -85
  575. package/esm/tag/index.js +2 -2
  576. package/esm/tag/list.js +11 -16
  577. package/esm/tag/tag.js +20 -22
  578. package/esm/textarea/index.d.ts +3 -2
  579. package/esm/textarea/index.js +46 -56
  580. package/esm/textarea/style/css/index.css +1 -1
  581. package/esm/toast/index.d.ts +12 -12
  582. package/esm/toast/index.js +26 -42
  583. package/esm/toast/methods.js +2 -12
  584. package/esm/transition/index.js +10 -12
  585. package/package.json +3 -4
  586. package/style/css/public.css +1 -0
  587. package/tokens/app/arcodesign/default/css-variables.less +17 -7
  588. package/tokens/app/arcodesign/default/index.d.ts +10 -0
  589. package/tokens/app/arcodesign/default/index.js +18 -10
  590. package/tokens/app/arcodesign/default/index.json +139 -23
  591. package/tokens/app/arcodesign/default/index.less +17 -7
  592. package/umd/_helpers/hooks.js +42 -117
  593. package/umd/_helpers/index.js +2 -6
  594. package/umd/_helpers/react-dom.js +0 -11
  595. package/umd/_helpers/render.js +0 -9
  596. package/umd/action-sheet/index.js +10 -22
  597. package/umd/action-sheet/methods.js +0 -1
  598. package/umd/action-sheet/style/css/index.css +1 -1
  599. package/umd/avatar/group.js +12 -20
  600. package/umd/avatar/index.js +51 -68
  601. package/umd/badge/index.js +18 -25
  602. package/umd/badge/style/css/index.css +3 -2
  603. package/umd/button/hooks.js +15 -19
  604. package/umd/button/index.js +46 -60
  605. package/umd/carousel/demo/style/css/mobile.css +12 -0
  606. package/umd/carousel/demo/style/mobile.less +8 -0
  607. package/umd/carousel/index.d.ts +1 -1
  608. package/umd/carousel/index.js +159 -270
  609. package/umd/cell/arrow.js +0 -2
  610. package/umd/cell/cell.js +14 -18
  611. package/umd/cell/group.js +9 -17
  612. package/umd/cell/index.js +1 -2
  613. package/umd/checkbox/checkbox.js +31 -45
  614. package/umd/checkbox/group.js +24 -34
  615. package/umd/checkbox/hooks/useMergeProps.js +7 -12
  616. package/umd/checkbox/index.d.ts +4 -1
  617. package/umd/checkbox/index.js +5 -5
  618. package/umd/checkbox/type.js +0 -2
  619. package/umd/circle-progress/index.js +37 -52
  620. package/umd/collapse/collapse.js +27 -50
  621. package/umd/collapse/group.js +20 -38
  622. package/umd/collapse/index.js +0 -3
  623. package/umd/collapse/utils.js +0 -5
  624. package/umd/context-provider/index.js +10 -23
  625. package/umd/count-down/hooks.js +24 -39
  626. package/umd/count-down/index.js +29 -31
  627. package/umd/count-down/singleton.js +2 -10
  628. package/umd/count-down/util.js +33 -47
  629. package/umd/date-picker/helper.js +7 -13
  630. package/umd/date-picker/index.d.ts +3 -2
  631. package/umd/date-picker/index.js +52 -105
  632. package/umd/dialog/index.js +28 -44
  633. package/umd/dialog/methods.js +9 -18
  634. package/umd/dialog/style/css/index.css +2 -1
  635. package/umd/dropdown/dropdown.js +74 -106
  636. package/umd/dropdown/index.js +1 -3
  637. package/umd/dropdown/options.js +12 -24
  638. package/umd/dropdown-menu/dropdown-menu.js +49 -78
  639. package/umd/dropdown-menu/helper.js +6 -25
  640. package/umd/dropdown-menu/index.js +0 -2
  641. package/umd/ellipsis/components/js-ellipsis.js +35 -68
  642. package/umd/ellipsis/components/native-ellipsis.js +9 -13
  643. package/umd/ellipsis/index.js +19 -24
  644. package/umd/ellipsis/style/css/index.css +3 -0
  645. package/umd/ellipsis/style/index.less +4 -0
  646. package/umd/ellipsis/utils/dom.js +0 -8
  647. package/umd/ellipsis/utils/is.js +1 -5
  648. package/umd/form/form-item-context.d.ts +3 -0
  649. package/umd/form/form-item-context.js +25 -0
  650. package/umd/form/form-item.d.ts +4 -0
  651. package/umd/form/form-item.js +322 -0
  652. package/umd/form/index.d.ts +16 -0
  653. package/umd/form/index.js +106 -0
  654. package/umd/form/style/css/index.css +92 -0
  655. package/umd/form/style/css/index.d.ts +2 -0
  656. package/umd/form/style/css/index.js +15 -0
  657. package/umd/form/style/index.d.ts +2 -0
  658. package/umd/form/style/index.js +15 -0
  659. package/umd/form/style/index.less +91 -0
  660. package/umd/form/type.d.ts +371 -0
  661. package/umd/form/type.js +44 -0
  662. package/umd/form/useForm.d.ts +18 -0
  663. package/umd/form/useForm.js +238 -0
  664. package/umd/form/utils.d.ts +6 -0
  665. package/umd/form/utils.js +50 -0
  666. package/umd/grid/index.js +21 -37
  667. package/umd/icon/IconAdd/index.js +5 -7
  668. package/umd/icon/IconArrowBack/index.js +5 -7
  669. package/umd/icon/IconArrowDown/index.js +5 -7
  670. package/umd/icon/IconArrowIn/index.js +5 -7
  671. package/umd/icon/IconArrowUp/index.js +5 -7
  672. package/umd/icon/IconCheck/index.js +5 -7
  673. package/umd/icon/IconCheckBold/index.js +5 -7
  674. package/umd/icon/IconCircleChecked/index.js +5 -7
  675. package/umd/icon/IconCircleDisabled/index.js +5 -7
  676. package/umd/icon/IconCircleUnchecked/index.js +5 -7
  677. package/umd/icon/IconClear/index.js +5 -7
  678. package/umd/icon/IconClose/index.js +5 -7
  679. package/umd/icon/IconCloseBold/index.js +5 -7
  680. package/umd/icon/IconDelete/index.js +5 -7
  681. package/umd/icon/IconEdit/index.js +5 -7
  682. package/umd/icon/IconErrorCircle/index.js +5 -7
  683. package/umd/icon/IconEyeInvisible/index.js +5 -7
  684. package/umd/icon/IconEyeVisible/index.js +5 -7
  685. package/umd/icon/IconEyelashInvisible/index.js +5 -7
  686. package/umd/icon/IconGift/index.js +5 -7
  687. package/umd/icon/IconHeart/index.js +5 -7
  688. package/umd/icon/IconHome/index.js +5 -7
  689. package/umd/icon/IconLikeCircle/index.js +5 -7
  690. package/umd/icon/IconMinus/index.js +5 -7
  691. package/umd/icon/IconMore/index.js +5 -7
  692. package/umd/icon/IconNotice/index.js +5 -7
  693. package/umd/icon/IconNoticeOff/index.js +5 -7
  694. package/umd/icon/IconPicture/index.js +5 -7
  695. package/umd/icon/IconPlay/index.js +5 -7
  696. package/umd/icon/IconQuestionCircle/index.js +5 -7
  697. package/umd/icon/IconRefresh/index.js +5 -7
  698. package/umd/icon/IconSad/index.js +5 -7
  699. package/umd/icon/IconScan/index.js +5 -7
  700. package/umd/icon/IconSearch/index.js +5 -7
  701. package/umd/icon/IconSetting/index.js +5 -7
  702. package/umd/icon/IconShop/index.js +5 -7
  703. package/umd/icon/IconShopping/index.js +5 -7
  704. package/umd/icon/IconSmileFill/index.js +5 -7
  705. package/umd/icon/IconSound/index.js +5 -7
  706. package/umd/icon/IconSquareChecked/index.js +5 -7
  707. package/umd/icon/IconSquareDisabled/index.js +5 -7
  708. package/umd/icon/IconSquareUnchecked/index.js +5 -7
  709. package/umd/icon/IconStar/index.js +5 -7
  710. package/umd/icon/IconStarFill/index.js +5 -7
  711. package/umd/icon/IconStarHalf/index.js +5 -7
  712. package/umd/icon/IconSubway/index.js +5 -7
  713. package/umd/icon/IconSuccessCircle/index.js +5 -7
  714. package/umd/icon/IconTriDown/index.js +5 -7
  715. package/umd/icon/IconTriUp/index.js +5 -7
  716. package/umd/icon/IconUpload/index.js +5 -7
  717. package/umd/icon/IconUser/index.js +5 -7
  718. package/umd/icon/IconUserFill/index.js +5 -7
  719. package/umd/icon/IconWarnCircle/index.js +5 -7
  720. package/umd/icon/IconWarnCircleFill/index.js +5 -7
  721. package/umd/icon/index.js +0 -1
  722. package/umd/image/index.js +53 -86
  723. package/umd/image-picker/add-icon.js +0 -2
  724. package/umd/image-picker/index.d.ts +3 -2
  725. package/umd/image-picker/index.js +62 -92
  726. package/umd/image-preview/demo/style/css/mobile.css +10 -0
  727. package/umd/image-preview/demo/style/mobile.less +11 -0
  728. package/umd/image-preview/index.d.ts +5 -0
  729. package/umd/image-preview/index.js +124 -224
  730. package/umd/image-preview/methods.js +5 -15
  731. package/umd/image-preview/style/css/index.css +1 -0
  732. package/umd/image-preview/style/index.less +1 -1
  733. package/umd/index.d.ts +7 -6
  734. package/umd/index.js +19 -18
  735. package/umd/input/hooks.js +42 -71
  736. package/umd/input/index.d.ts +3 -2
  737. package/umd/input/index.js +36 -42
  738. package/umd/input/style/css/index.css +1 -1
  739. package/umd/load-more/index.js +29 -51
  740. package/umd/loading/index.js +19 -43
  741. package/umd/masking/index.js +46 -71
  742. package/umd/masking/methods.js +4 -16
  743. package/umd/nav-bar/back-icon.js +1 -4
  744. package/umd/nav-bar/index.js +36 -54
  745. package/umd/notice-bar/index.js +31 -50
  746. package/umd/notify/index.d.ts +8 -8
  747. package/umd/notify/index.js +20 -40
  748. package/umd/notify/methods.js +2 -14
  749. package/umd/notify/style/css/index.css +2 -2
  750. package/umd/pagination/arrow.js +0 -2
  751. package/umd/pagination/index.js +27 -53
  752. package/umd/picker/index.d.ts +3 -2
  753. package/umd/picker/index.js +50 -78
  754. package/umd/picker-view/components/cascader.js +14 -27
  755. package/umd/picker-view/components/multi-picker.js +6 -19
  756. package/umd/picker-view/components/picker-cell.js +45 -93
  757. package/umd/picker-view/index.d.ts +3 -2
  758. package/umd/picker-view/index.js +39 -69
  759. package/umd/popover/hooks/useEvent.js +25 -44
  760. package/umd/popover/hooks/usePosition.js +94 -145
  761. package/umd/popover/index.js +1 -3
  762. package/umd/popover/menu.js +32 -45
  763. package/umd/popover/popover-inner.js +30 -42
  764. package/umd/popover/popover.js +69 -94
  765. package/umd/popup/index.js +22 -31
  766. package/umd/popup/methods.js +0 -1
  767. package/umd/popup-swiper/index.js +38 -71
  768. package/umd/popup-swiper/methods.js +0 -1
  769. package/umd/portal/index.js +3 -6
  770. package/umd/progress/index.js +27 -39
  771. package/umd/pull-refresh/android-pull-refresh.js +58 -93
  772. package/umd/pull-refresh/hooks.js +11 -29
  773. package/umd/pull-refresh/index.d.ts +9 -3
  774. package/umd/pull-refresh/index.js +5 -8
  775. package/umd/pull-refresh/ios-pull-refresh.js +53 -72
  776. package/umd/pull-refresh/model.js +0 -1
  777. package/umd/radio/group.js +20 -30
  778. package/umd/radio/index.d.ts +4 -1
  779. package/umd/radio/index.js +5 -5
  780. package/umd/radio/radio.js +0 -5
  781. package/umd/rate/index.d.ts +3 -2
  782. package/umd/rate/index.js +34 -51
  783. package/umd/search-bar/association.js +14 -29
  784. package/umd/search-bar/cancel-button.js +8 -14
  785. package/umd/search-bar/highlight.js +14 -21
  786. package/umd/search-bar/index.js +77 -87
  787. package/umd/show-monitor/index.js +34 -89
  788. package/umd/slider/hooks/index.js +0 -4
  789. package/umd/slider/hooks/useSliderEvents.js +26 -52
  790. package/umd/slider/hooks/useSliderIcon.js +6 -17
  791. package/umd/slider/hooks/useSliderInit.js +32 -50
  792. package/umd/slider/hooks/useSliderStyle.js +12 -22
  793. package/umd/slider/index.d.ts +3 -2
  794. package/umd/slider/index.js +56 -73
  795. package/umd/slider/marks.js +12 -21
  796. package/umd/slider/popover.js +4 -10
  797. package/umd/slider/thumb.js +8 -18
  798. package/umd/stepper/hooks/useButtonClick.js +19 -27
  799. package/umd/stepper/hooks/useInputEvent.js +9 -17
  800. package/umd/stepper/hooks/useValue.js +9 -13
  801. package/umd/stepper/index.d.ts +3 -2
  802. package/umd/stepper/index.js +92 -94
  803. package/umd/steps/index.js +22 -32
  804. package/umd/steps/step.js +10 -22
  805. package/umd/steps/style/css/index.css +2 -2
  806. package/umd/sticky/index.js +37 -60
  807. package/umd/style.d.ts +7 -6
  808. package/umd/style.js +4 -4
  809. package/umd/swipe-action/index.js +40 -84
  810. package/umd/swipe-action/item.js +9 -14
  811. package/umd/swipe-load/index.js +55 -77
  812. package/umd/switch/index.d.ts +3 -2
  813. package/umd/switch/index.js +37 -50
  814. package/umd/tab-bar/index.js +0 -2
  815. package/umd/tab-bar/item.js +6 -19
  816. package/umd/tab-bar/tab-bar.js +15 -26
  817. package/umd/tabs/index.js +129 -183
  818. package/umd/tabs/tab-cell-underline.js +25 -60
  819. package/umd/tabs/tab-cell.js +66 -103
  820. package/umd/tabs/tab-pane.js +49 -89
  821. package/umd/tag/index.js +1 -3
  822. package/umd/tag/list.js +11 -20
  823. package/umd/tag/tag.js +20 -26
  824. package/umd/textarea/index.d.ts +3 -2
  825. package/umd/textarea/index.js +45 -58
  826. package/umd/textarea/style/css/index.css +1 -1
  827. package/umd/toast/index.d.ts +12 -12
  828. package/umd/toast/index.js +26 -49
  829. package/umd/toast/methods.js +2 -13
  830. package/umd/transition/index.js +10 -12
@@ -1,20 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  exports.__esModule = true;
6
5
  exports.usePosition = exports.defaultAutoDirection = void 0;
7
-
8
6
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
-
10
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
8
  var _mobileUtils = require("@arco-design/mobile-utils");
13
-
14
9
  var _react = require("react");
15
-
16
10
  var _helpers = require("../../_helpers");
17
-
18
11
  var _excluded = ["adjustOffset"];
19
12
  var defaultPosition = {
20
13
  left: null,
@@ -24,95 +17,88 @@ var defaultPosition = {
24
17
  height: null,
25
18
  arrowLeft: 0
26
19
  };
20
+
27
21
  /**
28
22
  * 安全边界距离默认值
29
23
  * @en Default safe boundary distance
30
24
  */
31
-
32
25
  var defaultEdgeOffsetValue = 14;
26
+
33
27
  /**
34
28
  * 安全距离默认值
35
29
  * @en Default safe distance
36
30
  */
37
-
38
31
  var defaultEdgeOffset = {
39
32
  top: defaultEdgeOffsetValue,
40
33
  right: defaultEdgeOffsetValue,
41
34
  bottom: defaultEdgeOffsetValue,
42
35
  left: defaultEdgeOffsetValue
43
36
  };
37
+
44
38
  /**
45
39
  * 自适应默认值
46
40
  * @en Default autoDirection
47
41
  */
48
-
49
42
  var defaultAutoDirection = true;
50
43
  exports.defaultAutoDirection = defaultAutoDirection;
51
-
52
44
  var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef) {
53
45
  var _props$direction = props.direction,
54
- direction = _props$direction === void 0 ? 'topRight' : _props$direction,
55
- _props$verticalOffset = props.verticalOffset,
56
- verticalOffset = _props$verticalOffset === void 0 ? 10 : _props$verticalOffset,
57
- _props$horizontalOffs = props.horizontalOffset,
58
- horizontalOffset = _props$horizontalOffs === void 0 ? 8 : _props$horizontalOffs,
59
- _props$edgeOffset = props.edgeOffset,
60
- edgeOffset = _props$edgeOffset === void 0 ? defaultEdgeOffsetValue : _props$edgeOffset,
61
- _props$arrowWidth = props.arrowWidth,
62
- arrowWidth = _props$arrowWidth === void 0 ? 9 : _props$arrowWidth,
63
- _props$mode = props.mode,
64
- mode = _props$mode === void 0 ? 'follow' : _props$mode,
65
- _props$useAutoDirecti = props.useAutoDirection,
66
- useAutoDirection = _props$useAutoDirecti === void 0 ? defaultAutoDirection : _props$useAutoDirecti;
46
+ direction = _props$direction === void 0 ? 'topRight' : _props$direction,
47
+ _props$verticalOffset = props.verticalOffset,
48
+ verticalOffset = _props$verticalOffset === void 0 ? 10 : _props$verticalOffset,
49
+ _props$horizontalOffs = props.horizontalOffset,
50
+ horizontalOffset = _props$horizontalOffs === void 0 ? 8 : _props$horizontalOffs,
51
+ _props$edgeOffset = props.edgeOffset,
52
+ edgeOffset = _props$edgeOffset === void 0 ? defaultEdgeOffsetValue : _props$edgeOffset,
53
+ _props$arrowWidth = props.arrowWidth,
54
+ arrowWidth = _props$arrowWidth === void 0 ? 9 : _props$arrowWidth,
55
+ _props$mode = props.mode,
56
+ mode = _props$mode === void 0 ? 'follow' : _props$mode,
57
+ _props$useAutoDirecti = props.useAutoDirection,
58
+ useAutoDirection = _props$useAutoDirecti === void 0 ? defaultAutoDirection : _props$useAutoDirecti;
59
+
67
60
  /**
68
61
  * 气泡的位置信息
69
62
  * @en Position information of the bubbles
70
63
  */
71
-
72
64
  var _useState = (0, _react.useState)(defaultPosition),
73
- position = _useState[0],
74
- setPosition = _useState[1];
65
+ position = _useState[0],
66
+ setPosition = _useState[1];
67
+
75
68
  /**
76
69
  * 是否在计算气泡位置
77
70
  * @en Whether to calculate the bubble position
78
71
  */
79
-
80
-
81
72
  var isCalcPosition = (0, _react.useMemo)(function () {
82
73
  var top = position.top,
83
- bottom = position.bottom,
84
- height = position.height,
85
- left = position.left,
86
- width = position.width;
87
-
74
+ bottom = position.bottom,
75
+ height = position.height,
76
+ left = position.left,
77
+ width = position.width;
88
78
  if (left || width || top || height || bottom) {
89
79
  return false;
90
80
  }
91
-
92
81
  return true;
93
82
  }, [position]);
83
+
94
84
  /**
95
85
  * 缩放动画中心,尖角的顶部
96
86
  * @en Scale animation center, top of sharp corners
97
87
  */
98
-
99
88
  var _useState2 = (0, _react.useState)({
100
- x: '0',
101
- y: '0'
102
- }),
103
- transformOrigin = _useState2[0],
104
- setTransformOrigin = _useState2[1];
89
+ x: '0',
90
+ y: '0'
91
+ }),
92
+ transformOrigin = _useState2[0],
93
+ setTransformOrigin = _useState2[1];
105
94
  /**
106
95
  * 气泡方向,可以会自适应变化
107
96
  * @en Bubble direction, can be adaptively changed
108
97
  */
109
-
110
-
111
98
  var _useRefState = (0, _helpers.useRefState)(direction),
112
- directionState = _useRefState[0],
113
- directionStateRef = _useRefState[1],
114
- setDirectionState = _useRefState[2];
115
-
99
+ directionState = _useRefState[0],
100
+ directionStateRef = _useRefState[1],
101
+ setDirectionState = _useRefState[2];
116
102
  var getOffset = (0, _react.useCallback)(function (dir) {
117
103
  return (0, _helpers.getDefaultValue)((0, _mobileUtils.isObject)(edgeOffset) ? edgeOffset[dir] : edgeOffset, defaultEdgeOffset[dir]);
118
104
  }, [edgeOffset]);
@@ -122,30 +108,27 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
122
108
  (0, _react.useEffect)(function () {
123
109
  setDirectionState(direction);
124
110
  }, [direction]);
111
+
125
112
  /**
126
113
  * 调整尖角图标的位置
127
114
  * @en Adjust the position of the sharp corner icon
128
115
  */
129
-
130
116
  function adjustArrow(_ref) {
131
117
  var childRect = _ref.childRect,
132
- config = _ref.config;
133
-
118
+ config = _ref.config;
134
119
  if (directionState.indexOf('Left') !== -1 || directionState.indexOf('Right') !== -1) {
135
120
  return (childRect.width - arrowWidth) / 2 + horizontalOffset;
136
121
  }
137
-
138
122
  return (config.width - arrowWidth) / 2;
139
123
  }
124
+
140
125
  /**
141
126
  * 如果提示框超出屏幕,则向屏幕中间调整一下
142
127
  * @en If the prompt box is beyond the screen, adjust it to the middle of the screen
143
128
  */
144
-
145
-
146
129
  function adjustEdge(_ref2) {
147
130
  var childRect = _ref2.childRect,
148
- config = _ref2.config;
131
+ config = _ref2.config;
149
132
  var newConfig = (0, _extends2.default)({}, config, {
150
133
  adjustOffset: 0
151
134
  });
@@ -155,73 +138,65 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
155
138
  });
156
139
  var screenWidth = screen.availWidth;
157
140
  var _ref3 = [getOffset('top'), getOffset('right'), getOffset('bottom'), getOffset('left')],
158
- topOffset = _ref3[0],
159
- rightOffset = _ref3[1],
160
- bottomOffset = _ref3[2],
161
- leftOffset = _ref3[3];
141
+ topOffset = _ref3[0],
142
+ rightOffset = _ref3[1],
143
+ bottomOffset = _ref3[2],
144
+ leftOffset = _ref3[3];
162
145
  var _ref4 = [getAutoDirection('vertical'), getAutoDirection('horizontal')],
163
- verticalAuto = _ref4[0],
164
- horizontalAuto = _ref4[1]; // 水平方向安全距离自动调整
165
- // @en Automatic adjustment of safety distance in horizontal direction
146
+ verticalAuto = _ref4[0],
147
+ horizontalAuto = _ref4[1];
166
148
 
149
+ // 水平方向安全距离自动调整
150
+ // @en Automatic adjustment of safety distance in horizontal direction
167
151
  if (horizontalAuto) {
168
152
  if (directionState.indexOf('Right') !== -1) {
169
- var overflow = Number(config.width) - childRect.left - childRect.width; // 左边是否溢出,向右平移安全距离
153
+ var overflow = Number(config.width) - childRect.left - childRect.width;
154
+ // 左边是否溢出,向右平移安全距离
170
155
  // @en Whether the left overflows, pan to the right by a safe distance
171
-
172
156
  if (overflow > 0) {
173
157
  var adjustOffset = overflow + leftOffset;
174
158
  newConfig.left = Number(newConfig.left) + adjustOffset;
175
159
  newConfig.arrowLeft += adjustOffset;
176
160
  newConfig.adjustOffset = adjustOffset;
177
- } // 右边是否溢出,向左平移
161
+ }
162
+ // 右边是否溢出,向左平移
178
163
  // @en Whether to overflow on the right, pan to the left
179
-
180
-
181
164
  if (screenWidth - childRect.right < rightOffset) {
182
165
  overflow = rightOffset;
183
-
184
166
  var _adjustOffset = -(overflow - (screenWidth - childRect.right));
185
-
186
167
  newConfig.left = Number(newConfig.left) + _adjustOffset;
187
168
  newConfig.adjustOffset = _adjustOffset;
188
169
  }
189
170
  } else if (directionState.indexOf('Center') !== -1) {
190
171
  var beyondChildEdge = (Number(config.width) - childRect.width) / 2;
191
172
  var rightOverflow = beyondChildEdge - (screenWidth - childRect.right);
192
- var leftOverflow = beyondChildEdge - childRect.left; // 右边是否溢出
173
+ var leftOverflow = beyondChildEdge - childRect.left;
174
+ // 右边是否溢出
193
175
  // @en Whether to overflow on the right
194
-
195
176
  if (rightOverflow > 0) {
196
177
  var _adjustOffset2 = -(rightOverflow + rightOffset);
197
-
198
178
  newConfig.left = Number(newConfig.left) + _adjustOffset2;
199
179
  newConfig.arrowLeft -= _adjustOffset2;
200
180
  newConfig.adjustOffset = _adjustOffset2;
201
- } // 左边是否溢出
181
+ }
182
+ // 左边是否溢出
202
183
  // @en Whether the left overflow
203
-
204
-
205
184
  if (leftOverflow > 0) {
206
185
  var _adjustOffset3 = leftOverflow + leftOffset;
207
-
208
186
  newConfig.left = Number(newConfig.left) + _adjustOffset3;
209
187
  newConfig.arrowLeft -= _adjustOffset3;
210
188
  newConfig.adjustOffset = _adjustOffset3;
211
189
  }
212
190
  } else if (directionState.indexOf('Left') !== -1) {
213
- var _overflow = Number(config.width) - childRect.width - (screenWidth - childRect.right); // 右边是否溢出
191
+ var _overflow = Number(config.width) - childRect.width - (screenWidth - childRect.right);
192
+ // 右边是否溢出
214
193
  // @en Whether to overflow on the right
215
-
216
-
217
194
  if (_overflow > 0) {
218
195
  var _adjustOffset4 = -(_overflow + rightOffset);
219
-
220
196
  newConfig.left = Number(newConfig.left) + _adjustOffset4;
221
197
  newConfig.arrowLeft -= _adjustOffset4;
222
198
  newConfig.adjustOffset = _adjustOffset4;
223
199
  }
224
-
225
200
  if (childRect.left < leftOffset) {
226
201
  // 左边是否不够
227
202
  // @en Whether the left is not enough
@@ -230,15 +205,16 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
230
205
  newConfig.adjustOffset = leftOffset;
231
206
  }
232
207
  }
233
- } // 垂直方向安全距离调整
234
- // @en Vertical safety distance adjustment
235
-
208
+ }
236
209
 
210
+ // 垂直方向安全距离调整
211
+ // @en Vertical safety distance adjustment
237
212
  if (verticalAuto) {
238
213
  var popoverTop = childRect.bottom - (newConfig.bottom && newConfig.height ? newConfig.bottom + newConfig.height : 0);
239
- var popoverBottom = childRect.top + (newConfig.top && newConfig.height ? newConfig.top + newConfig.height : 0); // 顶部安全距离不够,调整到底部
240
- // @en The top safety distance is not enough, adjust to the bottom
214
+ var popoverBottom = childRect.top + (newConfig.top && newConfig.height ? newConfig.top + newConfig.height : 0);
241
215
 
216
+ // 顶部安全距离不够,调整到底部
217
+ // @en The top safety distance is not enough, adjust to the bottom
242
218
  if (directionState.indexOf('top') !== -1 && popoverTop < topOffset) {
243
219
  newConfig.top = verticalOffset + childRect.height;
244
220
  newConfig.bottom = null;
@@ -250,35 +226,30 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
250
226
  newConfig.bottom = verticalOffset + childRect.height;
251
227
  onAdjustDirection('top');
252
228
  }
253
- } // 挂载在全局的气泡需要计算相对屏幕的位置
254
- // @en Bubble mounted in the global needs to calculate the position relative to the screen
255
-
229
+ }
256
230
 
231
+ // 挂载在全局的气泡需要计算相对屏幕的位置
232
+ // @en Bubble mounted in the global needs to calculate the position relative to the screen
257
233
  if (mode === 'global') {
258
234
  var wrapperEl = wrapperRef.current;
259
235
  if (!wrapperEl) return newConfig;
260
-
261
236
  var _wrapperEl$getBoundin = wrapperEl.getBoundingClientRect(),
262
- top = _wrapperEl$getBoundin.top,
263
- left = _wrapperEl$getBoundin.left,
264
- bottom = _wrapperEl$getBoundin.bottom;
265
-
237
+ top = _wrapperEl$getBoundin.top,
238
+ left = _wrapperEl$getBoundin.left,
239
+ bottom = _wrapperEl$getBoundin.bottom;
266
240
  if (newConfig.left !== null) newConfig.left += left;
267
241
  if (newConfig.top !== null) newConfig.top += top;
268
-
269
242
  if (newConfig.bottom !== null) {
270
243
  var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;
271
244
  newConfig.bottom = windowInnerHeight - (bottom - newConfig.bottom);
272
245
  }
273
246
  }
274
-
275
247
  return newConfig;
276
248
  }
249
+
277
250
  /**
278
251
  * 计算缩放动画中心尖角顶部的位置
279
252
  */
280
-
281
-
282
253
  function getOrigin(config, adjustOffset) {
283
254
  var arrowLeft = config.arrowLeft;
284
255
  var width = config.width || 0;
@@ -286,7 +257,6 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
286
257
  var halfArrowWidth = arrowWidth / 2;
287
258
  var x = width / 2 + "px";
288
259
  var y = directionStateRef.current.indexOf('top') > -1 ? halfArrowWidth + height + "px" : "-" + halfArrowWidth + "px";
289
-
290
260
  if (directionStateRef.current.indexOf('Left') > -1) {
291
261
  x = arrowLeft + halfArrowWidth + "px";
292
262
  } else if (directionStateRef.current.indexOf('Right') > -1) {
@@ -294,37 +264,33 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
294
264
  } else {
295
265
  x = width / 2 - adjustOffset + "px";
296
266
  }
297
-
298
267
  return {
299
268
  x: x,
300
269
  y: y
301
270
  };
302
271
  }
272
+
303
273
  /**
304
274
  * 调整边界并更新气泡位置
305
275
  * @en Adjust bounds and update bubble position
306
276
  */
307
-
308
-
309
277
  function judgeAndUpdatePosition(childRect, config) {
310
278
  var _adjustEdge = adjustEdge({
311
- childRect: childRect,
312
- config: config
313
- }),
314
- adjustOffset = _adjustEdge.adjustOffset,
315
- newConfig = (0, _objectWithoutPropertiesLoose2.default)(_adjustEdge, _excluded);
316
-
279
+ childRect: childRect,
280
+ config: config
281
+ }),
282
+ adjustOffset = _adjustEdge.adjustOffset,
283
+ newConfig = (0, _objectWithoutPropertiesLoose2.default)(_adjustEdge, _excluded);
317
284
  var newTransformOrigin = getOrigin(newConfig, adjustOffset);
318
285
  setTransformOrigin(newTransformOrigin);
319
286
  setPosition(newConfig);
320
287
  }
321
- /* eslint-disable react-hooks/exhaustive-deps */
322
-
323
288
 
289
+ /* eslint-disable react-hooks/exhaustive-deps */
324
290
  var setTopRightOffset = function setTopRightOffset(_ref5) {
325
291
  var popoverWidth = _ref5.popoverWidth,
326
- popoverHeight = _ref5.popoverHeight,
327
- childRect = _ref5.childRect;
292
+ popoverHeight = _ref5.popoverHeight,
293
+ childRect = _ref5.childRect;
328
294
  var left = -(popoverWidth - childRect.width - horizontalOffset);
329
295
  var bottom = verticalOffset + childRect.height;
330
296
  var config = {
@@ -337,11 +303,10 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
337
303
  };
338
304
  judgeAndUpdatePosition(childRect, config);
339
305
  };
340
-
341
306
  var setTopCenterOffset = function setTopCenterOffset(_ref6) {
342
307
  var popoverWidth = _ref6.popoverWidth,
343
- popoverHeight = _ref6.popoverHeight,
344
- childRect = _ref6.childRect;
308
+ popoverHeight = _ref6.popoverHeight,
309
+ childRect = _ref6.childRect;
345
310
  var left = -(popoverWidth - childRect.width) / 2;
346
311
  var bottom = verticalOffset + childRect.height;
347
312
  var config = {
@@ -354,11 +319,10 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
354
319
  };
355
320
  judgeAndUpdatePosition(childRect, config);
356
321
  };
357
-
358
322
  var setTopLeftOffset = function setTopLeftOffset(_ref7) {
359
323
  var popoverWidth = _ref7.popoverWidth,
360
- popoverHeight = _ref7.popoverHeight,
361
- childRect = _ref7.childRect;
324
+ popoverHeight = _ref7.popoverHeight,
325
+ childRect = _ref7.childRect;
362
326
  var left = -horizontalOffset;
363
327
  var bottom = verticalOffset + childRect.height;
364
328
  var config = {
@@ -371,11 +335,10 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
371
335
  };
372
336
  judgeAndUpdatePosition(childRect, config);
373
337
  };
374
-
375
338
  var setBottomRightOffset = function setBottomRightOffset(_ref8) {
376
339
  var popoverWidth = _ref8.popoverWidth,
377
- popoverHeight = _ref8.popoverHeight,
378
- childRect = _ref8.childRect;
340
+ popoverHeight = _ref8.popoverHeight,
341
+ childRect = _ref8.childRect;
379
342
  var left = -(popoverWidth - childRect.width - horizontalOffset);
380
343
  var top = verticalOffset + childRect.height;
381
344
  var config = {
@@ -388,11 +351,10 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
388
351
  };
389
352
  judgeAndUpdatePosition(childRect, config);
390
353
  };
391
-
392
354
  var setBottomCenterOffset = function setBottomCenterOffset(_ref9) {
393
355
  var popoverWidth = _ref9.popoverWidth,
394
- popoverHeight = _ref9.popoverHeight,
395
- childRect = _ref9.childRect;
356
+ popoverHeight = _ref9.popoverHeight,
357
+ childRect = _ref9.childRect;
396
358
  var left = -(popoverWidth - childRect.width) / 2;
397
359
  var top = verticalOffset + childRect.height;
398
360
  var config = {
@@ -405,11 +367,10 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
405
367
  };
406
368
  judgeAndUpdatePosition(childRect, config);
407
369
  };
408
-
409
370
  var setBottomLeftOffset = function setBottomLeftOffset(_ref10) {
410
371
  var popoverWidth = _ref10.popoverWidth,
411
- popoverHeight = _ref10.popoverHeight,
412
- childRect = _ref10.childRect;
372
+ popoverHeight = _ref10.popoverHeight,
373
+ childRect = _ref10.childRect;
413
374
  var left = -horizontalOffset;
414
375
  var top = verticalOffset + childRect.height;
415
376
  var config = {
@@ -422,73 +383,60 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
422
383
  };
423
384
  judgeAndUpdatePosition(childRect, config);
424
385
  };
386
+
425
387
  /**
426
388
  * 计算气泡内容的位置
427
389
  * @en Calculate the position of the content of the bubble
428
390
  */
429
-
430
-
431
391
  var computedChildAndPopoverOffset = (0, _react.useCallback)(function () {
432
392
  var _popoverRef$current;
433
-
434
393
  var popoverEle = (_popoverRef$current = popoverRef.current) == null ? void 0 : _popoverRef$current.content;
435
394
  if (!popoverEle) return;
436
395
  var popoverWidth = popoverEle.offsetWidth;
437
396
  var popoverHeight = popoverEle.offsetHeight;
438
397
  if (popoverWidth === 0 || popoverHeight === 0) return;
439
398
  var childEle = childRef.current;
440
-
441
399
  if (!childEle) {
442
400
  return;
443
401
  }
444
-
445
402
  var childRect = childEle.getBoundingClientRect();
446
403
  var config = {
447
404
  popoverWidth: popoverWidth,
448
405
  popoverHeight: popoverHeight,
449
406
  childRect: childRect
450
407
  };
451
-
452
408
  switch (directionState) {
453
409
  case 'topRight':
454
410
  setTopRightOffset(config);
455
411
  break;
456
-
457
412
  case 'topCenter':
458
413
  setTopCenterOffset(config);
459
414
  break;
460
-
461
415
  case 'topLeft':
462
416
  setTopLeftOffset(config);
463
417
  break;
464
-
465
418
  case 'bottomRight':
466
419
  setBottomRightOffset(config);
467
420
  break;
468
-
469
421
  case 'bottomCenter':
470
422
  setBottomCenterOffset(config);
471
423
  break;
472
-
473
424
  case 'bottomLeft':
474
425
  setBottomLeftOffset(config);
475
426
  break;
476
-
477
427
  default:
478
428
  break;
479
429
  }
480
430
  }, [childRef, directionState, popoverRef, setTopRightOffset, setTopCenterOffset, setTopLeftOffset, setBottomRightOffset, setBottomCenterOffset, setBottomLeftOffset]);
481
-
482
431
  var resetPosition = function resetPosition() {
483
432
  setPosition(defaultPosition);
484
433
  setDirectionState(direction);
485
434
  };
435
+
486
436
  /**
487
437
  * 调整气泡垂直方向回调
488
438
  * @en Callback when adjusting the vertical direction of the bubble
489
439
  */
490
-
491
-
492
440
  var onAdjustDirection = function onAdjustDirection(vertical) {
493
441
  if (directionState.indexOf(vertical) === -1) {
494
442
  var newDirection = directionState.replace(/top|bottom/, vertical);
@@ -496,28 +444,24 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
496
444
  directionStateRef.current = newDirection;
497
445
  }
498
446
  };
447
+
499
448
  /**
500
449
  * 判断垂直方向是否需要调整
501
450
  * @en Determine whether the vertical direction needs to be adjusted
502
451
  */
503
-
504
-
505
452
  var adjustVerticalDirection = (0, _react.useCallback)(function () {
506
453
  var popover = popoverRef.current;
507
-
508
454
  if (!popover) {
509
455
  return;
510
456
  }
511
-
512
457
  var popoverEle = popover.content;
513
458
  if (!popoverEle) return;
514
-
515
459
  var _popoverEle$getBoundi = popoverEle.getBoundingClientRect(),
516
- top = _popoverEle$getBoundi.top,
517
- bottom = _popoverEle$getBoundi.bottom; // 顶部安全距离不够,调整到底部
518
- // @en The top safety distance is not enough, adjust to the bottom
519
-
460
+ top = _popoverEle$getBoundi.top,
461
+ bottom = _popoverEle$getBoundi.bottom;
520
462
 
463
+ // 顶部安全距离不够,调整到底部
464
+ // @en The top safety distance is not enough, adjust to the bottom
521
465
  if (directionState.indexOf('top') !== -1 && top < getOffset('top') || directionState.indexOf('bottom') !== -1 && bottom + getOffset('bottom') > window.innerHeight) {
522
466
  computedChildAndPopoverOffset();
523
467
  }
@@ -534,5 +478,4 @@ var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef)
534
478
  adjustVerticalDirection: adjustVerticalDirection
535
479
  };
536
480
  };
537
-
538
481
  exports.usePosition = usePosition;
@@ -3,27 +3,22 @@
3
3
  exports.__esModule = true;
4
4
  var _exportNames = {};
5
5
  exports.default = void 0;
6
-
7
6
  var _mobileUtils = require("@arco-design/mobile-utils");
8
-
9
7
  var _menu = require("./menu");
10
-
11
8
  var _popover = require("./popover");
12
-
13
9
  var _type = require("./type");
14
-
15
10
  Object.keys(_type).forEach(function (key) {
16
11
  if (key === "default" || key === "__esModule") return;
17
12
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
13
  if (key in exports && exports[key] === _type[key]) return;
19
14
  exports[key] = _type[key];
20
15
  });
21
-
22
16
  /**
23
17
  * 气泡菜单
24
18
  * @en Bubble menu
25
19
  */
26
20
  var Menu = (0, _menu.componentGenerator)(_popover.Popover);
21
+
27
22
  /**
28
23
  * 气泡卡片,支持六个方向,小箭头在各个方向均基于挂载的子元素居中放置,支持受控和非受控模式。
29
24
  * @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.
@@ -32,9 +27,7 @@ var Menu = (0, _menu.componentGenerator)(_popover.Popover);
32
27
  * @type 信息展示
33
28
  * @type_en Data Display
34
29
  */
35
-
36
30
  var _default = (0, _mobileUtils.componentWrapper)(_popover.Popover, {
37
31
  Menu: Menu
38
32
  });
39
-
40
33
  exports.default = _default;