@arco-design/mobile-react 2.19.1 → 2.21.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 (424) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.en-US.md +6 -6
  3. package/README.md +6 -6
  4. package/cjs/_helpers/type.d.ts +1 -1
  5. package/cjs/avatar/group.js +1 -1
  6. package/cjs/avatar/index.d.ts +1 -1
  7. package/cjs/avatar/index.js +11 -14
  8. package/cjs/avatar/style/css/index.css +96 -126
  9. package/cjs/avatar/style/index.less +54 -72
  10. package/cjs/badge/index.d.ts +1 -1
  11. package/cjs/badge/index.js +7 -9
  12. package/cjs/badge/style/css/index.css +5 -5
  13. package/cjs/badge/style/index.less +5 -5
  14. package/cjs/button/hooks.d.ts +1 -2
  15. package/cjs/button/hooks.js +5 -3
  16. package/cjs/button/index.d.ts +6 -0
  17. package/cjs/button/index.js +38 -33
  18. package/cjs/button/style/css/index.css +75 -310
  19. package/cjs/button/style/index.less +32 -38
  20. package/cjs/carousel/index.d.ts +1 -1
  21. package/cjs/carousel/index.js +1 -1
  22. package/cjs/cell/index.d.ts +1 -1
  23. package/cjs/cell/index.js +1 -1
  24. package/cjs/checkbox/index.d.ts +1 -1
  25. package/cjs/checkbox/index.js +1 -1
  26. package/cjs/collapse/index.d.ts +1 -1
  27. package/cjs/collapse/index.js +1 -1
  28. package/cjs/count-down/demo/style/mobile.less +1 -1
  29. package/cjs/count-down/index.d.ts +1 -1
  30. package/cjs/count-down/index.js +1 -1
  31. package/cjs/date-picker/index.d.ts +1 -1
  32. package/cjs/date-picker/index.js +1 -1
  33. package/cjs/dropdown/dropdown.d.ts +3 -0
  34. package/cjs/dropdown/dropdown.js +322 -0
  35. package/cjs/dropdown/index.d.ts +3 -4
  36. package/cjs/dropdown/index.js +3 -303
  37. package/cjs/dropdown/options.js +2 -1
  38. package/cjs/dropdown/style/css/index.css +3 -0
  39. package/cjs/dropdown/style/index.less +2 -0
  40. package/cjs/dropdown/type.d.ts +20 -9
  41. package/cjs/dropdown-menu/dropdown-menu.d.ts +4 -0
  42. package/cjs/dropdown-menu/dropdown-menu.js +273 -0
  43. package/cjs/dropdown-menu/helper.d.ts +1 -1
  44. package/cjs/dropdown-menu/index.d.ts +2 -3
  45. package/cjs/dropdown-menu/index.js +2 -245
  46. package/cjs/dropdown-menu/type.d.ts +21 -20
  47. package/cjs/ellipsis/index.d.ts +1 -1
  48. package/cjs/ellipsis/index.js +1 -1
  49. package/cjs/grid/index.js +13 -12
  50. package/cjs/image/index.d.ts +1 -2
  51. package/cjs/image/index.js +14 -9
  52. package/cjs/image/style/css/index.css +2 -1
  53. package/cjs/image/style/index.less +2 -1
  54. package/cjs/image-picker/add-icon.d.ts +2 -0
  55. package/cjs/image-picker/add-icon.js +22 -0
  56. package/cjs/image-picker/demo/style/css/mobile.css +40 -0
  57. package/cjs/image-picker/demo/style/mobile.less +42 -0
  58. package/cjs/image-picker/index.d.ts +13 -0
  59. package/cjs/image-picker/index.js +331 -0
  60. package/cjs/image-picker/style/css/index.css +147 -0
  61. package/cjs/image-picker/style/css/index.d.ts +2 -0
  62. package/cjs/image-picker/style/css/index.js +5 -0
  63. package/cjs/image-picker/style/index.d.ts +2 -0
  64. package/cjs/image-picker/style/index.js +5 -0
  65. package/cjs/image-picker/style/index.less +116 -0
  66. package/cjs/image-picker/type.d.ts +174 -0
  67. package/cjs/image-picker/type.js +3 -0
  68. package/cjs/image-preview/index.d.ts +3 -3
  69. package/cjs/image-preview/index.js +1 -1
  70. package/cjs/index.d.ts +3 -0
  71. package/cjs/index.js +13 -1
  72. package/cjs/input/hooks.js +49 -8
  73. package/cjs/input/index.d.ts +1 -1
  74. package/cjs/input/index.js +1 -1
  75. package/cjs/input/props.d.ts +8 -2
  76. package/cjs/nav-bar/index.js +7 -2
  77. package/cjs/notice-bar/index.d.ts +1 -1
  78. package/cjs/notice-bar/index.js +1 -1
  79. package/cjs/picker/index.d.ts +1 -1
  80. package/cjs/picker/index.js +1 -1
  81. package/cjs/picker-view/index.d.ts +1 -1
  82. package/cjs/picker-view/index.js +1 -1
  83. package/cjs/popover/index.d.ts +1 -1
  84. package/cjs/popover/index.js +1 -1
  85. package/cjs/popup-swiper/index.js +3 -2
  86. package/cjs/radio/index.d.ts +1 -1
  87. package/cjs/radio/index.js +1 -1
  88. package/cjs/rate/index.d.ts +1 -1
  89. package/cjs/rate/index.js +1 -1
  90. package/cjs/search-bar/association.d.ts +3 -0
  91. package/cjs/search-bar/association.js +92 -0
  92. package/cjs/search-bar/cancel-button.d.ts +10 -0
  93. package/cjs/search-bar/cancel-button.js +41 -0
  94. package/cjs/search-bar/demo/style/css/mobile.css +5 -0
  95. package/cjs/search-bar/demo/style/mobile.less +9 -0
  96. package/cjs/search-bar/highlight.d.ts +12 -0
  97. package/cjs/search-bar/highlight.js +77 -0
  98. package/cjs/search-bar/index.d.ts +13 -0
  99. package/cjs/search-bar/index.js +239 -0
  100. package/cjs/search-bar/style/css/index.css +148 -0
  101. package/cjs/search-bar/style/css/index.d.ts +2 -0
  102. package/cjs/search-bar/style/css/index.js +5 -0
  103. package/cjs/search-bar/style/index.d.ts +2 -0
  104. package/cjs/search-bar/style/index.js +5 -0
  105. package/cjs/search-bar/style/index.less +111 -0
  106. package/cjs/search-bar/type.d.ts +163 -0
  107. package/cjs/search-bar/type.js +3 -0
  108. package/cjs/show-monitor/index.js +31 -3
  109. package/cjs/slider/index.d.ts +1 -1
  110. package/cjs/slider/index.js +1 -1
  111. package/cjs/steps/demo/style/css/mobile.css +1 -1
  112. package/cjs/steps/demo/style/mobile.less +1 -1
  113. package/cjs/steps/index.d.ts +1 -1
  114. package/cjs/steps/index.js +1 -1
  115. package/cjs/steps/style/css/index.css +5 -15
  116. package/cjs/steps/style/index.less +6 -10
  117. package/cjs/sticky/index.d.ts +1 -1
  118. package/cjs/style.d.ts +3 -0
  119. package/cjs/style.js +6 -0
  120. package/cjs/swipe-action/demo/style/css/mobile.css +5 -0
  121. package/cjs/swipe-action/demo/style/mobile.less +9 -0
  122. package/cjs/swipe-action/index.d.ts +12 -0
  123. package/cjs/swipe-action/index.js +339 -0
  124. package/cjs/swipe-action/item.d.ts +11 -0
  125. package/cjs/swipe-action/item.js +52 -0
  126. package/cjs/swipe-action/style/css/index.css +88 -0
  127. package/cjs/swipe-action/style/css/index.d.ts +2 -0
  128. package/cjs/swipe-action/style/css/index.js +5 -0
  129. package/cjs/swipe-action/style/index.d.ts +2 -0
  130. package/cjs/swipe-action/style/index.js +5 -0
  131. package/cjs/swipe-action/style/index.less +89 -0
  132. package/cjs/swipe-action/type.d.ts +123 -0
  133. package/cjs/swipe-action/type.js +3 -0
  134. package/cjs/switch/index.d.ts +1 -1
  135. package/cjs/switch/index.js +1 -1
  136. package/cjs/tabs/tab-pane.js +5 -1
  137. package/cjs/tag/index.d.ts +1 -1
  138. package/cjs/tag/index.js +1 -1
  139. package/cjs/textarea/index.d.ts +1 -1
  140. package/cjs/textarea/index.js +1 -1
  141. package/dist/index.js +8040 -6845
  142. package/dist/index.min.js +6 -7
  143. package/dist/style.css +497 -447
  144. package/dist/style.min.css +1 -1
  145. package/esm/_helpers/type.d.ts +1 -1
  146. package/esm/avatar/group.js +1 -1
  147. package/esm/avatar/index.d.ts +1 -1
  148. package/esm/avatar/index.js +11 -14
  149. package/esm/avatar/style/css/index.css +96 -126
  150. package/esm/avatar/style/index.less +54 -72
  151. package/esm/badge/index.d.ts +1 -1
  152. package/esm/badge/index.js +7 -9
  153. package/esm/badge/style/css/index.css +5 -5
  154. package/esm/badge/style/index.less +5 -5
  155. package/esm/button/hooks.d.ts +1 -2
  156. package/esm/button/hooks.js +5 -3
  157. package/esm/button/index.d.ts +6 -0
  158. package/esm/button/index.js +40 -35
  159. package/esm/button/style/css/index.css +75 -310
  160. package/esm/button/style/index.less +32 -38
  161. package/esm/carousel/index.d.ts +1 -1
  162. package/esm/carousel/index.js +1 -1
  163. package/esm/cell/index.d.ts +1 -1
  164. package/esm/cell/index.js +1 -1
  165. package/esm/checkbox/index.d.ts +1 -1
  166. package/esm/checkbox/index.js +1 -1
  167. package/esm/collapse/index.d.ts +1 -1
  168. package/esm/collapse/index.js +1 -1
  169. package/esm/count-down/demo/style/mobile.less +1 -1
  170. package/esm/count-down/index.d.ts +1 -1
  171. package/esm/count-down/index.js +1 -1
  172. package/esm/date-picker/index.d.ts +1 -1
  173. package/esm/date-picker/index.js +1 -1
  174. package/esm/dropdown/dropdown.d.ts +3 -0
  175. package/esm/dropdown/dropdown.js +304 -0
  176. package/esm/dropdown/index.d.ts +3 -4
  177. package/esm/dropdown/index.js +3 -293
  178. package/esm/dropdown/options.js +2 -1
  179. package/esm/dropdown/style/css/index.css +3 -0
  180. package/esm/dropdown/style/index.less +2 -0
  181. package/esm/dropdown/type.d.ts +20 -9
  182. package/esm/dropdown-menu/dropdown-menu.d.ts +4 -0
  183. package/esm/dropdown-menu/dropdown-menu.js +256 -0
  184. package/esm/dropdown-menu/helper.d.ts +1 -1
  185. package/esm/dropdown-menu/index.d.ts +2 -3
  186. package/esm/dropdown-menu/index.js +2 -237
  187. package/esm/dropdown-menu/type.d.ts +21 -20
  188. package/esm/ellipsis/index.d.ts +1 -1
  189. package/esm/ellipsis/index.js +1 -1
  190. package/esm/grid/index.js +13 -12
  191. package/esm/image/index.d.ts +1 -2
  192. package/esm/image/index.js +15 -10
  193. package/esm/image/style/css/index.css +2 -1
  194. package/esm/image/style/index.less +2 -1
  195. package/esm/image-picker/add-icon.d.ts +2 -0
  196. package/esm/image-picker/add-icon.js +14 -0
  197. package/esm/image-picker/demo/style/css/mobile.css +40 -0
  198. package/esm/image-picker/demo/style/mobile.less +42 -0
  199. package/esm/image-picker/index.d.ts +13 -0
  200. package/esm/image-picker/index.js +302 -0
  201. package/esm/image-picker/style/css/index.css +147 -0
  202. package/esm/image-picker/style/css/index.d.ts +2 -0
  203. package/esm/image-picker/style/css/index.js +2 -0
  204. package/esm/image-picker/style/index.d.ts +2 -0
  205. package/esm/image-picker/style/index.js +2 -0
  206. package/esm/image-picker/style/index.less +116 -0
  207. package/esm/image-picker/type.d.ts +174 -0
  208. package/esm/image-picker/type.js +1 -0
  209. package/esm/image-preview/index.d.ts +3 -3
  210. package/esm/image-preview/index.js +1 -1
  211. package/esm/index.d.ts +3 -0
  212. package/esm/index.js +3 -0
  213. package/esm/input/hooks.js +49 -8
  214. package/esm/input/index.d.ts +1 -1
  215. package/esm/input/index.js +1 -1
  216. package/esm/input/props.d.ts +8 -2
  217. package/esm/nav-bar/index.js +6 -2
  218. package/esm/notice-bar/index.d.ts +1 -1
  219. package/esm/notice-bar/index.js +1 -1
  220. package/esm/picker/index.d.ts +1 -1
  221. package/esm/picker/index.js +1 -1
  222. package/esm/picker-view/index.d.ts +1 -1
  223. package/esm/picker-view/index.js +1 -1
  224. package/esm/popover/index.d.ts +1 -1
  225. package/esm/popover/index.js +1 -1
  226. package/esm/popup-swiper/index.js +3 -2
  227. package/esm/radio/index.d.ts +1 -1
  228. package/esm/radio/index.js +1 -1
  229. package/esm/rate/index.d.ts +1 -1
  230. package/esm/rate/index.js +1 -1
  231. package/esm/search-bar/association.d.ts +3 -0
  232. package/esm/search-bar/association.js +82 -0
  233. package/esm/search-bar/cancel-button.d.ts +10 -0
  234. package/esm/search-bar/cancel-button.js +30 -0
  235. package/esm/search-bar/demo/style/css/mobile.css +5 -0
  236. package/esm/search-bar/demo/style/mobile.less +9 -0
  237. package/esm/search-bar/highlight.d.ts +12 -0
  238. package/esm/search-bar/highlight.js +66 -0
  239. package/esm/search-bar/index.d.ts +13 -0
  240. package/esm/search-bar/index.js +213 -0
  241. package/esm/search-bar/style/css/index.css +148 -0
  242. package/esm/search-bar/style/css/index.d.ts +2 -0
  243. package/esm/search-bar/style/css/index.js +2 -0
  244. package/esm/search-bar/style/index.d.ts +2 -0
  245. package/esm/search-bar/style/index.js +2 -0
  246. package/esm/search-bar/style/index.less +111 -0
  247. package/esm/search-bar/type.d.ts +163 -0
  248. package/esm/search-bar/type.js +1 -0
  249. package/esm/show-monitor/index.js +31 -3
  250. package/esm/slider/index.d.ts +1 -1
  251. package/esm/slider/index.js +1 -1
  252. package/esm/steps/demo/style/css/mobile.css +1 -1
  253. package/esm/steps/demo/style/mobile.less +1 -1
  254. package/esm/steps/index.d.ts +1 -1
  255. package/esm/steps/index.js +1 -1
  256. package/esm/steps/style/css/index.css +5 -15
  257. package/esm/steps/style/index.less +6 -10
  258. package/esm/sticky/index.d.ts +1 -1
  259. package/esm/style.d.ts +3 -0
  260. package/esm/style.js +3 -0
  261. package/esm/swipe-action/demo/style/css/mobile.css +5 -0
  262. package/esm/swipe-action/demo/style/mobile.less +9 -0
  263. package/esm/swipe-action/index.d.ts +12 -0
  264. package/esm/swipe-action/index.js +321 -0
  265. package/esm/swipe-action/item.d.ts +11 -0
  266. package/esm/swipe-action/item.js +42 -0
  267. package/esm/swipe-action/style/css/index.css +88 -0
  268. package/esm/swipe-action/style/css/index.d.ts +2 -0
  269. package/esm/swipe-action/style/css/index.js +2 -0
  270. package/esm/swipe-action/style/index.d.ts +2 -0
  271. package/esm/swipe-action/style/index.js +2 -0
  272. package/esm/swipe-action/style/index.less +89 -0
  273. package/esm/swipe-action/type.d.ts +123 -0
  274. package/esm/swipe-action/type.js +1 -0
  275. package/esm/switch/index.d.ts +1 -1
  276. package/esm/switch/index.js +1 -1
  277. package/esm/tabs/tab-pane.js +5 -1
  278. package/esm/tag/index.d.ts +1 -1
  279. package/esm/tag/index.js +1 -1
  280. package/esm/textarea/index.d.ts +1 -1
  281. package/esm/textarea/index.js +1 -1
  282. package/package.json +3 -3
  283. package/tokens/app/arcodesign/default/css-variables.less +53 -3
  284. package/tokens/app/arcodesign/default/index.d.ts +53 -3
  285. package/tokens/app/arcodesign/default/index.js +54 -4
  286. package/tokens/app/arcodesign/default/index.json +629 -39
  287. package/tokens/app/arcodesign/default/index.less +53 -3
  288. package/umd/_helpers/type.d.ts +1 -1
  289. package/umd/avatar/group.js +1 -1
  290. package/umd/avatar/index.d.ts +1 -1
  291. package/umd/avatar/index.js +11 -14
  292. package/umd/avatar/style/css/index.css +96 -126
  293. package/umd/avatar/style/index.less +54 -72
  294. package/umd/badge/index.d.ts +1 -1
  295. package/umd/badge/index.js +7 -9
  296. package/umd/badge/style/css/index.css +5 -5
  297. package/umd/badge/style/index.less +5 -5
  298. package/umd/button/hooks.d.ts +1 -2
  299. package/umd/button/hooks.js +5 -3
  300. package/umd/button/index.d.ts +6 -0
  301. package/umd/button/index.js +38 -33
  302. package/umd/button/style/css/index.css +75 -310
  303. package/umd/button/style/index.less +32 -38
  304. package/umd/carousel/index.d.ts +1 -1
  305. package/umd/carousel/index.js +1 -1
  306. package/umd/cell/index.d.ts +1 -1
  307. package/umd/cell/index.js +1 -1
  308. package/umd/checkbox/index.d.ts +1 -1
  309. package/umd/checkbox/index.js +1 -1
  310. package/umd/collapse/index.d.ts +1 -1
  311. package/umd/collapse/index.js +1 -1
  312. package/umd/count-down/demo/style/mobile.less +1 -1
  313. package/umd/count-down/index.d.ts +1 -1
  314. package/umd/count-down/index.js +1 -1
  315. package/umd/date-picker/index.d.ts +1 -1
  316. package/umd/date-picker/index.js +1 -1
  317. package/umd/dropdown/dropdown.d.ts +3 -0
  318. package/umd/dropdown/dropdown.js +325 -0
  319. package/umd/dropdown/index.d.ts +3 -4
  320. package/umd/dropdown/index.js +5 -298
  321. package/umd/dropdown/options.js +2 -1
  322. package/umd/dropdown/style/css/index.css +3 -0
  323. package/umd/dropdown/style/index.less +2 -0
  324. package/umd/dropdown/type.d.ts +20 -9
  325. package/umd/dropdown-menu/dropdown-menu.d.ts +4 -0
  326. package/umd/dropdown-menu/dropdown-menu.js +278 -0
  327. package/umd/dropdown-menu/helper.d.ts +1 -1
  328. package/umd/dropdown-menu/index.d.ts +2 -3
  329. package/umd/dropdown-menu/index.js +5 -241
  330. package/umd/dropdown-menu/type.d.ts +21 -20
  331. package/umd/ellipsis/index.d.ts +1 -1
  332. package/umd/ellipsis/index.js +1 -1
  333. package/umd/grid/index.js +13 -12
  334. package/umd/image/index.d.ts +1 -2
  335. package/umd/image/index.js +14 -9
  336. package/umd/image/style/css/index.css +2 -1
  337. package/umd/image/style/index.less +2 -1
  338. package/umd/image-picker/add-icon.d.ts +2 -0
  339. package/umd/image-picker/add-icon.js +35 -0
  340. package/umd/image-picker/demo/style/css/mobile.css +40 -0
  341. package/umd/image-picker/demo/style/mobile.less +42 -0
  342. package/umd/image-picker/index.d.ts +13 -0
  343. package/umd/image-picker/index.js +329 -0
  344. package/umd/image-picker/style/css/index.css +147 -0
  345. package/umd/image-picker/style/css/index.d.ts +2 -0
  346. package/umd/image-picker/style/css/index.js +15 -0
  347. package/umd/image-picker/style/index.d.ts +2 -0
  348. package/umd/image-picker/style/index.js +15 -0
  349. package/umd/image-picker/style/index.less +116 -0
  350. package/umd/image-picker/type.d.ts +174 -0
  351. package/umd/image-picker/type.js +17 -0
  352. package/umd/image-preview/index.d.ts +3 -3
  353. package/umd/image-preview/index.js +1 -1
  354. package/umd/index.d.ts +3 -0
  355. package/umd/index.js +11 -5
  356. package/umd/input/hooks.js +48 -7
  357. package/umd/input/index.d.ts +1 -1
  358. package/umd/input/index.js +1 -1
  359. package/umd/input/props.d.ts +8 -2
  360. package/umd/nav-bar/index.js +9 -6
  361. package/umd/notice-bar/index.d.ts +1 -1
  362. package/umd/notice-bar/index.js +1 -1
  363. package/umd/picker/index.d.ts +1 -1
  364. package/umd/picker/index.js +1 -1
  365. package/umd/picker-view/index.d.ts +1 -1
  366. package/umd/picker-view/index.js +1 -1
  367. package/umd/popover/index.d.ts +1 -1
  368. package/umd/popover/index.js +1 -1
  369. package/umd/popup-swiper/index.js +3 -2
  370. package/umd/radio/index.d.ts +1 -1
  371. package/umd/radio/index.js +1 -1
  372. package/umd/rate/index.d.ts +1 -1
  373. package/umd/rate/index.js +1 -1
  374. package/umd/search-bar/association.d.ts +3 -0
  375. package/umd/search-bar/association.js +101 -0
  376. package/umd/search-bar/cancel-button.d.ts +10 -0
  377. package/umd/search-bar/cancel-button.js +52 -0
  378. package/umd/search-bar/demo/style/css/mobile.css +5 -0
  379. package/umd/search-bar/demo/style/mobile.less +9 -0
  380. package/umd/search-bar/highlight.d.ts +12 -0
  381. package/umd/search-bar/highlight.js +87 -0
  382. package/umd/search-bar/index.d.ts +13 -0
  383. package/umd/search-bar/index.js +235 -0
  384. package/umd/search-bar/style/css/index.css +148 -0
  385. package/umd/search-bar/style/css/index.d.ts +2 -0
  386. package/umd/search-bar/style/css/index.js +15 -0
  387. package/umd/search-bar/style/index.d.ts +2 -0
  388. package/umd/search-bar/style/index.js +15 -0
  389. package/umd/search-bar/style/index.less +111 -0
  390. package/umd/search-bar/type.d.ts +163 -0
  391. package/umd/search-bar/type.js +17 -0
  392. package/umd/show-monitor/index.js +31 -3
  393. package/umd/slider/index.d.ts +1 -1
  394. package/umd/slider/index.js +1 -1
  395. package/umd/steps/demo/style/css/mobile.css +1 -1
  396. package/umd/steps/demo/style/mobile.less +1 -1
  397. package/umd/steps/index.d.ts +1 -1
  398. package/umd/steps/index.js +1 -1
  399. package/umd/steps/style/css/index.css +5 -15
  400. package/umd/steps/style/index.less +6 -10
  401. package/umd/sticky/index.d.ts +1 -1
  402. package/umd/style.d.ts +3 -0
  403. package/umd/style.js +4 -4
  404. package/umd/swipe-action/demo/style/css/mobile.css +5 -0
  405. package/umd/swipe-action/demo/style/mobile.less +9 -0
  406. package/umd/swipe-action/index.d.ts +12 -0
  407. package/umd/swipe-action/index.js +342 -0
  408. package/umd/swipe-action/item.d.ts +11 -0
  409. package/umd/swipe-action/item.js +62 -0
  410. package/umd/swipe-action/style/css/index.css +88 -0
  411. package/umd/swipe-action/style/css/index.d.ts +2 -0
  412. package/umd/swipe-action/style/css/index.js +15 -0
  413. package/umd/swipe-action/style/index.d.ts +2 -0
  414. package/umd/swipe-action/style/index.js +15 -0
  415. package/umd/swipe-action/style/index.less +89 -0
  416. package/umd/swipe-action/type.d.ts +123 -0
  417. package/umd/swipe-action/type.js +17 -0
  418. package/umd/switch/index.d.ts +1 -1
  419. package/umd/switch/index.js +1 -1
  420. package/umd/tabs/tab-pane.js +5 -1
  421. package/umd/tag/index.d.ts +1 -1
  422. package/umd/tag/index.js +1 -1
  423. package/umd/textarea/index.d.ts +1 -1
  424. package/umd/textarea/index.js +1 -1
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "@babel/runtime/helpers/extends", "react", "@arco-design/mobile-utils", "react-transition-group", "../context-provider", "../_helpers", "../portal", "./options", "./type"], factory);
3
+ define(["exports", "@arco-design/mobile-utils", "./options", "./dropdown", "./type"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("@arco-design/mobile-utils"), require("react-transition-group"), require("../context-provider"), require("../_helpers"), require("../portal"), require("./options"), require("./type"));
5
+ factory(exports, require("@arco-design/mobile-utils"), require("./options"), require("./dropdown"), require("./type"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global._extends, global.react, global.mobileUtils, global.reactTransitionGroup, global.contextProvider, global._helpers, global.portal, global.options, global.type);
10
+ factory(mod.exports, global.mobileUtils, global.options, global.dropdown, global.type);
11
11
  global.index = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _mobileUtils, _reactTransitionGroup, _contextProvider, _helpers, _portal, _options, _type) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _mobileUtils, _options, _dropdown, _type) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -18,9 +18,6 @@
18
18
  _exports.__esModule = true;
19
19
  var _exportNames = {};
20
20
  _exports.default = void 0;
21
- _extends2 = _interopRequireDefault(_extends2);
22
- _react = _interopRequireWildcard(_react);
23
- _portal = _interopRequireDefault(_portal);
24
21
  _options = _interopRequireDefault(_options);
25
22
  Object.keys(_type).forEach(function (key) {
26
23
  if (key === "default" || key === "__esModule") return;
@@ -28,297 +25,7 @@
28
25
  if (key in _exports && _exports[key] === _type[key]) return;
29
26
  _exports[key] = _type[key];
30
27
  });
31
-
32
- 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); }
33
-
34
- 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; }
35
-
36
- var Dropdown = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
37
- var optionsWrapper = (0, _react.useRef)(null);
38
- var domRef = (0, _react.useRef)(null);
39
- var _props$className = props.className,
40
- className = _props$className === void 0 ? '' : _props$className,
41
- _props$style = props.style,
42
- style = _props$style === void 0 ? {} : _props$style,
43
- _props$options = props.options,
44
- options = _props$options === void 0 ? [] : _props$options,
45
- _props$showDropdown = props.showDropdown,
46
- showDropdown = _props$showDropdown === void 0 ? false : _props$showDropdown,
47
- _props$showMask = props.showMask,
48
- showMask = _props$showMask === void 0 ? true : _props$showMask,
49
- _props$direction = props.direction,
50
- direction = _props$direction === void 0 ? 'down' : _props$direction,
51
- height = props.height,
52
- _props$maxHeight = props.maxHeight,
53
- maxHeight = _props$maxHeight === void 0 ? 500 : _props$maxHeight,
54
- _props$touchToClose = props.touchToClose,
55
- touchToClose = _props$touchToClose === void 0 ? true : _props$touchToClose,
56
- useColumn = props.useColumn,
57
- multiple = props.multiple,
58
- defaultSelectedValue = props.defaultSelectedValue,
59
- onCancel = props.onCancel,
60
- getAnchorElement = props.getAnchorElement,
61
- isStopTouchEl = props.isStopTouchEl,
62
- getStopTouchElements = props.getStopTouchElements,
63
- _props$getScrollConta = props.getScrollContainer,
64
- getScrollContainer = _props$getScrollConta === void 0 ? function () {
65
- return optionsWrapper.current;
66
- } : _props$getScrollConta,
67
- getPortalContainer = props.getPortalContainer,
68
- _props$clickOtherToCl = props.clickOtherToClose,
69
- clickOtherToClose = _props$clickOtherToCl === void 0 ? true : _props$clickOtherToCl,
70
- _props$dropdownAnimat = props.dropdownAnimationTimeout,
71
- dropdownAnimationTimeout = _props$dropdownAnimat === void 0 ? 300 : _props$dropdownAnimat,
72
- _props$dropdownAnimat2 = props.dropdownAnimationFunction,
73
- dropdownAnimationFunction = _props$dropdownAnimat2 === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _props$dropdownAnimat2,
74
- _props$maskAnimationT = props.maskAnimationTimeout,
75
- maskAnimationTimeout = _props$maskAnimationT === void 0 ? 500 : _props$maskAnimationT,
76
- _props$maskAnimationF = props.maskAnimationFunction,
77
- maskAnimationFunction = _props$maskAnimationF === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _props$maskAnimationF,
78
- _props$mountOnEnter = props.mountOnEnter,
79
- mountOnEnter = _props$mountOnEnter === void 0 ? true : _props$mountOnEnter,
80
- _props$unmountOnExit = props.unmountOnExit,
81
- unmountOnExit = _props$unmountOnExit === void 0 ? true : _props$unmountOnExit,
82
- _props$preventBodyScr = props.preventBodyScroll,
83
- preventBodyScroll = _props$preventBodyScr === void 0 ? true : _props$preventBodyScr,
84
- initialBodyOverflow = props.initialBodyOverflow;
85
- var system = (0, _helpers.useSystem)();
86
-
87
- var _useWindowSize = (0, _helpers.useWindowSize)(),
88
- windowHeight = _useWindowSize.windowHeight,
89
- windowWidth = _useWindowSize.windowWidth;
90
-
91
- var _useState = (0, _react.useState)({
92
- top: '',
93
- bottom: ''
94
- }),
95
- positionStyle = _useState[0],
96
- setPositionStyle = _useState[1];
97
-
98
- var _useState2 = (0, _react.useState)(function () {
99
- var defaultValue = multiple ? [] : 0;
100
- return defaultSelectedValue !== void 0 ? defaultSelectedValue : defaultValue;
101
- }),
102
- innerValue = _useState2[0],
103
- setInnerValue = _useState2[1]; // down=0为向上展开,1为向下展开
104
- // @en down=0 is to expand upwards, 1 is to expand downwards
105
-
106
-
107
- var _useState3 = (0, _react.useState)(direction === 'down'),
108
- down = _useState3[0],
109
- setDown = _useState3[1];
110
-
111
- var maskHeight = (0, _react.useRef)(0);
112
- var optionsContainer = (0, _react.useRef)(null);
113
- var dropdownContainer = (0, _react.useRef)(null);
114
-
115
- var _useState4 = (0, _react.useState)(0),
116
- optionsWrapperHeight = _useState4[0],
117
- setOptionsWrapperHeight = _useState4[1];
118
- /**
119
- * 判断是否阻止touch事件
120
- * @en Determine whether to block touch events
121
- * */
122
-
123
-
124
- var ifStopTouch = function ifStopTouch(el) {
125
- var _dropdownContainer$cu;
126
-
127
- if (isStopTouchEl) return isStopTouchEl(el);
128
- var tempEl = el;
129
- var elements = getStopTouchElements ? getStopTouchElements() : [(_dropdownContainer$cu = dropdownContainer.current) == null ? void 0 : _dropdownContainer$cu.parentElement];
130
-
131
- for (var i = 0; i < elements.length; i++) {
132
- while (tempEl && elements[i]) {
133
- if (tempEl === elements[i]) {
134
- return true;
135
- }
136
-
137
- tempEl = tempEl.parentElement;
138
- }
139
- }
140
-
141
- return false;
142
- };
143
-
144
- (0, _helpers.usePopupScroll)(showDropdown, domRef.current, getScrollContainer);
145
- (0, _helpers.usePreventBodyScroll)(showDropdown, preventBodyScroll, initialBodyOverflow);
146
- (0, _react.useEffect)(function () {
147
- var _dropdownContainer$cu2;
148
-
149
- // 为0的时候不改变
150
- // @en Does not change when it is 0
151
- if (optionsWrapperHeight === 0) return;
152
- var tempEl = getAnchorElement ? getAnchorElement() : (_dropdownContainer$cu2 = dropdownContainer.current) == null ? void 0 : _dropdownContainer$cu2.parentElement;
153
-
154
- var _ref = (tempEl == null ? void 0 : tempEl.getBoundingClientRect()) || {
155
- bottom: 0,
156
- top: 0
157
- },
158
- bottom = _ref.bottom,
159
- top = _ref.top;
160
-
161
- var tempTop = props.top || bottom;
162
- var tempBottom = props.bottom || windowHeight - top;
163
- var tempMaskHeight = windowHeight - tempTop; // 没有指定方向,且空间足够时,或向上展开的空间不够,向下展开
164
- // @en If there is no specified direction and there is enough space, or there is not enough space to expand upward, expand downward
165
-
166
- var tempDown = direction !== 'up' && optionsWrapperHeight < tempMaskHeight || optionsWrapperHeight > tempTop;
167
-
168
- if (tempDown) {
169
- maskHeight.current = tempMaskHeight;
170
- setPositionStyle({
171
- top: tempTop + "px",
172
- bottom: ''
173
- });
174
- } else {
175
- maskHeight.current = windowHeight - tempBottom;
176
- setPositionStyle({
177
- top: '',
178
- bottom: tempBottom + "px"
179
- });
180
- }
181
-
182
- setDown(tempDown);
183
- }, [dropdownContainer, optionsWrapperHeight, props.top, props.bottom, Boolean(getAnchorElement), direction, windowHeight]);
184
- /**
185
- * 取消选择
186
- * @en Cancel selection
187
- * */
188
-
189
- var handleCancel = (0, _react.useCallback)(function (e) {
190
- var optionsWrapperDom = optionsWrapper.current;
191
-
192
- if (!e || !optionsWrapperDom) {
193
- return;
194
- }
195
-
196
- var target = e.target;
197
-
198
- if (!optionsWrapperDom.contains(target) && !ifStopTouch(target)) {
199
- onCancel();
200
- }
201
-
202
- e.stopPropagation();
203
- }, [ifStopTouch, onCancel]);
204
- /**
205
- * 当面板放下时,给body添加事件监听,面板收起时,移除
206
- * @en When the panel is down, add an event listener to the body, and when the panel is retracted, remove it
207
- * */
208
-
209
- (0, _react.useEffect)(function () {
210
- var needBind = showDropdown && clickOtherToClose;
211
- var event = touchToClose ? 'touchstart' : 'click';
212
-
213
- if (needBind) {
214
- document.addEventListener(event, handleCancel);
215
- }
216
-
217
- return function () {
218
- if (needBind) {
219
- document.removeEventListener(event, handleCancel);
220
- }
221
- };
222
- }, [showDropdown, clickOtherToClose, handleCancel]);
223
- (0, _react.useEffect)(function () {
224
- (0, _mobileUtils.nextTick)(function () {
225
- if (height !== void 0) {
226
- // 受控模式下,完全交由外层控制
227
- // @en In controlled mode, it is completely controlled by the outer layer
228
- setOptionsWrapperHeight(height);
229
- } else {
230
- if (!optionsContainer.current) return;
231
- if (!showDropdown) setOptionsWrapperHeight(0);else {
232
- setOptionsWrapperHeight(optionsContainer.current.getBoundingClientRect().height);
233
- }
234
- }
235
- });
236
- }, [showDropdown, options.length, height]);
237
- (0, _react.useImperativeHandle)(ref, function () {
238
- return {
239
- dom: domRef.current
240
- };
241
- });
242
-
243
- function getOptionsStyle() {
244
- var trans = down ? 'translateY(-100%)' : 'translateY(100%)';
245
- return (0, _helpers.getStyleWithVendor)({
246
- // height: `${optionsWrapperHeight}px`,
247
- transform: optionsWrapperHeight ? '' : trans,
248
- transition: "transform " + dropdownAnimationTimeout + "ms " + dropdownAnimationFunction,
249
- overflow: optionsWrapperHeight > maxHeight || height ? 'auto' : 'hidden',
250
- maxHeight: maxHeight + "px"
251
- });
252
- }
253
-
254
- function renderInnerOptions() {
255
- var optionProps = {
256
- options: options,
257
- useColumn: useColumn
258
- };
259
- var value = props.selectedValue !== void 0 ? props.selectedValue : innerValue;
260
- return props.multiple === true ? /*#__PURE__*/_react.default.createElement(_options.default, (0, _extends2.default)({}, optionProps, {
261
- multiple: true,
262
- selectedValue: value,
263
- onOptionClick: props.onOptionClick,
264
- onOptionChange: function onOptionChange(vals, op) {
265
- setInnerValue(vals);
266
- props.onOptionChange == null ? void 0 : props.onOptionChange(vals, op);
267
- }
268
- })) : /*#__PURE__*/_react.default.createElement(_options.default, (0, _extends2.default)({}, optionProps, {
269
- multiple: props.multiple,
270
- selectedValue: value,
271
- onOptionClick: props.onOptionClick,
272
- onOptionChange: function onOptionChange(vals, op) {
273
- setInnerValue(vals);
274
- props.onOptionChange == null ? void 0 : props.onOptionChange(vals, op);
275
- }
276
- }));
277
- }
278
-
279
- return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref2) {
280
- var prefixCls = _ref2.prefixCls;
281
- return /*#__PURE__*/_react.default.createElement("div", {
282
- ref: dropdownContainer
283
- }, /*#__PURE__*/_react.default.createElement(_portal.default, {
284
- getContainer: getPortalContainer
285
- }, /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, {
286
- in: showDropdown,
287
- timeout: Math.max(dropdownAnimationTimeout, maskAnimationTimeout),
288
- onEnter: function onEnter(el) {
289
- el.style.visibility = 'visible';
290
- },
291
- onExited: function onExited(el) {
292
- el.style.visibility = 'hidden';
293
- },
294
- mountOnEnter: mountOnEnter,
295
- unmountOnExit: unmountOnExit
296
- }, /*#__PURE__*/_react.default.createElement("div", {
297
- className: (0, _mobileUtils.cls)(prefixCls + "-dropdown all-border-box", system, className, {
298
- 'drop-up': !down
299
- }),
300
- ref: domRef,
301
- style: (0, _extends2.default)({
302
- height: maskHeight.current + "px",
303
- maxWidth: windowWidth + "px"
304
- }, style, positionStyle)
305
- }, /*#__PURE__*/_react.default.createElement("div", {
306
- className: (0, _mobileUtils.cls)(prefixCls + "-dropdown-options"),
307
- ref: optionsWrapper,
308
- style: getOptionsStyle()
309
- }, /*#__PURE__*/_react.default.createElement("div", {
310
- className: (0, _mobileUtils.cls)(prefixCls + "-dropdown-options-container"),
311
- ref: optionsContainer
312
- }, props.children || renderInnerOptions(), props.extraNode)), showMask && /*#__PURE__*/_react.default.createElement("div", {
313
- className: (0, _mobileUtils.cls)(prefixCls + "-dropdown-mask", {
314
- 'is-show': optionsWrapperHeight
315
- }),
316
- style: {
317
- transition: "opacity " + maskAnimationTimeout + "ms " + maskAnimationFunction
318
- }
319
- })))));
320
- });
321
- });
28
+ var Dropdown = (0, _dropdown.componentGenerator)(_options.default);
322
29
  /**
323
30
  * 下拉面板,展示供选择的选择项
324
31
  * @en Dropdown panel, showing options to choose from
@@ -27,6 +27,7 @@
27
27
  var Options = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
28
28
  var options = props.options,
29
29
  useColumn = props.useColumn,
30
+ icon = props.icon,
30
31
  selectedValue = props.selectedValue,
31
32
  defaultSelectedValue = props.defaultSelectedValue,
32
33
  multiple = props.multiple;
@@ -105,7 +106,7 @@
105
106
  return handleOptionChange(e, op);
106
107
  },
107
108
  style: minWidthStyle
108
- }, op.label, /*#__PURE__*/_react.default.createElement(_IconCheck.default, {
109
+ }, op.label, icon !== void 0 ? icon : /*#__PURE__*/_react.default.createElement(_IconCheck.default, {
109
110
  className: prefixCls + "-dropdown-options-item-icon"
110
111
  }));
111
112
  }), fakeOpts.map(function (_, i) {
@@ -47,6 +47,9 @@
47
47
  }
48
48
  .arco-dropdown-options-item-icon {
49
49
  position: absolute;
50
+ top: 50%;
51
+ -webkit-transform: translateY(-50%);
52
+ transform: translateY(-50%);
50
53
  right: 0.32rem ;
51
54
  color: transparent;
52
55
  }
@@ -55,6 +55,8 @@
55
55
 
56
56
  &-icon {
57
57
  position: absolute;
58
+ top: 50%;
59
+ transform: translateY(-50%);
58
60
  .use-var(right, dropdown-options-item-icon-right);
59
61
  color: transparent;
60
62
  }
@@ -1,4 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
+ export declare type OptionValueType = number | string;
2
3
  export interface OptionsItem {
3
4
  /**
4
5
  * 选项名称
@@ -9,7 +10,7 @@ export interface OptionsItem {
9
10
  * 选项标识
10
11
  * @en option value
11
12
  * */
12
- value: number;
13
+ value: OptionValueType;
13
14
  /**
14
15
  * 选项是否可用,默认false表示可用
15
16
  * @en Whether the option is available, the default false means available
@@ -111,6 +112,11 @@ export interface DropdownCommonProps {
111
112
  * @default false
112
113
  */
113
114
  useColumn?: boolean | number;
115
+ /**
116
+ * 选项附带图标
117
+ * @en Icon in each option
118
+ */
119
+ optionIcon?: ReactNode;
114
120
  /**
115
121
  * 是否在打开下拉框时再加载内容
116
122
  * @en Whether to reload the content when the dropdown box is opened
@@ -177,29 +183,29 @@ export interface SingleOptionProps {
177
183
  * 默认选中值
178
184
  * @en Default checked value
179
185
  * */
180
- defaultSelectedValue?: number;
186
+ defaultSelectedValue?: OptionValueType;
181
187
  /**
182
188
  * 当前选择的选项标识
183
189
  * @en The currently selected option value
184
190
  * */
185
- selectedValue?: number;
191
+ selectedValue?: OptionValueType;
186
192
  /**
187
193
  * 点击选项时触发的回调函数
188
194
  * @en Callback when clicking option
189
195
  * */
190
- onOptionClick?: (val: number, op: OptionsItem) => void;
196
+ onOptionClick?: (val: OptionValueType, op: OptionsItem) => void;
191
197
  /**
192
198
  * 当选项改变时触发的回调函数
193
199
  * @en Callback when the option changes
194
200
  * */
195
- onOptionChange?: (val: number, op: OptionsItem) => void;
201
+ onOptionChange?: (val: OptionValueType, op: OptionsItem) => void;
196
202
  }
197
203
  export interface MultipleOptionProps {
198
204
  multiple: true;
199
- defaultSelectedValue?: number[];
200
- selectedValue?: number[];
201
- onOptionClick?: (selected: boolean, val: number, op: OptionsItem) => void;
202
- onOptionChange?: (vals: number[], op: OptionsItem) => void;
205
+ defaultSelectedValue?: OptionValueType[];
206
+ selectedValue?: OptionValueType[];
207
+ onOptionClick?: (selected: boolean, val: OptionValueType, op: OptionsItem) => void;
208
+ onOptionChange?: (vals: OptionValueType[], op: OptionsItem) => void;
203
209
  }
204
210
  export declare type OptionProps = SingleOptionProps | MultipleOptionProps;
205
211
  export interface DropdownBasicProps extends DropdownCommonProps {
@@ -247,6 +253,11 @@ export interface DropdownOptionsBasicProps {
247
253
  * @default false
248
254
  */
249
255
  useColumn?: DropdownCommonProps['useColumn'];
256
+ /**
257
+ * 选项列表右侧图标
258
+ * @en Icon on the right side of the options list
259
+ */
260
+ icon?: ReactNode;
250
261
  }
251
262
  export declare type DropdownOptionsProps = DropdownOptionsBasicProps & OptionProps;
252
263
  export interface DropdownOptionsRef {
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { DropdownMenuRef } from './type';
3
+ import { DropdownProps, DropdownRef } from '../dropdown';
4
+ export declare function componentGenerator<P extends DropdownProps = DropdownProps, R extends DropdownRef = DropdownRef>(Comp: React.ForwardRefExoticComponent<P & React.RefAttributes<R>>): React.ForwardRefExoticComponent<(import("./type").DropdownMenuBasicProps & import("./type").SingleOptionProps & React.RefAttributes<DropdownMenuRef>) | (import("./type").DropdownMenuBasicProps & import("./type").MultipleOptionProps & React.RefAttributes<DropdownMenuRef>)>;