@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
@@ -0,0 +1,302 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { useRef, forwardRef, useImperativeHandle } from 'react';
3
+ import { Promise } from 'es6-promise';
4
+ import { cls, defaultLocale } from '@arco-design/mobile-utils';
5
+ import { ContextLayout } from '../context-provider';
6
+ import { IconClose } from '../icon';
7
+ import Image from '../image';
8
+ import Grid from '../grid';
9
+ import AddIcon from './add-icon';
10
+ export * from './type';
11
+ /**
12
+ * 图片选择器组件
13
+ * @en ImagePicker Component
14
+ * @type 数据录入
15
+ * @type_en Data Entry
16
+ * @name 图片选择器
17
+ * @name_en ImagePicker
18
+ */
19
+
20
+ var ImagePicker = /*#__PURE__*/forwardRef(function (props, ref) {
21
+ var _props$className = props.className,
22
+ className = _props$className === void 0 ? '' : _props$className,
23
+ style = props.style,
24
+ _props$accept = props.accept,
25
+ accept = _props$accept === void 0 ? 'image/*' : _props$accept,
26
+ _props$multiple = props.multiple,
27
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
28
+ capture = props.capture,
29
+ _props$columns = props.columns,
30
+ columns = _props$columns === void 0 ? 3 : _props$columns,
31
+ _props$gutter = props.gutter,
32
+ gutter = _props$gutter === void 0 ? 8 : _props$gutter,
33
+ _props$limit = props.limit,
34
+ limit = _props$limit === void 0 ? 0 : _props$limit,
35
+ _props$images = props.images,
36
+ images = _props$images === void 0 ? [] : _props$images,
37
+ maxSize = props.maxSize,
38
+ disabled = props.disabled,
39
+ deleteIcon = props.deleteIcon,
40
+ selectIcon = props.selectIcon,
41
+ _props$hideDelete = props.hideDelete,
42
+ hideDelete = _props$hideDelete === void 0 ? false : _props$hideDelete,
43
+ _props$hideSelect = props.hideSelect,
44
+ hideSelect = _props$hideSelect === void 0 ? false : _props$hideSelect,
45
+ _props$alwaysShowSele = props.alwaysShowSelect,
46
+ alwaysShowSelect = _props$alwaysShowSele === void 0 ? false : _props$alwaysShowSele,
47
+ imageProps = props.imageProps,
48
+ renderLoading = props.renderLoading,
49
+ renderError = props.renderError,
50
+ onLongPress = props.onLongPress,
51
+ onClick = props.onClick,
52
+ _props$onChange = props.onChange,
53
+ onChange = _props$onChange === void 0 ? function () {
54
+ return null;
55
+ } : _props$onChange,
56
+ onMaxSizeExceed = props.onMaxSizeExceed,
57
+ onLimitExceed = props.onLimitExceed,
58
+ upload = props.upload,
59
+ selectAdapter = props.selectAdapter;
60
+ var domRef = useRef(null);
61
+ var fileRef = useRef(null);
62
+ var cacheRef = useRef([]);
63
+ useImperativeHandle(ref, function () {
64
+ return {
65
+ dom: domRef.current
66
+ };
67
+ });
68
+
69
+ var parseFile = function parseFile(file) {
70
+ return new Promise(function (resolve, reject) {
71
+ if (file.url) {
72
+ resolve(file.url);
73
+ } else {
74
+ var reader = new FileReader();
75
+
76
+ reader.onload = function (e) {
77
+ var _e$target;
78
+
79
+ var dataURL = (_e$target = e.target) == null ? void 0 : _e$target.result;
80
+
81
+ if (!dataURL) {
82
+ reject(new Error('file parse error'));
83
+ }
84
+
85
+ resolve(dataURL);
86
+ };
87
+
88
+ reader.onerror = function () {
89
+ reject(new Error('file parse error'));
90
+ };
91
+
92
+ reader.readAsDataURL(file);
93
+ }
94
+ });
95
+ };
96
+
97
+ var handleChange = function handleChange(event, fromAdapter) {
98
+ var files = Array.prototype.filter.call(event.target.files || [], function (file) {
99
+ // 过滤maxSize
100
+ if (maxSize && file.size > maxSize * 1024) {
101
+ onMaxSizeExceed && onMaxSizeExceed(file);
102
+ return false;
103
+ }
104
+
105
+ return true;
106
+ }) || [];
107
+
108
+ if (!fromAdapter) {
109
+ event.target.value = '';
110
+ } // 截断limit
111
+
112
+
113
+ if (limit !== 0 && files.length + images.length > limit) {
114
+ onLimitExceed && onLimitExceed(files);
115
+ files.length = limit - images.length;
116
+ } // 解析文件生成预览
117
+
118
+
119
+ Promise.all(files.map(function (file) {
120
+ return parseFile(file);
121
+ })).then(function (parseFiles) {
122
+ var res = parseFiles.map(function (url, index) {
123
+ return {
124
+ url: url,
125
+ status: typeof upload === 'function' ? 'loading' : 'loaded',
126
+ file: files[index]
127
+ };
128
+ });
129
+ cacheRef.current = [].concat(images, res);
130
+ onChange([].concat(cacheRef.current)); // 执行upload
131
+
132
+ if (typeof upload === 'function') {
133
+ files.forEach(function (_file) {
134
+ upload(cacheRef.current.find(function (_ref) {
135
+ var file = _ref.file;
136
+ return file === _file;
137
+ })).then(function (data) {
138
+ var index = cacheRef.current.findIndex(function (_ref2) {
139
+ var file = _ref2.file;
140
+ return file === _file;
141
+ });
142
+ cacheRef.current[index] = _extends({}, cacheRef.current[index], data, {
143
+ status: undefined
144
+ });
145
+ }).catch(function () {
146
+ var index = cacheRef.current.findIndex(function (_ref3) {
147
+ var file = _ref3.file;
148
+ return file === _file;
149
+ });
150
+ cacheRef.current[index].status = 'error';
151
+ }).finally(function () {
152
+ onChange([].concat(cacheRef.current));
153
+ });
154
+ });
155
+ }
156
+ });
157
+ };
158
+
159
+ var handleDelete = function handleDelete(index) {
160
+ onChange(images.filter(function (_i, j) {
161
+ return j !== index;
162
+ }));
163
+ }; // click && longPress
164
+
165
+
166
+ var timeOutEvent;
167
+
168
+ var handleTouchStart = function handleTouchStart(e, image, index) {
169
+ e.preventDefault();
170
+ timeOutEvent = setTimeout(function () {
171
+ timeOutEvent = 0;
172
+ onLongPress == null ? void 0 : onLongPress(e, image, index);
173
+ }, 750);
174
+ };
175
+
176
+ var handleClick = function handleClick(e, image, index) {
177
+ clearTimeout(timeOutEvent);
178
+
179
+ if (timeOutEvent !== 0) {
180
+ onClick == null ? void 0 : onClick(e, image, index);
181
+ }
182
+ };
183
+
184
+ var handleSelect = function handleSelect() {
185
+ var _fileRef$current;
186
+
187
+ selectAdapter ? selectAdapter().then(function (_ref4) {
188
+ var files = _ref4.files;
189
+ return handleChange({
190
+ target: {
191
+ files: files
192
+ }
193
+ }, true);
194
+ }) : (_fileRef$current = fileRef.current) == null ? void 0 : _fileRef$current.click();
195
+ };
196
+
197
+ var getGridData = function getGridData(prefixCls, locale) {
198
+ var errorNode = function errorNode(index) {
199
+ if (renderError) {
200
+ return typeof renderError === 'function' ? renderError(index) : renderError;
201
+ }
202
+
203
+ return /*#__PURE__*/React.createElement("div", {
204
+ className: prefixCls + "-image-picker-error"
205
+ }, /*#__PURE__*/React.createElement("p", null, locale.ImagePicker.loadError));
206
+ };
207
+
208
+ var loadingNode = function loadingNode(index) {
209
+ if (renderLoading) {
210
+ return typeof renderLoading === 'function' ? renderLoading(index) : renderLoading;
211
+ }
212
+
213
+ return null;
214
+ };
215
+
216
+ var data = (limit && limit < images.length ? images.slice(0, limit) : images).map(function (image, index) {
217
+ var url = image.url,
218
+ status = image.status;
219
+ return {
220
+ img: /*#__PURE__*/React.createElement("div", {
221
+ key: index + "-" + url,
222
+ className: prefixCls + "-image-picker-image"
223
+ }, /*#__PURE__*/React.createElement("div", {
224
+ onTouchStart: function onTouchStart(e) {
225
+ return handleTouchStart(e, image, index);
226
+ },
227
+ onClick: function onClick(e) {
228
+ return handleClick(e, image, index);
229
+ },
230
+ className: prefixCls + "-image-picker-image-container"
231
+ }, /*#__PURE__*/React.createElement(Image, _extends({
232
+ showLoading: true,
233
+ showError: true
234
+ }, imageProps || {}, {
235
+ src: url,
236
+ errorArea: errorNode(index),
237
+ loadingArea: loadingNode(index),
238
+ status: status || (imageProps == null ? void 0 : imageProps.status)
239
+ })), /*#__PURE__*/React.createElement("div", {
240
+ className: prefixCls + "-image-picker-image-mask"
241
+ })), !hideDelete && /*#__PURE__*/React.createElement("div", {
242
+ className: prefixCls + "-image-picker-close",
243
+ onClick: function onClick() {
244
+ return handleDelete(index);
245
+ }
246
+ }, deleteIcon || /*#__PURE__*/React.createElement("div", {
247
+ className: prefixCls + "-image-picker-close-icon"
248
+ }, /*#__PURE__*/React.createElement(IconClose, null)))),
249
+ title: ''
250
+ };
251
+ });
252
+ var showSelect = !hideSelect && images.length < (limit || Infinity);
253
+ var disableSelect = disabled || alwaysShowSelect && !showSelect;
254
+
255
+ if (showSelect || alwaysShowSelect) {
256
+ var _cls;
257
+
258
+ data.push({
259
+ img: /*#__PURE__*/React.createElement("div", {
260
+ className: cls(prefixCls + "-image-picker-add", (_cls = {}, _cls[prefixCls + "-image-picker-add-disabled"] = disableSelect, _cls)),
261
+ onClick: handleSelect
262
+ }, /*#__PURE__*/React.createElement("div", {
263
+ className: prefixCls + "-image-picker-add-container"
264
+ }, selectIcon || /*#__PURE__*/React.createElement("div", {
265
+ className: prefixCls + "-image-picker-add-icon"
266
+ }, /*#__PURE__*/React.createElement(AddIcon, null)), !selectAdapter ? /*#__PURE__*/React.createElement("input", {
267
+ capture: capture,
268
+ accept: accept,
269
+ multiple: multiple,
270
+ type: "file",
271
+ onChange: function onChange(e) {
272
+ return handleChange(e);
273
+ },
274
+ ref: fileRef
275
+ }) : null)),
276
+ title: ''
277
+ });
278
+ }
279
+
280
+ return data;
281
+ };
282
+
283
+ return /*#__PURE__*/React.createElement(ContextLayout, null, function (_ref5) {
284
+ var _cls2;
285
+
286
+ var prefixCls = _ref5.prefixCls,
287
+ _ref5$locale = _ref5.locale,
288
+ locale = _ref5$locale === void 0 ? defaultLocale : _ref5$locale;
289
+ return /*#__PURE__*/React.createElement("div", {
290
+ className: cls(prefixCls + "-image-picker", className, (_cls2 = {}, _cls2[prefixCls + "-image-picker-disabled"] = disabled, _cls2)),
291
+ style: style,
292
+ ref: domRef
293
+ }, /*#__PURE__*/React.createElement("div", {
294
+ className: prefixCls + "-image-picker-container"
295
+ }, /*#__PURE__*/React.createElement(Grid, {
296
+ data: getGridData(prefixCls, locale),
297
+ gutter: gutter,
298
+ columns: columns
299
+ })));
300
+ });
301
+ });
302
+ export default ImagePicker;
@@ -0,0 +1,147 @@
1
+ .arco-image-picker {
2
+ font-size: 0.28rem ;
3
+ }
4
+ .arco-image-picker-container {
5
+ display: -webkit-box;
6
+ display: -webkit-flex;
7
+ display: flex;
8
+ -webkit-flex-wrap: wrap;
9
+ flex-wrap: wrap;
10
+ }
11
+ .arco-image-picker-image {
12
+ position: relative;
13
+ width: 100%;
14
+ display: -webkit-box;
15
+ display: -webkit-flex;
16
+ display: flex;
17
+ -webkit-box-align: center;
18
+ -webkit-align-items: center;
19
+ align-items: center;
20
+ -webkit-box-pack: center;
21
+ -webkit-justify-content: center;
22
+ justify-content: center;
23
+ padding-top: 100%;
24
+ border-radius: 0.04rem ;
25
+ overflow: hidden;
26
+ }
27
+ .arco-image-picker-image-container {
28
+ position: absolute;
29
+ top: 0;
30
+ width: 100%;
31
+ height: 100%;
32
+ left: 0;
33
+ }
34
+ .arco-image-picker-image .arco-image {
35
+ height: 100%;
36
+ width: 100%;
37
+ }
38
+ .arco-image-picker-image-mask {
39
+ position: absolute;
40
+ left: 0;
41
+ top: 0;
42
+ width: 100%;
43
+ height: 100%;
44
+ z-index: 2;
45
+ }
46
+ .arco-image-picker-add {
47
+ background-color: #f7f8fa ;
48
+ border-radius: 0.04rem ;
49
+ position: relative;
50
+ width: 100%;
51
+ height: 100%;
52
+ padding-top: 100%;
53
+ }
54
+ .arco-image-picker-add-container {
55
+ position: absolute;
56
+ top: 0;
57
+ width: 100%;
58
+ height: 100%;
59
+ left: 0;
60
+ display: -webkit-box;
61
+ display: -webkit-flex;
62
+ display: flex;
63
+ -webkit-box-orient: vertical;
64
+ -webkit-box-direction: normal;
65
+ -webkit-flex-direction: column;
66
+ flex-direction: column;
67
+ -webkit-box-pack: center;
68
+ -webkit-justify-content: center;
69
+ justify-content: center;
70
+ -webkit-box-align: center;
71
+ -webkit-align-items: center;
72
+ align-items: center;
73
+ text-align: center;
74
+ font-size: 0.24rem ;
75
+ color: #86909c ;
76
+ }
77
+ .arco-image-picker-add-icon {
78
+ font-size: 0.6rem ;
79
+ color: #d8d8d8 ;
80
+ }
81
+ .arco-image-picker-add-icon svg {
82
+ display: block;
83
+ }
84
+ .arco-image-picker-add-disabled {
85
+ pointer-events: none;
86
+ }
87
+ .arco-image-picker-add-disabled .arco-image-picker-add-icon {
88
+ opacity: 0.7 ;
89
+ }
90
+ .arco-image-picker-add input {
91
+ position: absolute;
92
+ opacity: 0;
93
+ left: 0;
94
+ top: 0;
95
+ width: 100%;
96
+ height: 100%;
97
+ display: none;
98
+ }
99
+ .arco-image-picker-close {
100
+ position: absolute;
101
+ top: 0;
102
+ right: 0;
103
+ z-index: 2;
104
+ }
105
+ .arco-image-picker-close-icon {
106
+ display: -webkit-box;
107
+ display: -webkit-flex;
108
+ display: flex;
109
+ -webkit-box-align: center;
110
+ -webkit-align-items: center;
111
+ align-items: center;
112
+ -webkit-box-pack: center;
113
+ -webkit-justify-content: center;
114
+ justify-content: center;
115
+ font-size: 0.24rem ;
116
+ width: 0.36rem ;
117
+ height: 0.36rem ;
118
+ color: #ffffff ;
119
+ background: rgba(0, 0, 0, 0.3) ;
120
+ border-radius: 0 0.04rem ;
121
+ }
122
+ .arco-image-picker-error {
123
+ position: absolute;
124
+ top: 0;
125
+ left: 0;
126
+ width: 100%;
127
+ height: 100%;
128
+ display: -webkit-box;
129
+ display: -webkit-flex;
130
+ display: flex;
131
+ -webkit-box-orient: vertical;
132
+ -webkit-box-direction: normal;
133
+ -webkit-flex-direction: column;
134
+ flex-direction: column;
135
+ -webkit-box-pack: center;
136
+ -webkit-justify-content: center;
137
+ justify-content: center;
138
+ -webkit-box-align: center;
139
+ -webkit-align-items: center;
140
+ align-items: center;
141
+ background: rgba(0, 0, 0, 0.5) ;
142
+ color: #ffffff ;
143
+ font-size: 0.28rem ;
144
+ }
145
+ .arco-image-picker-disabled {
146
+ pointer-events: none;
147
+ }
@@ -0,0 +1,2 @@
1
+ import '../../../../style/css/public.css';
2
+ import './index.css';
@@ -0,0 +1,2 @@
1
+ import '../../../../style/css/public.css';
2
+ import './index.css';
@@ -0,0 +1,2 @@
1
+ import '../../../style/public.less';
2
+ import './index.less';
@@ -0,0 +1,2 @@
1
+ import '../../../style/public.less';
2
+ import './index.less';
@@ -0,0 +1,116 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-image-picker {
4
+ .use-var(font-size, image-picker-font-size);
5
+ &-container {
6
+ display: flex;
7
+ flex-wrap: wrap;
8
+ }
9
+ .container() {
10
+ position: absolute;
11
+ top: 0;
12
+ width: 100%;
13
+ height: 100%;
14
+ left: 0;
15
+ }
16
+ &-image {
17
+ position: relative;
18
+ width: 100%;
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ padding-top: 100%;
23
+ .use-var(border-radius, image-picker-border-radius);
24
+ overflow: hidden;
25
+ &-container {
26
+ .container()
27
+ }
28
+ .@{prefix}-image {
29
+ height: 100%;
30
+ width: 100%;
31
+ }
32
+ &-mask {
33
+ position: absolute;
34
+ left: 0;
35
+ top: 0;
36
+ width: 100%;
37
+ height: 100%;
38
+ z-index: 2;
39
+ }
40
+ }
41
+ &-add {
42
+ .use-var(background-color, image-picker-add-background);
43
+ .use-var(border-radius, image-picker-border-radius);
44
+ position: relative;
45
+ width: 100%;
46
+ height: 100%;
47
+ padding-top: 100%;
48
+ &-container {
49
+ .container();
50
+ display: flex;
51
+ flex-direction: column;
52
+ justify-content: center;
53
+ align-items: center;
54
+ text-align: center;
55
+ .use-var(font-size, image-picker-add-text-font-size);
56
+ .use-var(color, image-picker-add-text-color);
57
+ }
58
+ &-icon {
59
+ .use-var(font-size, image-picker-add-icon-font-size);
60
+ .use-var(color, image-picker-add-icon-color);
61
+ svg {
62
+ display: block;
63
+ }
64
+ }
65
+ &-disabled {
66
+ pointer-events: none;
67
+ }
68
+ &-disabled &-icon {
69
+ .use-var(opacity, image-picker-disabled-opacity);
70
+ }
71
+ input {
72
+ position: absolute;
73
+ opacity: 0;
74
+ left: 0;
75
+ top: 0;
76
+ width: 100%;
77
+ height: 100%;
78
+ display: none;
79
+ }
80
+ }
81
+ &-close {
82
+ position: absolute;
83
+ top: 0;
84
+ right: 0;
85
+ z-index: 2;
86
+ &-icon {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ .use-var(font-size, image-picker-close-font-size);
91
+ .use-var(width, image-picker-close-width);
92
+ .use-var(height, image-picker-close-height);
93
+ .use-var(color, image-picker-close-color);
94
+ .use-var(background, image-picker-close-background);
95
+ .use-var(border-radius, image-picker-close-border-radius);
96
+ }
97
+ }
98
+ &-error {
99
+ position: absolute;
100
+ top: 0;
101
+ left: 0;
102
+ width: 100%;
103
+ height: 100%;
104
+ display: flex;
105
+ flex-direction: column;
106
+ justify-content: center;
107
+ align-items: center;
108
+ .use-var(background, image-picker-error-background);
109
+ .use-var(color, image-picker-error-color);
110
+ .use-var(font-size, image-picker-font-size);
111
+ }
112
+ }
113
+
114
+ .@{prefix}-image-picker-disabled {
115
+ pointer-events: none;
116
+ }