@arco-design/mobile-react 2.25.4 → 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 (807) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/_helpers/hooks.js +124 -43
  5. package/cjs/_helpers/index.js +13 -2
  6. package/cjs/_helpers/react-dom.js +12 -0
  7. package/cjs/_helpers/render.js +12 -0
  8. package/cjs/action-sheet/index.d.ts +2 -2
  9. package/cjs/action-sheet/index.js +30 -10
  10. package/cjs/action-sheet/methods.js +2 -0
  11. package/cjs/action-sheet/style/css/index.js +2 -0
  12. package/cjs/action-sheet/style/index.js +2 -0
  13. package/cjs/avatar/group.js +24 -12
  14. package/cjs/avatar/index.js +77 -51
  15. package/cjs/avatar/style/css/index.js +2 -0
  16. package/cjs/avatar/style/index.js +2 -0
  17. package/cjs/badge/index.js +29 -18
  18. package/cjs/badge/style/css/index.js +1 -0
  19. package/cjs/badge/style/index.js +1 -0
  20. package/cjs/button/hooks.js +20 -15
  21. package/cjs/button/index.js +67 -46
  22. package/cjs/button/style/css/index.js +2 -0
  23. package/cjs/button/style/index.js +2 -0
  24. package/cjs/carousel/index.d.ts +6 -0
  25. package/cjs/carousel/index.js +342 -184
  26. package/cjs/carousel/style/css/index.css +50 -15
  27. package/cjs/carousel/style/css/index.js +1 -0
  28. package/cjs/carousel/style/index.js +1 -0
  29. package/cjs/carousel/style/index.less +19 -14
  30. package/cjs/cell/arrow.js +3 -0
  31. package/cjs/cell/cell.js +23 -14
  32. package/cjs/cell/demo/style/css/mobile.css +8 -0
  33. package/cjs/cell/demo/style/mobile.less +2 -2
  34. package/cjs/cell/group.js +21 -9
  35. package/cjs/cell/index.js +7 -1
  36. package/cjs/cell/style/css/index.css +16 -0
  37. package/cjs/cell/style/css/index.js +1 -0
  38. package/cjs/cell/style/index.js +1 -0
  39. package/cjs/cell/style/index.less +6 -4
  40. package/cjs/checkbox/checkbox.js +57 -31
  41. package/cjs/checkbox/group.js +38 -24
  42. package/cjs/checkbox/hooks/index.js +2 -0
  43. package/cjs/checkbox/hooks/useMergeProps.js +14 -7
  44. package/cjs/checkbox/index.js +8 -1
  45. package/cjs/checkbox/style/css/index.js +1 -0
  46. package/cjs/checkbox/style/index.js +1 -0
  47. package/cjs/checkbox/type.js +2 -0
  48. package/cjs/circle-progress/index.js +57 -37
  49. package/cjs/circle-progress/style/css/index.js +1 -0
  50. package/cjs/circle-progress/style/index.js +1 -0
  51. package/cjs/collapse/collapse.js +56 -27
  52. package/cjs/collapse/group.js +44 -20
  53. package/cjs/collapse/index.js +9 -0
  54. package/cjs/collapse/style/css/index.js +1 -0
  55. package/cjs/collapse/style/index.js +1 -0
  56. package/cjs/collapse/utils.js +7 -0
  57. package/cjs/context-provider/index.d.ts +6 -0
  58. package/cjs/context-provider/index.js +30 -11
  59. package/cjs/context-provider/style/css/index.js +1 -0
  60. package/cjs/context-provider/style/index.js +1 -0
  61. package/cjs/count-down/hooks.js +43 -24
  62. package/cjs/count-down/index.js +37 -29
  63. package/cjs/count-down/singleton.js +12 -2
  64. package/cjs/count-down/style/css/index.js +1 -0
  65. package/cjs/count-down/style/index.js +1 -0
  66. package/cjs/count-down/util.js +47 -33
  67. package/cjs/date-picker/helper.js +14 -7
  68. package/cjs/date-picker/index.js +106 -42
  69. package/cjs/date-picker/style/css/index.js +2 -0
  70. package/cjs/date-picker/style/index.js +2 -0
  71. package/cjs/dialog/index.d.ts +2 -2
  72. package/cjs/dialog/index.js +54 -28
  73. package/cjs/dialog/methods.js +22 -9
  74. package/cjs/dialog/style/css/index.js +2 -0
  75. package/cjs/dialog/style/index.js +2 -0
  76. package/cjs/divider/demo/style/css/mobile.css +7 -0
  77. package/cjs/divider/demo/style/mobile.less +12 -0
  78. package/cjs/divider/index.d.ts +49 -0
  79. package/cjs/divider/index.js +65 -0
  80. package/cjs/divider/style/css/index.css +69 -0
  81. package/cjs/divider/style/css/index.d.ts +2 -0
  82. package/cjs/divider/style/css/index.js +5 -0
  83. package/cjs/divider/style/index.d.ts +2 -0
  84. package/cjs/divider/style/index.js +5 -0
  85. package/cjs/divider/style/index.less +66 -0
  86. package/cjs/dropdown/dropdown.js +113 -74
  87. package/cjs/dropdown/index.js +8 -1
  88. package/cjs/dropdown/options.js +28 -12
  89. package/cjs/dropdown/style/css/index.js +1 -0
  90. package/cjs/dropdown/style/index.js +1 -0
  91. package/cjs/dropdown-menu/dropdown-menu.js +84 -49
  92. package/cjs/dropdown-menu/helper.js +27 -6
  93. package/cjs/dropdown-menu/index.js +6 -0
  94. package/cjs/dropdown-menu/style/css/index.js +2 -0
  95. package/cjs/dropdown-menu/style/index.js +2 -0
  96. package/cjs/ellipsis/components/js-ellipsis.js +72 -33
  97. package/cjs/ellipsis/components/native-ellipsis.js +15 -9
  98. package/cjs/ellipsis/index.js +32 -19
  99. package/cjs/ellipsis/style/css/index.js +1 -0
  100. package/cjs/ellipsis/style/index.js +1 -0
  101. package/cjs/ellipsis/utils/dom.js +8 -0
  102. package/cjs/ellipsis/utils/is.js +5 -1
  103. package/cjs/form/form-item-context.js +5 -0
  104. package/cjs/form/form-item.js +124 -42
  105. package/cjs/form/index.js +35 -17
  106. package/cjs/form/style/css/index.js +1 -0
  107. package/cjs/form/style/index.js +1 -0
  108. package/cjs/form/type.js +3 -0
  109. package/cjs/form/useForm.js +76 -18
  110. package/cjs/form/utils.js +10 -3
  111. package/cjs/grid/index.js +41 -21
  112. package/cjs/grid/style/css/index.js +1 -0
  113. package/cjs/grid/style/index.js +1 -0
  114. package/cjs/icon/IconAdd/index.js +12 -5
  115. package/cjs/icon/IconArrowBack/index.js +12 -5
  116. package/cjs/icon/IconArrowDown/index.js +12 -5
  117. package/cjs/icon/IconArrowIn/index.js +12 -5
  118. package/cjs/icon/IconArrowUp/index.js +12 -5
  119. package/cjs/icon/IconCheck/index.js +12 -5
  120. package/cjs/icon/IconCheckBold/index.js +12 -5
  121. package/cjs/icon/IconCircleChecked/index.js +12 -5
  122. package/cjs/icon/IconCircleDisabled/index.js +12 -5
  123. package/cjs/icon/IconCircleUnchecked/index.js +12 -5
  124. package/cjs/icon/IconClear/index.js +12 -5
  125. package/cjs/icon/IconClose/index.js +12 -5
  126. package/cjs/icon/IconCloseBold/index.js +12 -5
  127. package/cjs/icon/IconDelete/index.js +12 -5
  128. package/cjs/icon/IconEdit/index.js +12 -5
  129. package/cjs/icon/IconErrorCircle/index.js +12 -5
  130. package/cjs/icon/IconEyeInvisible/index.js +12 -5
  131. package/cjs/icon/IconEyeVisible/index.js +12 -5
  132. package/cjs/icon/IconEyelashInvisible/index.js +12 -5
  133. package/cjs/icon/IconGift/index.js +12 -5
  134. package/cjs/icon/IconHeart/index.js +12 -5
  135. package/cjs/icon/IconHome/index.js +12 -5
  136. package/cjs/icon/IconLikeCircle/index.js +12 -5
  137. package/cjs/icon/IconMinus/index.js +12 -5
  138. package/cjs/icon/IconMore/index.js +12 -5
  139. package/cjs/icon/IconNotice/index.js +12 -5
  140. package/cjs/icon/IconNoticeOff/index.js +12 -5
  141. package/cjs/icon/IconPicture/index.js +12 -5
  142. package/cjs/icon/IconPlay/index.js +12 -5
  143. package/cjs/icon/IconQuestionCircle/index.js +12 -5
  144. package/cjs/icon/IconRefresh/index.js +12 -5
  145. package/cjs/icon/IconSad/index.js +12 -5
  146. package/cjs/icon/IconScan/index.js +12 -5
  147. package/cjs/icon/IconSearch/index.js +12 -5
  148. package/cjs/icon/IconSetting/index.js +12 -5
  149. package/cjs/icon/IconShop/index.js +12 -5
  150. package/cjs/icon/IconShopping/index.js +12 -5
  151. package/cjs/icon/IconSmileFill/index.js +12 -5
  152. package/cjs/icon/IconSound/index.js +12 -5
  153. package/cjs/icon/IconSquareChecked/index.js +12 -5
  154. package/cjs/icon/IconSquareDisabled/index.js +12 -5
  155. package/cjs/icon/IconSquareUnchecked/index.js +12 -5
  156. package/cjs/icon/IconStar/index.js +12 -5
  157. package/cjs/icon/IconStarFill/index.js +12 -5
  158. package/cjs/icon/IconStarHalf/index.js +12 -5
  159. package/cjs/icon/IconSubway/index.js +12 -5
  160. package/cjs/icon/IconSuccessCircle/index.js +12 -5
  161. package/cjs/icon/IconTriDown/index.js +12 -5
  162. package/cjs/icon/IconTriUp/index.js +12 -5
  163. package/cjs/icon/IconUpload/index.js +12 -5
  164. package/cjs/icon/IconUser/index.js +12 -5
  165. package/cjs/icon/IconUserFill/index.js +12 -5
  166. package/cjs/icon/IconWarnCircle/index.js +12 -5
  167. package/cjs/icon/IconWarnCircleFill/index.js +12 -5
  168. package/cjs/icon/index.js +111 -0
  169. package/cjs/image/index.js +92 -56
  170. package/cjs/image/style/css/index.css +1 -0
  171. package/cjs/image/style/css/index.js +2 -0
  172. package/cjs/image/style/index.js +2 -0
  173. package/cjs/image/style/index.less +1 -0
  174. package/cjs/image-picker/add-icon.js +3 -0
  175. package/cjs/image-picker/index.js +96 -52
  176. package/cjs/image-picker/style/css/index.js +2 -0
  177. package/cjs/image-picker/style/index.js +2 -0
  178. package/cjs/image-preview/index.d.ts +2 -2
  179. package/cjs/image-preview/index.js +239 -119
  180. package/cjs/image-preview/methods.js +18 -5
  181. package/cjs/image-preview/style/css/index.js +4 -0
  182. package/cjs/image-preview/style/index.js +4 -0
  183. package/cjs/index.d.ts +10 -9
  184. package/cjs/index.js +132 -19
  185. package/cjs/input/demo/style/css/mobile.css +5 -1
  186. package/cjs/input/demo/style/mobile.less +2 -2
  187. package/cjs/input/hooks.js +104 -42
  188. package/cjs/input/index.js +40 -26
  189. package/cjs/input/props.d.ts +6 -0
  190. package/cjs/input/style/css/index.css +9 -0
  191. package/cjs/input/style/css/index.js +1 -0
  192. package/cjs/input/style/index.js +1 -0
  193. package/cjs/input/style/index.less +2 -2
  194. package/cjs/load-more/index.js +56 -29
  195. package/cjs/load-more/style/css/index.js +1 -0
  196. package/cjs/load-more/style/index.js +1 -0
  197. package/cjs/loading/index.js +48 -19
  198. package/cjs/loading/style/css/index.js +1 -0
  199. package/cjs/loading/style/index.js +1 -0
  200. package/cjs/masking/index.d.ts +2 -2
  201. package/cjs/masking/index.js +79 -46
  202. package/cjs/masking/methods.js +19 -4
  203. package/cjs/masking/style/css/index.js +2 -0
  204. package/cjs/masking/style/index.js +2 -0
  205. package/cjs/nav-bar/back-icon.js +5 -1
  206. package/cjs/nav-bar/index.js +61 -37
  207. package/cjs/nav-bar/style/css/index.js +1 -0
  208. package/cjs/nav-bar/style/index.js +1 -0
  209. package/cjs/notice-bar/index.js +61 -33
  210. package/cjs/notice-bar/style/css/index.css +33 -0
  211. package/cjs/notice-bar/style/css/index.js +1 -0
  212. package/cjs/notice-bar/style/index.js +1 -0
  213. package/cjs/notice-bar/style/index.less +16 -3
  214. package/cjs/notify/index.d.ts +8 -8
  215. package/cjs/notify/index.js +49 -20
  216. package/cjs/notify/methods.js +17 -2
  217. package/cjs/notify/style/css/index.js +1 -0
  218. package/cjs/notify/style/index.js +1 -0
  219. package/cjs/pagination/arrow.js +3 -0
  220. package/cjs/pagination/index.js +58 -27
  221. package/cjs/pagination/style/css/index.js +1 -0
  222. package/cjs/pagination/style/index.js +1 -0
  223. package/cjs/picker/index.js +81 -40
  224. package/cjs/picker/style/css/index.js +3 -0
  225. package/cjs/picker/style/index.js +3 -0
  226. package/cjs/picker-view/components/cascader.js +31 -14
  227. package/cjs/picker-view/components/multi-picker.js +20 -6
  228. package/cjs/picker-view/components/picker-cell.js +97 -45
  229. package/cjs/picker-view/index.js +71 -25
  230. package/cjs/picker-view/style/css/index.js +1 -0
  231. package/cjs/picker-view/style/index.js +1 -0
  232. package/cjs/popover/hooks/index.js +4 -0
  233. package/cjs/popover/hooks/useEvent.js +49 -25
  234. package/cjs/popover/hooks/usePosition.js +151 -94
  235. package/cjs/popover/index.js +8 -1
  236. package/cjs/popover/menu.js +51 -32
  237. package/cjs/popover/popover-inner.js +47 -30
  238. package/cjs/popover/popover.js +101 -69
  239. package/cjs/popover/style/css/index.js +2 -0
  240. package/cjs/popover/style/index.js +2 -0
  241. package/cjs/popup/index.d.ts +2 -2
  242. package/cjs/popup/index.js +39 -22
  243. package/cjs/popup/methods.js +2 -0
  244. package/cjs/popup/style/css/index.js +2 -0
  245. package/cjs/popup/style/index.js +2 -0
  246. package/cjs/popup-swiper/index.d.ts +2 -2
  247. package/cjs/popup-swiper/index.js +80 -38
  248. package/cjs/popup-swiper/methods.js +2 -0
  249. package/cjs/popup-swiper/style/css/index.js +2 -0
  250. package/cjs/popup-swiper/style/index.js +2 -0
  251. package/cjs/portal/index.js +8 -3
  252. package/cjs/portal/style/css/index.js +1 -0
  253. package/cjs/portal/style/index.js +1 -0
  254. package/cjs/progress/index.js +44 -27
  255. package/cjs/progress/style/css/index.js +1 -0
  256. package/cjs/progress/style/index.js +1 -0
  257. package/cjs/pull-refresh/android-pull-refresh.js +100 -58
  258. package/cjs/pull-refresh/hooks.js +32 -11
  259. package/cjs/pull-refresh/index.js +14 -3
  260. package/cjs/pull-refresh/ios-pull-refresh.js +80 -53
  261. package/cjs/pull-refresh/model.js +1 -0
  262. package/cjs/pull-refresh/style/css/index.js +2 -0
  263. package/cjs/pull-refresh/style/index.js +2 -0
  264. package/cjs/radio/group.js +34 -20
  265. package/cjs/radio/index.js +8 -1
  266. package/cjs/radio/radio.js +10 -0
  267. package/cjs/radio/style/css/index.js +1 -0
  268. package/cjs/radio/style/index.js +1 -0
  269. package/cjs/rate/index.js +50 -24
  270. package/cjs/rate/style/css/index.js +1 -0
  271. package/cjs/rate/style/index.js +1 -0
  272. package/cjs/search-bar/association.js +32 -14
  273. package/cjs/search-bar/cancel-button.js +16 -8
  274. package/cjs/search-bar/highlight.js +25 -14
  275. package/cjs/search-bar/index.js +97 -77
  276. package/cjs/search-bar/style/css/index.js +1 -0
  277. package/cjs/search-bar/style/index.js +1 -0
  278. package/cjs/show-monitor/index.js +93 -34
  279. package/cjs/show-monitor/style/css/index.js +1 -0
  280. package/cjs/show-monitor/style/index.js +1 -0
  281. package/cjs/slider/hooks/index.js +13 -0
  282. package/cjs/slider/hooks/useSliderEvents.js +55 -26
  283. package/cjs/slider/hooks/useSliderIcon.js +20 -6
  284. package/cjs/slider/hooks/useSliderInit.js +52 -32
  285. package/cjs/slider/hooks/useSliderStyle.js +24 -12
  286. package/cjs/slider/index.js +72 -46
  287. package/cjs/slider/marks.js +26 -12
  288. package/cjs/slider/popover.js +13 -4
  289. package/cjs/slider/style/css/index.js +2 -0
  290. package/cjs/slider/style/index.js +2 -0
  291. package/cjs/slider/thumb.js +23 -8
  292. package/cjs/stepper/hooks/useButtonClick.js +28 -19
  293. package/cjs/stepper/hooks/useInputEvent.js +18 -9
  294. package/cjs/stepper/hooks/useValue.js +14 -9
  295. package/cjs/stepper/index.js +96 -82
  296. package/cjs/stepper/style/css/index.js +1 -0
  297. package/cjs/stepper/style/index.js +1 -0
  298. package/cjs/steps/index.js +40 -22
  299. package/cjs/steps/step.js +27 -10
  300. package/cjs/steps/style/css/index.js +1 -0
  301. package/cjs/steps/style/index.js +1 -0
  302. package/cjs/sticky/index.js +65 -36
  303. package/cjs/sticky/style/css/index.js +1 -0
  304. package/cjs/sticky/style/index.js +1 -0
  305. package/cjs/style.d.ts +9 -8
  306. package/cjs/style.js +64 -8
  307. package/cjs/swipe-action/index.js +92 -40
  308. package/cjs/swipe-action/item.js +17 -9
  309. package/cjs/swipe-action/style/css/index.js +1 -0
  310. package/cjs/swipe-action/style/index.js +1 -0
  311. package/cjs/swipe-load/index.js +83 -55
  312. package/cjs/swipe-load/style/css/index.js +1 -0
  313. package/cjs/swipe-load/style/index.js +1 -0
  314. package/cjs/switch/index.js +47 -27
  315. package/cjs/switch/style/css/index.js +1 -0
  316. package/cjs/switch/style/index.js +1 -0
  317. package/cjs/tab-bar/index.js +7 -0
  318. package/cjs/tab-bar/item.js +24 -6
  319. package/cjs/tab-bar/style/css/index.js +1 -0
  320. package/cjs/tab-bar/style/index.js +1 -0
  321. package/cjs/tab-bar/tab-bar.js +31 -15
  322. package/cjs/tabs/index.js +195 -129
  323. package/cjs/tabs/style/css/index.js +1 -0
  324. package/cjs/tabs/style/index.js +1 -0
  325. package/cjs/tabs/tab-cell-underline.js +111 -38
  326. package/cjs/tabs/tab-cell.js +124 -70
  327. package/cjs/tabs/tab-pane.js +94 -49
  328. package/cjs/tabs/type.d.ts +18 -2
  329. package/cjs/tag/index.js +8 -1
  330. package/cjs/tag/list.js +26 -11
  331. package/cjs/tag/style/css/index.js +1 -0
  332. package/cjs/tag/style/index.js +1 -0
  333. package/cjs/tag/tag.js +32 -20
  334. package/cjs/textarea/index.js +56 -35
  335. package/cjs/textarea/style/css/index.js +2 -0
  336. package/cjs/textarea/style/index.js +2 -0
  337. package/cjs/toast/index.d.ts +12 -12
  338. package/cjs/toast/index.js +61 -26
  339. package/cjs/toast/methods.js +16 -2
  340. package/cjs/toast/style/css/index.js +3 -0
  341. package/cjs/toast/style/index.js +3 -0
  342. package/cjs/transition/index.js +18 -10
  343. package/cjs/transition/style/css/index.js +1 -0
  344. package/cjs/transition/style/index.js +1 -0
  345. package/dist/index.js +21588 -19198
  346. package/dist/index.min.js +4 -4
  347. package/dist/style.css +3637 -3501
  348. package/dist/style.min.css +1 -1
  349. package/esm/_helpers/hooks.js +103 -42
  350. package/esm/_helpers/index.js +3 -2
  351. package/esm/_helpers/react-dom.js +10 -0
  352. package/esm/_helpers/render.js +7 -0
  353. package/esm/action-sheet/index.d.ts +2 -2
  354. package/esm/action-sheet/index.js +16 -10
  355. package/esm/avatar/group.js +16 -12
  356. package/esm/avatar/index.js +62 -51
  357. package/esm/badge/index.js +22 -18
  358. package/esm/button/hooks.js +18 -15
  359. package/esm/button/index.js +57 -46
  360. package/esm/carousel/index.d.ts +6 -0
  361. package/esm/carousel/index.js +336 -186
  362. package/esm/carousel/style/css/index.css +50 -15
  363. package/esm/carousel/style/index.less +19 -14
  364. package/esm/cell/cell.js +14 -14
  365. package/esm/cell/demo/style/css/mobile.css +8 -0
  366. package/esm/cell/demo/style/mobile.less +2 -2
  367. package/esm/cell/group.js +11 -9
  368. package/esm/cell/index.js +1 -1
  369. package/esm/cell/style/css/index.css +16 -0
  370. package/esm/cell/style/index.less +6 -4
  371. package/esm/checkbox/checkbox.js +42 -31
  372. package/esm/checkbox/group.js +28 -24
  373. package/esm/checkbox/hooks/useMergeProps.js +9 -7
  374. package/esm/checkbox/index.js +2 -2
  375. package/esm/checkbox/type.js +1 -0
  376. package/esm/circle-progress/index.js +49 -37
  377. package/esm/collapse/collapse.js +46 -27
  378. package/esm/collapse/group.js +34 -20
  379. package/esm/collapse/index.js +1 -1
  380. package/esm/collapse/utils.js +1 -0
  381. package/esm/context-provider/index.d.ts +6 -0
  382. package/esm/context-provider/index.js +20 -11
  383. package/esm/count-down/hooks.js +37 -24
  384. package/esm/count-down/index.js +29 -30
  385. package/esm/count-down/singleton.js +5 -2
  386. package/esm/count-down/util.js +42 -33
  387. package/esm/date-picker/helper.js +9 -7
  388. package/esm/date-picker/index.js +93 -42
  389. package/esm/dialog/index.d.ts +2 -2
  390. package/esm/dialog/index.js +39 -28
  391. package/esm/dialog/methods.js +11 -9
  392. package/esm/divider/demo/style/css/mobile.css +7 -0
  393. package/esm/divider/demo/style/mobile.less +12 -0
  394. package/esm/divider/index.d.ts +49 -0
  395. package/esm/divider/index.js +49 -0
  396. package/esm/divider/style/css/index.css +69 -0
  397. package/esm/divider/style/css/index.d.ts +2 -0
  398. package/esm/divider/style/css/index.js +2 -0
  399. package/esm/divider/style/index.d.ts +2 -0
  400. package/esm/divider/style/index.js +2 -0
  401. package/esm/divider/style/index.less +66 -0
  402. package/esm/dropdown/dropdown.js +102 -74
  403. package/esm/dropdown/index.js +1 -1
  404. package/esm/dropdown/options.js +20 -12
  405. package/esm/dropdown-menu/dropdown-menu.js +74 -49
  406. package/esm/dropdown-menu/helper.js +16 -6
  407. package/esm/dropdown-menu/index.js +1 -1
  408. package/esm/ellipsis/components/js-ellipsis.js +63 -33
  409. package/esm/ellipsis/components/native-ellipsis.js +11 -9
  410. package/esm/ellipsis/index.js +21 -20
  411. package/esm/ellipsis/utils/dom.js +7 -0
  412. package/esm/ellipsis/utils/is.js +1 -1
  413. package/esm/form/form-item.js +110 -42
  414. package/esm/form/index.js +20 -17
  415. package/esm/form/type.js +3 -0
  416. package/esm/form/useForm.js +71 -17
  417. package/esm/form/utils.js +6 -3
  418. package/esm/grid/index.js +34 -21
  419. package/esm/icon/IconAdd/index.js +6 -5
  420. package/esm/icon/IconArrowBack/index.js +6 -5
  421. package/esm/icon/IconArrowDown/index.js +6 -5
  422. package/esm/icon/IconArrowIn/index.js +6 -5
  423. package/esm/icon/IconArrowUp/index.js +6 -5
  424. package/esm/icon/IconCheck/index.js +6 -5
  425. package/esm/icon/IconCheckBold/index.js +6 -5
  426. package/esm/icon/IconCircleChecked/index.js +6 -5
  427. package/esm/icon/IconCircleDisabled/index.js +6 -5
  428. package/esm/icon/IconCircleUnchecked/index.js +6 -5
  429. package/esm/icon/IconClear/index.js +6 -5
  430. package/esm/icon/IconClose/index.js +6 -5
  431. package/esm/icon/IconCloseBold/index.js +6 -5
  432. package/esm/icon/IconDelete/index.js +6 -5
  433. package/esm/icon/IconEdit/index.js +6 -5
  434. package/esm/icon/IconErrorCircle/index.js +6 -5
  435. package/esm/icon/IconEyeInvisible/index.js +6 -5
  436. package/esm/icon/IconEyeVisible/index.js +6 -5
  437. package/esm/icon/IconEyelashInvisible/index.js +6 -5
  438. package/esm/icon/IconGift/index.js +6 -5
  439. package/esm/icon/IconHeart/index.js +6 -5
  440. package/esm/icon/IconHome/index.js +6 -5
  441. package/esm/icon/IconLikeCircle/index.js +6 -5
  442. package/esm/icon/IconMinus/index.js +6 -5
  443. package/esm/icon/IconMore/index.js +6 -5
  444. package/esm/icon/IconNotice/index.js +6 -5
  445. package/esm/icon/IconNoticeOff/index.js +6 -5
  446. package/esm/icon/IconPicture/index.js +6 -5
  447. package/esm/icon/IconPlay/index.js +6 -5
  448. package/esm/icon/IconQuestionCircle/index.js +6 -5
  449. package/esm/icon/IconRefresh/index.js +6 -5
  450. package/esm/icon/IconSad/index.js +6 -5
  451. package/esm/icon/IconScan/index.js +6 -5
  452. package/esm/icon/IconSearch/index.js +6 -5
  453. package/esm/icon/IconSetting/index.js +6 -5
  454. package/esm/icon/IconShop/index.js +6 -5
  455. package/esm/icon/IconShopping/index.js +6 -5
  456. package/esm/icon/IconSmileFill/index.js +6 -5
  457. package/esm/icon/IconSound/index.js +6 -5
  458. package/esm/icon/IconSquareChecked/index.js +6 -5
  459. package/esm/icon/IconSquareDisabled/index.js +6 -5
  460. package/esm/icon/IconSquareUnchecked/index.js +6 -5
  461. package/esm/icon/IconStar/index.js +6 -5
  462. package/esm/icon/IconStarFill/index.js +6 -5
  463. package/esm/icon/IconStarHalf/index.js +6 -5
  464. package/esm/icon/IconSubway/index.js +6 -5
  465. package/esm/icon/IconSuccessCircle/index.js +6 -5
  466. package/esm/icon/IconTriDown/index.js +6 -5
  467. package/esm/icon/IconTriUp/index.js +6 -5
  468. package/esm/icon/IconUpload/index.js +6 -5
  469. package/esm/icon/IconUser/index.js +6 -5
  470. package/esm/icon/IconUserFill/index.js +6 -5
  471. package/esm/icon/IconWarnCircle/index.js +6 -5
  472. package/esm/icon/IconWarnCircleFill/index.js +6 -5
  473. package/esm/image/index.js +84 -57
  474. package/esm/image/style/css/index.css +1 -0
  475. package/esm/image/style/index.less +1 -0
  476. package/esm/image-picker/index.js +80 -52
  477. package/esm/image-preview/index.d.ts +2 -2
  478. package/esm/image-preview/index.js +217 -119
  479. package/esm/image-preview/methods.js +14 -4
  480. package/esm/index.d.ts +10 -9
  481. package/esm/index.js +10 -9
  482. package/esm/input/demo/style/css/mobile.css +5 -1
  483. package/esm/input/demo/style/mobile.less +2 -2
  484. package/esm/input/hooks.js +96 -42
  485. package/esm/input/index.js +30 -26
  486. package/esm/input/props.d.ts +6 -0
  487. package/esm/input/style/css/index.css +9 -0
  488. package/esm/input/style/index.less +2 -2
  489. package/esm/load-more/index.js +48 -29
  490. package/esm/loading/index.js +40 -19
  491. package/esm/masking/index.d.ts +2 -2
  492. package/esm/masking/index.js +64 -46
  493. package/esm/masking/methods.js +15 -4
  494. package/esm/nav-bar/back-icon.js +3 -1
  495. package/esm/nav-bar/index.js +52 -37
  496. package/esm/notice-bar/index.js +56 -35
  497. package/esm/notice-bar/style/css/index.css +33 -0
  498. package/esm/notice-bar/style/index.less +16 -3
  499. package/esm/notify/index.d.ts +8 -8
  500. package/esm/notify/index.js +33 -20
  501. package/esm/notify/methods.js +13 -2
  502. package/esm/pagination/index.js +50 -27
  503. package/esm/picker/index.js +66 -40
  504. package/esm/picker-view/components/cascader.js +23 -14
  505. package/esm/picker-view/components/multi-picker.js +16 -6
  506. package/esm/picker-view/components/picker-cell.js +89 -45
  507. package/esm/picker-view/index.js +54 -25
  508. package/esm/popover/hooks/useEvent.js +41 -26
  509. package/esm/popover/hooks/usePosition.js +144 -94
  510. package/esm/popover/index.js +2 -2
  511. package/esm/popover/menu.js +41 -32
  512. package/esm/popover/popover-inner.js +38 -30
  513. package/esm/popover/popover.js +90 -69
  514. package/esm/popup/index.d.ts +2 -2
  515. package/esm/popup/index.js +25 -22
  516. package/esm/popup-swiper/index.d.ts +2 -2
  517. package/esm/popup-swiper/index.js +64 -38
  518. package/esm/portal/index.js +5 -3
  519. package/esm/progress/index.js +36 -27
  520. package/esm/pull-refresh/android-pull-refresh.js +90 -58
  521. package/esm/pull-refresh/hooks.js +23 -11
  522. package/esm/pull-refresh/index.js +5 -3
  523. package/esm/pull-refresh/ios-pull-refresh.js +68 -53
  524. package/esm/pull-refresh/model.js +1 -0
  525. package/esm/radio/group.js +24 -20
  526. package/esm/radio/index.js +2 -2
  527. package/esm/rate/index.js +39 -24
  528. package/esm/search-bar/association.js +27 -14
  529. package/esm/search-bar/cancel-button.js +11 -8
  530. package/esm/search-bar/highlight.js +20 -14
  531. package/esm/search-bar/index.js +86 -77
  532. package/esm/show-monitor/index.js +85 -34
  533. package/esm/slider/hooks/useSliderEvents.js +51 -26
  534. package/esm/slider/hooks/useSliderIcon.js +13 -6
  535. package/esm/slider/hooks/useSliderInit.js +46 -32
  536. package/esm/slider/hooks/useSliderStyle.js +20 -12
  537. package/esm/slider/index.js +62 -46
  538. package/esm/slider/marks.js +18 -12
  539. package/esm/slider/popover.js +6 -4
  540. package/esm/slider/thumb.js +15 -8
  541. package/esm/stepper/hooks/useButtonClick.js +27 -19
  542. package/esm/stepper/hooks/useInputEvent.js +16 -9
  543. package/esm/stepper/hooks/useValue.js +12 -9
  544. package/esm/stepper/index.js +82 -82
  545. package/esm/steps/index.js +27 -22
  546. package/esm/steps/step.js +19 -10
  547. package/esm/sticky/index.js +56 -36
  548. package/esm/style.d.ts +9 -8
  549. package/esm/style.js +9 -8
  550. package/esm/swipe-action/index.js +80 -40
  551. package/esm/swipe-action/item.js +12 -9
  552. package/esm/swipe-load/index.js +75 -56
  553. package/esm/switch/index.js +39 -27
  554. package/esm/tab-bar/index.js +1 -0
  555. package/esm/tab-bar/item.js +13 -6
  556. package/esm/tab-bar/tab-bar.js +21 -15
  557. package/esm/tabs/index.js +183 -130
  558. package/esm/tabs/tab-cell-underline.js +103 -38
  559. package/esm/tabs/tab-cell.js +114 -70
  560. package/esm/tabs/tab-pane.js +85 -49
  561. package/esm/tabs/type.d.ts +18 -2
  562. package/esm/tag/index.js +2 -2
  563. package/esm/tag/list.js +16 -11
  564. package/esm/tag/tag.js +22 -20
  565. package/esm/textarea/index.js +46 -35
  566. package/esm/toast/index.d.ts +12 -12
  567. package/esm/toast/index.js +42 -26
  568. package/esm/toast/methods.js +12 -2
  569. package/esm/transition/index.js +12 -10
  570. package/package.json +3 -3
  571. package/tokens/app/arcodesign/default/css-variables.less +8 -0
  572. package/tokens/app/arcodesign/default/index.d.ts +8 -0
  573. package/tokens/app/arcodesign/default/index.js +11 -1
  574. package/tokens/app/arcodesign/default/index.json +94 -0
  575. package/tokens/app/arcodesign/default/index.less +8 -0
  576. package/tokens/mixin/index.less +19 -1
  577. package/umd/_helpers/hooks.js +121 -43
  578. package/umd/_helpers/index.js +6 -2
  579. package/umd/_helpers/react-dom.js +11 -0
  580. package/umd/_helpers/render.js +9 -0
  581. package/umd/action-sheet/index.d.ts +2 -2
  582. package/umd/action-sheet/index.js +22 -10
  583. package/umd/action-sheet/methods.js +1 -0
  584. package/umd/avatar/group.js +20 -12
  585. package/umd/avatar/index.js +68 -51
  586. package/umd/badge/index.js +25 -18
  587. package/umd/button/hooks.js +19 -15
  588. package/umd/button/index.js +60 -46
  589. package/umd/carousel/index.d.ts +6 -0
  590. package/umd/carousel/index.js +337 -184
  591. package/umd/carousel/style/css/index.css +50 -15
  592. package/umd/carousel/style/index.less +19 -14
  593. package/umd/cell/arrow.js +2 -0
  594. package/umd/cell/cell.js +18 -14
  595. package/umd/cell/demo/style/css/mobile.css +8 -0
  596. package/umd/cell/demo/style/mobile.less +2 -2
  597. package/umd/cell/group.js +17 -9
  598. package/umd/cell/index.js +2 -1
  599. package/umd/cell/style/css/index.css +16 -0
  600. package/umd/cell/style/index.less +6 -4
  601. package/umd/checkbox/checkbox.js +45 -31
  602. package/umd/checkbox/group.js +34 -24
  603. package/umd/checkbox/hooks/useMergeProps.js +12 -7
  604. package/umd/checkbox/index.js +3 -1
  605. package/umd/checkbox/type.js +2 -0
  606. package/umd/circle-progress/index.js +52 -37
  607. package/umd/collapse/collapse.js +50 -27
  608. package/umd/collapse/group.js +38 -20
  609. package/umd/collapse/index.js +3 -0
  610. package/umd/collapse/utils.js +5 -0
  611. package/umd/context-provider/index.d.ts +6 -0
  612. package/umd/context-provider/index.js +25 -11
  613. package/umd/count-down/hooks.js +39 -24
  614. package/umd/count-down/index.js +31 -29
  615. package/umd/count-down/singleton.js +10 -2
  616. package/umd/count-down/util.js +47 -33
  617. package/umd/date-picker/helper.js +13 -7
  618. package/umd/date-picker/index.js +97 -42
  619. package/umd/dialog/index.d.ts +2 -2
  620. package/umd/dialog/index.js +44 -28
  621. package/umd/dialog/methods.js +18 -9
  622. package/umd/divider/demo/style/css/mobile.css +7 -0
  623. package/umd/divider/demo/style/mobile.less +12 -0
  624. package/umd/divider/index.d.ts +49 -0
  625. package/umd/divider/index.js +71 -0
  626. package/umd/divider/style/css/index.css +69 -0
  627. package/umd/divider/style/css/index.d.ts +2 -0
  628. package/umd/divider/style/css/index.js +15 -0
  629. package/umd/divider/style/index.d.ts +2 -0
  630. package/umd/divider/style/index.js +15 -0
  631. package/umd/divider/style/index.less +66 -0
  632. package/umd/dropdown/dropdown.js +106 -74
  633. package/umd/dropdown/index.js +3 -1
  634. package/umd/dropdown/options.js +24 -12
  635. package/umd/dropdown-menu/dropdown-menu.js +78 -49
  636. package/umd/dropdown-menu/helper.js +25 -6
  637. package/umd/dropdown-menu/index.js +2 -0
  638. package/umd/ellipsis/components/js-ellipsis.js +69 -33
  639. package/umd/ellipsis/components/native-ellipsis.js +13 -9
  640. package/umd/ellipsis/index.js +24 -19
  641. package/umd/ellipsis/utils/dom.js +8 -0
  642. package/umd/ellipsis/utils/is.js +5 -1
  643. package/umd/form/form-item-context.js +3 -0
  644. package/umd/form/form-item.js +114 -42
  645. package/umd/form/index.js +25 -17
  646. package/umd/form/type.js +3 -0
  647. package/umd/form/useForm.js +72 -18
  648. package/umd/form/utils.js +10 -3
  649. package/umd/grid/index.js +37 -21
  650. package/umd/icon/IconAdd/index.js +7 -5
  651. package/umd/icon/IconArrowBack/index.js +7 -5
  652. package/umd/icon/IconArrowDown/index.js +7 -5
  653. package/umd/icon/IconArrowIn/index.js +7 -5
  654. package/umd/icon/IconArrowUp/index.js +7 -5
  655. package/umd/icon/IconCheck/index.js +7 -5
  656. package/umd/icon/IconCheckBold/index.js +7 -5
  657. package/umd/icon/IconCircleChecked/index.js +7 -5
  658. package/umd/icon/IconCircleDisabled/index.js +7 -5
  659. package/umd/icon/IconCircleUnchecked/index.js +7 -5
  660. package/umd/icon/IconClear/index.js +7 -5
  661. package/umd/icon/IconClose/index.js +7 -5
  662. package/umd/icon/IconCloseBold/index.js +7 -5
  663. package/umd/icon/IconDelete/index.js +7 -5
  664. package/umd/icon/IconEdit/index.js +7 -5
  665. package/umd/icon/IconErrorCircle/index.js +7 -5
  666. package/umd/icon/IconEyeInvisible/index.js +7 -5
  667. package/umd/icon/IconEyeVisible/index.js +7 -5
  668. package/umd/icon/IconEyelashInvisible/index.js +7 -5
  669. package/umd/icon/IconGift/index.js +7 -5
  670. package/umd/icon/IconHeart/index.js +7 -5
  671. package/umd/icon/IconHome/index.js +7 -5
  672. package/umd/icon/IconLikeCircle/index.js +7 -5
  673. package/umd/icon/IconMinus/index.js +7 -5
  674. package/umd/icon/IconMore/index.js +7 -5
  675. package/umd/icon/IconNotice/index.js +7 -5
  676. package/umd/icon/IconNoticeOff/index.js +7 -5
  677. package/umd/icon/IconPicture/index.js +7 -5
  678. package/umd/icon/IconPlay/index.js +7 -5
  679. package/umd/icon/IconQuestionCircle/index.js +7 -5
  680. package/umd/icon/IconRefresh/index.js +7 -5
  681. package/umd/icon/IconSad/index.js +7 -5
  682. package/umd/icon/IconScan/index.js +7 -5
  683. package/umd/icon/IconSearch/index.js +7 -5
  684. package/umd/icon/IconSetting/index.js +7 -5
  685. package/umd/icon/IconShop/index.js +7 -5
  686. package/umd/icon/IconShopping/index.js +7 -5
  687. package/umd/icon/IconSmileFill/index.js +7 -5
  688. package/umd/icon/IconSound/index.js +7 -5
  689. package/umd/icon/IconSquareChecked/index.js +7 -5
  690. package/umd/icon/IconSquareDisabled/index.js +7 -5
  691. package/umd/icon/IconSquareUnchecked/index.js +7 -5
  692. package/umd/icon/IconStar/index.js +7 -5
  693. package/umd/icon/IconStarFill/index.js +7 -5
  694. package/umd/icon/IconStarHalf/index.js +7 -5
  695. package/umd/icon/IconSubway/index.js +7 -5
  696. package/umd/icon/IconSuccessCircle/index.js +7 -5
  697. package/umd/icon/IconTriDown/index.js +7 -5
  698. package/umd/icon/IconTriUp/index.js +7 -5
  699. package/umd/icon/IconUpload/index.js +7 -5
  700. package/umd/icon/IconUser/index.js +7 -5
  701. package/umd/icon/IconUserFill/index.js +7 -5
  702. package/umd/icon/IconWarnCircle/index.js +7 -5
  703. package/umd/icon/IconWarnCircleFill/index.js +7 -5
  704. package/umd/icon/index.js +1 -0
  705. package/umd/image/index.js +86 -56
  706. package/umd/image/style/css/index.css +1 -0
  707. package/umd/image/style/index.less +1 -0
  708. package/umd/image-picker/add-icon.js +2 -0
  709. package/umd/image-picker/index.js +85 -52
  710. package/umd/image-preview/index.d.ts +2 -2
  711. package/umd/image-preview/index.js +224 -119
  712. package/umd/image-preview/methods.js +15 -5
  713. package/umd/index.d.ts +10 -9
  714. package/umd/index.js +26 -23
  715. package/umd/input/demo/style/css/mobile.css +5 -1
  716. package/umd/input/demo/style/mobile.less +2 -2
  717. package/umd/input/hooks.js +100 -42
  718. package/umd/input/index.js +35 -26
  719. package/umd/input/props.d.ts +6 -0
  720. package/umd/input/style/css/index.css +9 -0
  721. package/umd/input/style/index.less +2 -2
  722. package/umd/load-more/index.js +51 -29
  723. package/umd/loading/index.js +43 -19
  724. package/umd/masking/index.d.ts +2 -2
  725. package/umd/masking/index.js +71 -46
  726. package/umd/masking/methods.js +16 -4
  727. package/umd/nav-bar/back-icon.js +4 -1
  728. package/umd/nav-bar/index.js +55 -37
  729. package/umd/notice-bar/index.js +57 -33
  730. package/umd/notice-bar/style/css/index.css +33 -0
  731. package/umd/notice-bar/style/index.less +16 -3
  732. package/umd/notify/index.d.ts +8 -8
  733. package/umd/notify/index.js +40 -20
  734. package/umd/notify/methods.js +14 -2
  735. package/umd/pagination/arrow.js +2 -0
  736. package/umd/pagination/index.js +53 -27
  737. package/umd/picker/index.js +70 -40
  738. package/umd/picker-view/components/cascader.js +27 -14
  739. package/umd/picker-view/components/multi-picker.js +19 -6
  740. package/umd/picker-view/components/picker-cell.js +93 -45
  741. package/umd/picker-view/index.js +58 -25
  742. package/umd/popover/hooks/useEvent.js +44 -25
  743. package/umd/popover/hooks/usePosition.js +145 -94
  744. package/umd/popover/index.js +3 -1
  745. package/umd/popover/menu.js +45 -32
  746. package/umd/popover/popover-inner.js +42 -30
  747. package/umd/popover/popover.js +94 -69
  748. package/umd/popup/index.d.ts +2 -2
  749. package/umd/popup/index.js +31 -22
  750. package/umd/popup/methods.js +1 -0
  751. package/umd/popup-swiper/index.d.ts +2 -2
  752. package/umd/popup-swiper/index.js +71 -38
  753. package/umd/popup-swiper/methods.js +1 -0
  754. package/umd/portal/index.js +6 -3
  755. package/umd/progress/index.js +39 -27
  756. package/umd/pull-refresh/android-pull-refresh.js +93 -58
  757. package/umd/pull-refresh/hooks.js +29 -11
  758. package/umd/pull-refresh/index.js +7 -3
  759. package/umd/pull-refresh/ios-pull-refresh.js +72 -53
  760. package/umd/pull-refresh/model.js +1 -0
  761. package/umd/radio/group.js +30 -20
  762. package/umd/radio/index.js +3 -1
  763. package/umd/radio/radio.js +5 -0
  764. package/umd/rate/index.js +44 -24
  765. package/umd/search-bar/association.js +29 -14
  766. package/umd/search-bar/cancel-button.js +14 -8
  767. package/umd/search-bar/highlight.js +21 -14
  768. package/umd/search-bar/index.js +87 -77
  769. package/umd/show-monitor/index.js +89 -34
  770. package/umd/slider/hooks/index.js +4 -0
  771. package/umd/slider/hooks/useSliderEvents.js +52 -26
  772. package/umd/slider/hooks/useSliderIcon.js +17 -6
  773. package/umd/slider/hooks/useSliderInit.js +50 -32
  774. package/umd/slider/hooks/useSliderStyle.js +22 -12
  775. package/umd/slider/index.js +65 -46
  776. package/umd/slider/marks.js +21 -12
  777. package/umd/slider/popover.js +10 -4
  778. package/umd/slider/thumb.js +18 -8
  779. package/umd/stepper/hooks/useButtonClick.js +27 -19
  780. package/umd/stepper/hooks/useInputEvent.js +17 -9
  781. package/umd/stepper/hooks/useValue.js +13 -9
  782. package/umd/stepper/index.js +87 -82
  783. package/umd/steps/index.js +32 -22
  784. package/umd/steps/step.js +22 -10
  785. package/umd/sticky/index.js +59 -36
  786. package/umd/style.d.ts +9 -8
  787. package/umd/style.js +4 -4
  788. package/umd/swipe-action/index.js +84 -40
  789. package/umd/swipe-action/item.js +14 -9
  790. package/umd/swipe-load/index.js +77 -55
  791. package/umd/switch/index.js +43 -27
  792. package/umd/tab-bar/index.js +2 -0
  793. package/umd/tab-bar/item.js +19 -6
  794. package/umd/tab-bar/tab-bar.js +26 -15
  795. package/umd/tabs/index.js +186 -129
  796. package/umd/tabs/tab-cell-underline.js +107 -38
  797. package/umd/tabs/tab-cell.js +119 -70
  798. package/umd/tabs/tab-pane.js +89 -49
  799. package/umd/tabs/type.d.ts +18 -2
  800. package/umd/tag/index.js +3 -1
  801. package/umd/tag/list.js +20 -11
  802. package/umd/tag/tag.js +26 -20
  803. package/umd/textarea/index.js +51 -35
  804. package/umd/toast/index.d.ts +12 -12
  805. package/umd/toast/index.js +49 -26
  806. package/umd/toast/methods.js +13 -2
  807. package/umd/transition/index.js +12 -10
@@ -0,0 +1,7 @@
1
+ #demo-divider .arcodesign-mobile-demo-content {
2
+ padding: 0;
3
+ }
4
+ #demo-divider .demo-gap {
5
+ height: 8px;
6
+ background-color: #f7f8fA;
7
+ }
@@ -0,0 +1,12 @@
1
+ @import '../../../../style/mixin.less';
2
+
3
+ #demo-divider {
4
+ .arcodesign-mobile-demo-content {
5
+ .rem(padding, 0);
6
+ }
7
+
8
+ .demo-gap {
9
+ height: 8px;
10
+ background-color: #f7f8fA;
11
+ }
12
+ }
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import { BaseProps } from '../_helpers';
3
+ export interface DividerProps extends BaseProps {
4
+ /**
5
+ * 是否使用 0.5px 线
6
+ * @en Whether to use hairline
7
+ * @default true
8
+ */
9
+ hairline?: boolean;
10
+ /**
11
+ * 文字
12
+ * @en Divider text
13
+ */
14
+ content?: React.ReactNode;
15
+ /**
16
+ * 文字位置
17
+ * @en The position of text inside divider
18
+ * @default 'center'
19
+ */
20
+ align?: 'left' | 'center' | 'right';
21
+ /**
22
+ * 分割线宽度(单边),仅在`align`为`center`时生效
23
+ * @en The width of divider, only take effect when `align` is `center`.
24
+ */
25
+ width?: string | number;
26
+ /**
27
+ * 子元素,同 content,优先级低于 content
28
+ * @en Children element, same as `content`, with the priority lower than `content`
29
+ * @default null
30
+ */
31
+ children?: React.ReactNode;
32
+ }
33
+ export interface DividerRef {
34
+ /**
35
+ * 最外层 DOM 元素
36
+ * @en The outer DOM element of the component
37
+ */
38
+ dom: HTMLDivElement | null;
39
+ }
40
+ /**
41
+ * 划分内容的装饰线
42
+ * @en A partitioning line element
43
+ * @type 布局
44
+ * @type_en Layout
45
+ * @name 分割线
46
+ * @name_en Divider
47
+ */
48
+ declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<DividerRef>>;
49
+ export default Divider;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _mobileUtils = require("@arco-design/mobile-utils");
13
+
14
+ var _contextProvider = require("../context-provider");
15
+
16
+ var _helpers = require("../_helpers");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ /**
23
+ * 划分内容的装饰线
24
+ * @en A partitioning line element
25
+ * @type 布局
26
+ * @type_en Layout
27
+ * @name 分割线
28
+ * @name_en Divider
29
+ */
30
+ var Divider = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
31
+ var _props$className = props.className,
32
+ className = _props$className === void 0 ? '' : _props$className,
33
+ style = props.style,
34
+ _props$hairline = props.hairline,
35
+ hairline = _props$hairline === void 0 ? true : _props$hairline,
36
+ _props$align = props.align,
37
+ align = _props$align === void 0 ? 'center' : _props$align,
38
+ width = props.width;
39
+ var domRef = (0, _react.useRef)(null);
40
+
41
+ var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
42
+ prefixCls = _useContext.prefixCls;
43
+
44
+ var prefix = prefixCls + "-divider";
45
+ var children = props.content || props.children;
46
+ var hasCustomWidth = children && width !== undefined && align === 'center';
47
+ (0, _react.useImperativeHandle)(ref, function () {
48
+ return {
49
+ dom: domRef.current
50
+ };
51
+ });
52
+ return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function () {
53
+ var _cls;
54
+
55
+ return /*#__PURE__*/_react.default.createElement("div", {
56
+ className: (0, _mobileUtils.cls)(prefix, className, (_cls = {}, _cls[prefix + "--hairline"] = hairline, _cls[prefix + "--with-text " + prefix + "--text-" + align] = children, _cls[prefix + "--with-width"] = hasCustomWidth, _cls)),
57
+ style: (0, _extends2.default)({}, style, hasCustomWidth ? (0, _helpers.getStyleWithVendor)({
58
+ flexBasis: width
59
+ }) : {}),
60
+ ref: domRef
61
+ }, children);
62
+ });
63
+ });
64
+ var _default = Divider;
65
+ exports.default = _default;
@@ -0,0 +1,69 @@
1
+ .arco-divider {
2
+ display: -webkit-box;
3
+ display: -webkit-flex;
4
+ display: flex;
5
+ -webkit-box-align: center;
6
+ -webkit-align-items: center;
7
+ align-items: center;
8
+ -webkit-box-pack: center;
9
+ -webkit-justify-content: center;
10
+ justify-content: center;
11
+ padding: 0.32rem 0;
12
+ border-color: #e5e6eb ;
13
+ border-width: 0;
14
+ border-style: solid;
15
+ }
16
+ .arco-divider::before,
17
+ .arco-divider::after {
18
+ -webkit-box-flex: 1;
19
+ -webkit-flex-grow: 1;
20
+ flex-grow: 1;
21
+ -webkit-flex-shrink: 1;
22
+ flex-shrink: 1;
23
+ -webkit-flex-basis: inherit;
24
+ flex-basis: inherit;
25
+ border-width: 0;
26
+ border-color: inherit;
27
+ border-style: inherit;
28
+ border-top-width: 1PX ;
29
+ }
30
+ .arco-divider::before {
31
+ content: '';
32
+ }
33
+ .arco-divider--hairline::before,
34
+ .arco-divider--hairline::after {
35
+ -webkit-transform: scaleY(0.5);
36
+ transform: scaleY(0.5);
37
+ }
38
+ @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {
39
+ .arco-divider--hairline::before,
40
+ .arco-divider--hairline::after {
41
+ -webkit-transform: scaleY(0.33333333);
42
+ transform: scaleY(0.33333333);
43
+ }
44
+ }
45
+ .arco-divider--with-text {
46
+ font-size: 0.28rem ;
47
+ color: #4e5969 ;
48
+ }
49
+ .arco-divider--with-text::before {
50
+ margin-right: 0.24rem ;
51
+ }
52
+ .arco-divider--with-text::after {
53
+ content: '';
54
+ margin-left: 0.24rem ;
55
+ }
56
+ .arco-divider--with-width::before,
57
+ .arco-divider--with-width::after {
58
+ -webkit-flex-shrink: 0;
59
+ flex-shrink: 0;
60
+ -webkit-box-flex: 0;
61
+ -webkit-flex-grow: 0;
62
+ flex-grow: 0;
63
+ }
64
+ .arco-divider--text-left::before {
65
+ max-width: 0.56rem ;
66
+ }
67
+ .arco-divider--text-right::after {
68
+ max-width: 0.56rem ;
69
+ }
@@ -0,0 +1,2 @@
1
+ import '../../../../style/css/public.css';
2
+ import './index.css';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ require("../../../../style/css/public.css");
4
+
5
+ require("./index.css");
@@ -0,0 +1,2 @@
1
+ import '../../../style/public.less';
2
+ import './index.less';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ require("../../../style/public.less");
4
+
5
+ require("./index.less");
@@ -0,0 +1,66 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-divider {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ .use-var(padding, 'divider-padding', '', 0);
8
+ .use-var(border-color, 'divider-line-color');
9
+ border-width: 0;
10
+ border-style: solid;
11
+
12
+ &::before,
13
+ &::after {
14
+ flex-grow: 1;
15
+ flex-shrink: 1;
16
+ flex-basis: inherit;
17
+ border-width: 0;
18
+ border-color: inherit;
19
+ border-style: inherit;
20
+ .use-var(border-top-width, 'divider-line-thickness');
21
+ }
22
+
23
+ &::before {
24
+ content: '';
25
+ }
26
+
27
+ &--hairline {
28
+ &::before,
29
+ &::after {
30
+ transform: scaleY(0.5);
31
+
32
+ @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {
33
+ transform: scaleY(0.33333333);
34
+ }
35
+ }
36
+ }
37
+
38
+ &--with-text {
39
+ .use-var(font-size, 'divider-content-font-size');
40
+ .use-var(color, 'divider-content-font-color');
41
+
42
+ &::before {
43
+ .use-var(margin-right, 'divider-content-padding');
44
+ }
45
+
46
+ &::after {
47
+ content: '';
48
+ .use-var(margin-left, 'divider-content-padding');
49
+ }
50
+ }
51
+
52
+ &--with-width {
53
+ &::before,
54
+ &::after {
55
+ flex-shrink: 0;
56
+ flex-grow: 0;
57
+ }
58
+ }
59
+
60
+ &--text-left::before {
61
+ .use-var(max-width, 'divider-left-width');
62
+ }
63
+ &--text-right::after {
64
+ .use-var(max-width, 'divider-right-width');
65
+ }
66
+ }
@@ -1,139 +1,165 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  exports.__esModule = true;
5
6
  exports.componentGenerator = componentGenerator;
7
+
6
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
7
10
  var _react = _interopRequireWildcard(require("react"));
11
+
8
12
  var _mobileUtils = require("@arco-design/mobile-utils");
13
+
9
14
  var _reactTransitionGroup = require("react-transition-group");
15
+
10
16
  var _contextProvider = require("../context-provider");
17
+
11
18
  var _helpers = require("../_helpers");
19
+
12
20
  var _portal = _interopRequireDefault(require("../portal"));
21
+
13
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
14
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
15
26
  function componentGenerator(Comp) {
16
27
  return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
17
28
  var optionsWrapper = (0, _react.useRef)(null);
18
29
  var domRef = (0, _react.useRef)(null);
19
30
  var _props$className = props.className,
20
- className = _props$className === void 0 ? '' : _props$className,
21
- _props$style = props.style,
22
- style = _props$style === void 0 ? {} : _props$style,
23
- _props$options = props.options,
24
- options = _props$options === void 0 ? [] : _props$options,
25
- _props$showDropdown = props.showDropdown,
26
- showDropdown = _props$showDropdown === void 0 ? false : _props$showDropdown,
27
- _props$showMask = props.showMask,
28
- showMask = _props$showMask === void 0 ? true : _props$showMask,
29
- _props$direction = props.direction,
30
- direction = _props$direction === void 0 ? 'down' : _props$direction,
31
- height = props.height,
32
- _props$maxHeight = props.maxHeight,
33
- maxHeight = _props$maxHeight === void 0 ? 500 : _props$maxHeight,
34
- _props$touchToClose = props.touchToClose,
35
- touchToClose = _props$touchToClose === void 0 ? true : _props$touchToClose,
36
- useColumn = props.useColumn,
37
- optionIcon = props.optionIcon,
38
- multiple = props.multiple,
39
- defaultSelectedValue = props.defaultSelectedValue,
40
- onCancel = props.onCancel,
41
- getAnchorElement = props.getAnchorElement,
42
- isStopTouchEl = props.isStopTouchEl,
43
- getStopTouchElements = props.getStopTouchElements,
44
- _props$getScrollConta = props.getScrollContainer,
45
- getScrollContainer = _props$getScrollConta === void 0 ? function () {
46
- return optionsWrapper.current;
47
- } : _props$getScrollConta,
48
- getPortalContainer = props.getPortalContainer,
49
- _props$clickOtherToCl = props.clickOtherToClose,
50
- clickOtherToClose = _props$clickOtherToCl === void 0 ? true : _props$clickOtherToCl,
51
- _props$dropdownAnimat = props.dropdownAnimationTimeout,
52
- dropdownAnimationTimeout = _props$dropdownAnimat === void 0 ? 300 : _props$dropdownAnimat,
53
- _props$dropdownAnimat2 = props.dropdownAnimationFunction,
54
- dropdownAnimationFunction = _props$dropdownAnimat2 === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _props$dropdownAnimat2,
55
- _props$maskAnimationT = props.maskAnimationTimeout,
56
- maskAnimationTimeout = _props$maskAnimationT === void 0 ? 500 : _props$maskAnimationT,
57
- _props$maskAnimationF = props.maskAnimationFunction,
58
- maskAnimationFunction = _props$maskAnimationF === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _props$maskAnimationF,
59
- _props$mountOnEnter = props.mountOnEnter,
60
- mountOnEnter = _props$mountOnEnter === void 0 ? true : _props$mountOnEnter,
61
- _props$unmountOnExit = props.unmountOnExit,
62
- unmountOnExit = _props$unmountOnExit === void 0 ? true : _props$unmountOnExit,
63
- _props$preventBodyScr = props.preventBodyScroll,
64
- preventBodyScroll = _props$preventBodyScr === void 0 ? true : _props$preventBodyScr,
65
- initialBodyOverflow = props.initialBodyOverflow;
31
+ className = _props$className === void 0 ? '' : _props$className,
32
+ _props$style = props.style,
33
+ style = _props$style === void 0 ? {} : _props$style,
34
+ _props$options = props.options,
35
+ options = _props$options === void 0 ? [] : _props$options,
36
+ _props$showDropdown = props.showDropdown,
37
+ showDropdown = _props$showDropdown === void 0 ? false : _props$showDropdown,
38
+ _props$showMask = props.showMask,
39
+ showMask = _props$showMask === void 0 ? true : _props$showMask,
40
+ _props$direction = props.direction,
41
+ direction = _props$direction === void 0 ? 'down' : _props$direction,
42
+ height = props.height,
43
+ _props$maxHeight = props.maxHeight,
44
+ maxHeight = _props$maxHeight === void 0 ? 500 : _props$maxHeight,
45
+ _props$touchToClose = props.touchToClose,
46
+ touchToClose = _props$touchToClose === void 0 ? true : _props$touchToClose,
47
+ useColumn = props.useColumn,
48
+ optionIcon = props.optionIcon,
49
+ multiple = props.multiple,
50
+ defaultSelectedValue = props.defaultSelectedValue,
51
+ onCancel = props.onCancel,
52
+ getAnchorElement = props.getAnchorElement,
53
+ isStopTouchEl = props.isStopTouchEl,
54
+ getStopTouchElements = props.getStopTouchElements,
55
+ _props$getScrollConta = props.getScrollContainer,
56
+ getScrollContainer = _props$getScrollConta === void 0 ? function () {
57
+ return optionsWrapper.current;
58
+ } : _props$getScrollConta,
59
+ getPortalContainer = props.getPortalContainer,
60
+ _props$clickOtherToCl = props.clickOtherToClose,
61
+ clickOtherToClose = _props$clickOtherToCl === void 0 ? true : _props$clickOtherToCl,
62
+ _props$dropdownAnimat = props.dropdownAnimationTimeout,
63
+ dropdownAnimationTimeout = _props$dropdownAnimat === void 0 ? 300 : _props$dropdownAnimat,
64
+ _props$dropdownAnimat2 = props.dropdownAnimationFunction,
65
+ dropdownAnimationFunction = _props$dropdownAnimat2 === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _props$dropdownAnimat2,
66
+ _props$maskAnimationT = props.maskAnimationTimeout,
67
+ maskAnimationTimeout = _props$maskAnimationT === void 0 ? 500 : _props$maskAnimationT,
68
+ _props$maskAnimationF = props.maskAnimationFunction,
69
+ maskAnimationFunction = _props$maskAnimationF === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _props$maskAnimationF,
70
+ _props$mountOnEnter = props.mountOnEnter,
71
+ mountOnEnter = _props$mountOnEnter === void 0 ? true : _props$mountOnEnter,
72
+ _props$unmountOnExit = props.unmountOnExit,
73
+ unmountOnExit = _props$unmountOnExit === void 0 ? true : _props$unmountOnExit,
74
+ _props$preventBodyScr = props.preventBodyScroll,
75
+ preventBodyScroll = _props$preventBodyScr === void 0 ? true : _props$preventBodyScr,
76
+ initialBodyOverflow = props.initialBodyOverflow;
66
77
  var system = (0, _helpers.useSystem)();
78
+
67
79
  var _useWindowSize = (0, _helpers.useWindowSize)(),
68
- windowHeight = _useWindowSize.windowHeight,
69
- windowWidth = _useWindowSize.windowWidth;
80
+ windowHeight = _useWindowSize.windowHeight,
81
+ windowWidth = _useWindowSize.windowWidth;
82
+
70
83
  var _useState = (0, _react.useState)({
71
- top: '',
72
- bottom: ''
73
- }),
74
- positionStyle = _useState[0],
75
- setPositionStyle = _useState[1];
76
- var _useState2 = (0, _react.useState)(function () {
77
- var defaultValue = multiple ? [] : 0;
78
- return defaultSelectedValue !== void 0 ? defaultSelectedValue : defaultValue;
79
- }),
80
- innerValue = _useState2[0],
81
- setInnerValue = _useState2[1];
84
+ top: '',
85
+ bottom: ''
86
+ }),
87
+ positionStyle = _useState[0],
88
+ setPositionStyle = _useState[1];
82
89
 
83
- // down=0为向上展开,1为向下展开
90
+ var _useState2 = (0, _react.useState)(function () {
91
+ var defaultValue = multiple ? [] : 0;
92
+ return defaultSelectedValue !== void 0 ? defaultSelectedValue : defaultValue;
93
+ }),
94
+ innerValue = _useState2[0],
95
+ setInnerValue = _useState2[1]; // down=0为向上展开,1为向下展开
84
96
  // @en down=0 is to expand upwards, 1 is to expand downwards
97
+
98
+
85
99
  var _useState3 = (0, _react.useState)(null),
86
- down = _useState3[0],
87
- setDown = _useState3[1];
100
+ down = _useState3[0],
101
+ setDown = _useState3[1];
102
+
88
103
  var maskHeight = (0, _react.useRef)(0);
89
104
  var optionsContainer = (0, _react.useRef)(null);
90
105
  var dropdownContainer = (0, _react.useRef)(null);
91
- var _useState4 = (0, _react.useState)(0),
92
- optionsWrapperHeight = _useState4[0],
93
- setOptionsWrapperHeight = _useState4[1];
94
106
 
107
+ var _useState4 = (0, _react.useState)(0),
108
+ optionsWrapperHeight = _useState4[0],
109
+ setOptionsWrapperHeight = _useState4[1];
95
110
  /**
96
111
  * 判断是否阻止touch事件
97
112
  * @en Determine whether to block touch events
98
113
  * */
99
114
 
115
+
100
116
  var ifStopTouch = function ifStopTouch(el) {
101
117
  var _dropdownContainer$cu;
118
+
102
119
  if (isStopTouchEl) return isStopTouchEl(el);
103
120
  var tempEl = el;
104
121
  var elements = getStopTouchElements ? getStopTouchElements() : [(_dropdownContainer$cu = dropdownContainer.current) == null ? void 0 : _dropdownContainer$cu.parentElement];
122
+
105
123
  for (var i = 0; i < elements.length; i++) {
106
124
  while (tempEl && elements[i]) {
107
125
  if (tempEl === elements[i]) {
108
126
  return true;
109
127
  }
128
+
110
129
  tempEl = tempEl.parentElement;
111
130
  }
112
131
  }
132
+
113
133
  return false;
114
134
  };
135
+
115
136
  (0, _helpers.usePopupScroll)(showDropdown, domRef.current, getScrollContainer);
116
137
  (0, _helpers.usePreventBodyScroll)(showDropdown, preventBodyScroll, initialBodyOverflow);
117
138
  var updateDown = (0, _react.useCallback)(function (wrapperHeight) {
118
139
  var _dropdownContainer$cu2;
140
+
119
141
  // 为0的时候不改变
120
142
  // @en Does not change when it is 0
121
143
  if (wrapperHeight === 0) {
122
144
  return;
123
145
  }
146
+
124
147
  var tempEl = getAnchorElement ? getAnchorElement() : (_dropdownContainer$cu2 = dropdownContainer.current) == null ? void 0 : _dropdownContainer$cu2.parentElement;
148
+
125
149
  var _ref = (tempEl == null ? void 0 : tempEl.getBoundingClientRect()) || {
126
- bottom: 0,
127
- top: 0
128
- },
129
- bottom = _ref.bottom,
130
- top = _ref.top;
150
+ bottom: 0,
151
+ top: 0
152
+ },
153
+ bottom = _ref.bottom,
154
+ top = _ref.top;
155
+
131
156
  var tempTop = props.top || bottom;
132
157
  var tempBottom = props.bottom || windowHeight - top;
133
- var tempMaskHeight = windowHeight - tempTop;
134
- // 没有指定方向,且空间足够时,或向上展开的空间不够,向下展开
158
+ var tempMaskHeight = windowHeight - tempTop; // 没有指定方向,且空间足够时,或向上展开的空间不够,向下展开
135
159
  // @en If there is no specified direction and there is enough space, or there is not enough space to expand upward, expand downward
160
+
136
161
  var tempDown = direction !== 'up' && wrapperHeight < tempMaskHeight || wrapperHeight > tempTop;
162
+
137
163
  if (tempDown) {
138
164
  maskHeight.current = tempMaskHeight;
139
165
  setPositionStyle({
@@ -147,35 +173,42 @@ function componentGenerator(Comp) {
147
173
  bottom: tempBottom + "px"
148
174
  });
149
175
  }
176
+
150
177
  setDown(tempDown);
151
178
  }, [props.top, props.bottom, Boolean(getAnchorElement), direction, windowHeight]);
152
-
153
179
  /**
154
180
  * 取消选择
155
181
  * @en Cancel selection
156
182
  * */
183
+
157
184
  var handleCancel = (0, _react.useCallback)(function (e) {
158
185
  var optionsWrapperDom = optionsWrapper.current;
186
+
159
187
  if (!e || !optionsWrapperDom) {
160
188
  return;
161
189
  }
190
+
162
191
  var target = e.target;
192
+
163
193
  if (!optionsWrapperDom.contains(target) && !ifStopTouch(target)) {
164
194
  onCancel();
165
195
  }
196
+
166
197
  e.stopPropagation();
167
198
  }, [ifStopTouch, onCancel]);
168
-
169
199
  /**
170
200
  * 当面板放下时,给body添加事件监听,面板收起时,移除
171
201
  * @en When the panel is down, add an event listener to the body, and when the panel is retracted, remove it
172
202
  * */
203
+
173
204
  (0, _react.useEffect)(function () {
174
205
  var needBind = showDropdown && clickOtherToClose;
175
206
  var event = touchToClose ? 'touchstart' : 'click';
207
+
176
208
  if (needBind) {
177
209
  document.addEventListener(event, handleCancel);
178
210
  }
211
+
179
212
  return function () {
180
213
  if (needBind) {
181
214
  document.removeEventListener(event, handleCancel);
@@ -184,18 +217,21 @@ function componentGenerator(Comp) {
184
217
  }, [showDropdown, clickOtherToClose, handleCancel]);
185
218
  (0, _react.useEffect)(function () {
186
219
  var wrapperHeight = 0;
220
+
187
221
  if (height !== void 0) {
188
222
  // 受控模式下,完全交由外层控制
189
223
  // @en In controlled mode, it is completely controlled by the outer layer
190
224
  wrapperHeight = height;
191
225
  } else {
192
226
  if (!optionsContainer.current) return;
227
+
193
228
  if (!showDropdown) {
194
229
  wrapperHeight = 0;
195
230
  } else {
196
231
  wrapperHeight = optionsContainer.current.getBoundingClientRect().height;
197
232
  }
198
233
  }
234
+
199
235
  updateDown(wrapperHeight);
200
236
  (0, _mobileUtils.nextTick)(function () {
201
237
  setOptionsWrapperHeight(wrapperHeight);
@@ -206,6 +242,7 @@ function componentGenerator(Comp) {
206
242
  dom: domRef.current
207
243
  };
208
244
  });
245
+
209
246
  function getOptionsStyle() {
210
247
  var trans = down ? 'translateY(-100%)' : 'translateY(100%)';
211
248
  var transStyle = down === null ? {
@@ -220,6 +257,7 @@ function componentGenerator(Comp) {
220
257
  maxHeight: maxHeight + "px"
221
258
  }));
222
259
  }
260
+
223
261
  function renderInnerOptions() {
224
262
  var value = props.selectedValue !== void 0 ? props.selectedValue : innerValue;
225
263
  var optionProps = {
@@ -236,6 +274,7 @@ function componentGenerator(Comp) {
236
274
  };
237
275
  return /*#__PURE__*/_react.default.createElement(Comp, optionProps);
238
276
  }
277
+
239
278
  return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref2) {
240
279
  var prefixCls = _ref2.prefixCls;
241
280
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  exports.__esModule = true;
5
6
  var _exportNames = {};
6
7
  exports.default = void 0;
8
+
7
9
  var _mobileUtils = require("@arco-design/mobile-utils");
10
+
8
11
  var _options = _interopRequireDefault(require("./options"));
12
+
9
13
  var _dropdown = require("./dropdown");
14
+
10
15
  var _type = require("./type");
16
+
11
17
  Object.keys(_type).forEach(function (key) {
12
18
  if (key === "default" || key === "__esModule") return;
13
19
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -15,7 +21,6 @@ Object.keys(_type).forEach(function (key) {
15
21
  exports[key] = _type[key];
16
22
  });
17
23
  var Dropdown = (0, _dropdown.componentGenerator)(_options.default);
18
-
19
24
  /**
20
25
  * 下拉面板,展示供选择的选择项
21
26
  * @en Dropdown panel, showing options to choose from
@@ -24,7 +29,9 @@ var Dropdown = (0, _dropdown.componentGenerator)(_options.default);
24
29
  * @name 下拉面板
25
30
  * @name_en Dropdown
26
31
  */
32
+
27
33
  var _default = (0, _mobileUtils.componentWrapper)(Dropdown, {
28
34
  Options: _options.default
29
35
  });
36
+
30
37
  exports.default = _default;