@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,5 +1,4 @@
1
- import React from 'react';
2
- import { DropdownMenuRef } from './type';
1
+ /// <reference types="react" />
3
2
  export * from './type';
4
3
  /**
5
4
  * 下拉选择组件,点击选择器(select)展开下拉框(dropdown),展示选择项(options),兼容多个选择器的情况。
@@ -9,5 +8,5 @@ export * from './type';
9
8
  * @name 下拉选择菜单
10
9
  * @name_en DropdownMenu
11
10
  */
12
- declare const DropdownMenu: React.ForwardRefExoticComponent<(import("./type").DropdownMenuBasicProps & import("./type").SingleOptionProps & React.RefAttributes<DropdownMenuRef>) | (import("./type").DropdownMenuBasicProps & import("./type").MultipleOptionProps & React.RefAttributes<DropdownMenuRef>)>;
11
+ declare const DropdownMenu: import("react").ForwardRefExoticComponent<(import("./type").DropdownMenuBasicProps & import("./type").SingleOptionProps & import("react").RefAttributes<import("./type").DropdownMenuRef>) | (import("./type").DropdownMenuBasicProps & import("./type").MultipleOptionProps & import("react").RefAttributes<import("./type").DropdownMenuRef>)>;
13
12
  export default DropdownMenu;
@@ -1,10 +1,5 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useRef, useState, forwardRef, useImperativeHandle, useMemo, useCallback, useEffect, useContext } from 'react';
3
- import { cls } from '@arco-design/mobile-utils';
4
- import { GlobalContext } from '../context-provider';
5
- import { getFormattedOptions as defaultFormatFunc, isCascadeArray, isClassNameDom, isRefDom } from './helper';
1
+ import { componentGenerator } from './dropdown-menu';
6
2
  import Dropdown from '../dropdown';
7
- import IconTriDown from '../icon/IconTriDown';
8
3
  export * from './type';
9
4
  /**
10
5
  * 下拉选择组件,点击选择器(select)展开下拉框(dropdown),展示选择项(options),兼容多个选择器的情况。
@@ -15,235 +10,5 @@ export * from './type';
15
10
  * @name_en DropdownMenu
16
11
  */
17
12
 
18
- var DropdownMenu = /*#__PURE__*/forwardRef(function (props, ref) {
19
- 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$disabled = props.disabled,
26
- disabled = _props$disabled === void 0 ? [] : _props$disabled,
27
- _props$selectTips = props.selectTips,
28
- selectTips = _props$selectTips === void 0 ? [] : _props$selectTips,
29
- values = props.values,
30
- _props$defaultValues = props.defaultValues,
31
- defaultValues = _props$defaultValues === void 0 ? [] : _props$defaultValues,
32
- icon = props.icon,
33
- _props$chooseAndClose = props.chooseAndClose,
34
- chooseAndClose = _props$chooseAndClose === void 0 ? true : _props$chooseAndClose,
35
- selectIndex = props.selectIndex,
36
- _props$defaultSelectI = props.defaultSelectIndex,
37
- defaultSelectIndex = _props$defaultSelectI === void 0 ? 0 : _props$defaultSelectI,
38
- showDropdown = props.showDropdown,
39
- _props$defaultShowDro = props.defaultShowDropdown,
40
- defaultShowDropdown = _props$defaultShowDro === void 0 ? false : _props$defaultShowDro,
41
- renderSelectLabel = props.renderSelectLabel,
42
- onValuesChange = props.onValuesChange,
43
- onSelectChange = props.onSelectChange,
44
- onDropdownChange = props.onDropdownChange,
45
- _props$getFormattedOp = props.getFormattedOptions,
46
- getFormattedOptions = _props$getFormattedOp === void 0 ? defaultFormatFunc : _props$getFormattedOp,
47
- children = props.children,
48
- extraForDropdown = props.extraForDropdown;
49
-
50
- var _useContext = useContext(GlobalContext),
51
- prefixCls = _useContext.prefixCls,
52
- locale = _useContext.locale;
53
-
54
- var _useState = useState(defaultValues),
55
- innerValues = _useState[0],
56
- setInnerValues = _useState[1];
57
-
58
- var _useState2 = useState(0),
59
- defaultTop = _useState2[0],
60
- setDefaultTop = _useState2[1];
61
-
62
- var currentValues = values !== void 0 ? values : innerValues;
63
-
64
- var _useState3 = useState(defaultShowDropdown),
65
- innerShowDropdown = _useState3[0],
66
- setInnerShowDropdown = _useState3[1];
67
-
68
- var dropdownShown = showDropdown !== void 0 ? showDropdown : innerShowDropdown;
69
-
70
- var _useState4 = useState(defaultSelectIndex),
71
- innerSelectedIndex = _useState4[0],
72
- setInnerSelectedIndex = _useState4[1];
73
-
74
- var selectedIndex = selectIndex !== void 0 ? selectIndex : innerSelectedIndex;
75
- var selectWrapper = useRef(null);
76
- var domRef = useRef(null);
77
- var defaultOpItem = {
78
- label: locale == null ? void 0 : locale.DropdownMenu.select,
79
- value: -1
80
- };
81
- /**
82
- * 下拉框的容器
83
- * @en Dropdown container
84
- */
85
-
86
- var getContainer = useCallback(function () {
87
- if (props.getContainer) {
88
- return props.getContainer() || selectWrapper.current;
89
- }
90
-
91
- return selectWrapper.current;
92
- }, [selectWrapper.current]);
93
- /**
94
- * 更新选项数组和选择情况
95
- * @en Update options list and selection
96
- */
97
-
98
- var _useMemo = useMemo(function () {
99
- return getFormattedOptions(options, currentValues);
100
- }, [options, currentValues]),
101
- formattedOptions = _useMemo.formattedOptions;
102
-
103
- var selectedOptions = useMemo(function () {
104
- return formattedOptions.map(function (ops, index) {
105
- return ops.find(function (op) {
106
- var value = currentValues[index];
107
- return Array.isArray(value) ? value.includes(op.value) : op.value === value;
108
- }) || (props.multiple ? defaultOpItem : ops[0]);
109
- });
110
- }, [formattedOptions, currentValues]);
111
- /**
112
- * 当下拉框的状态变化
113
- * @en When the state of the dropdown box changes
114
- */
115
-
116
- var handleShowDropdownChange = function handleShowDropdownChange(show, index) {
117
- onDropdownChange && onDropdownChange(show, index);
118
- setInnerShowDropdown(show);
119
- };
120
-
121
- var handleSelectedIndexChange = function handleSelectedIndexChange(idx) {
122
- setInnerSelectedIndex(idx);
123
- onSelectChange == null ? void 0 : onSelectChange(idx);
124
- };
125
-
126
- var handleValuesChange = function handleValuesChange(val) {
127
- var newValue = [].concat(currentValues); // 级联情况下 selectedIndex 之后的选项值重置
128
- // @en Option values are reset after selectedIndex in case of cascade
129
-
130
- if (isCascadeArray(options)) {
131
- newValue = newValue.slice(0, selectedIndex);
132
- }
133
-
134
- newValue[selectedIndex] = val;
135
- newValue = getFormattedOptions(options, newValue).formattedValue;
136
- setInnerValues(newValue);
137
- onValuesChange == null ? void 0 : onValuesChange(newValue);
138
- };
139
- /**
140
- * 处理选择框的点击事件
141
- * @en Handle click event of dropdown box
142
- */
143
-
144
-
145
- var handleSelectClick = function handleSelectClick(idx) {
146
- if (disabled[idx]) return;
147
-
148
- if (Number(idx) === selectedIndex) {
149
- handleShowDropdownChange(!dropdownShown, idx);
150
- } else {
151
- handleSelectedIndexChange(idx);
152
- if (!dropdownShown) handleShowDropdownChange(true, idx);
153
- }
154
- };
155
- /**
156
- * 判断是否为当前实例下的选择框
157
- * @en Determine whether it is the dropdown box under the current instance
158
- */
159
-
160
-
161
- var isCurrentSelectEl = function isCurrentSelectEl(target) {
162
- var _ref = extraForDropdown || {},
163
- isStopTouchEl = _ref.isStopTouchEl;
164
-
165
- return isRefDom(target, selectWrapper) && isClassNameDom(target, 'select-item') || (isStopTouchEl == null ? void 0 : isStopTouchEl(target)) || false;
166
- };
167
-
168
- useImperativeHandle(ref, function () {
169
- return {
170
- dom: domRef.current
171
- };
172
- });
173
- useEffect(function () {
174
- var _getContainer;
175
-
176
- setDefaultTop(((_getContainer = getContainer()) == null ? void 0 : _getContainer.getBoundingClientRect().bottom) || 0);
177
- }, [getContainer, dropdownShown]);
178
-
179
- var onCancel = props.onCancel || function () {
180
- return handleShowDropdownChange(false);
181
- };
182
-
183
- var dropdownCommonProps = _extends({
184
- showDropdown: dropdownShown,
185
- top: (extraForDropdown == null ? void 0 : extraForDropdown.top) || defaultTop,
186
- onCancel: onCancel
187
- }, extraForDropdown || {}, {
188
- isStopTouchEl: isCurrentSelectEl
189
- });
190
-
191
- return /*#__PURE__*/React.createElement("div", {
192
- ref: domRef,
193
- className: cls(prefixCls + "-dropdown-menu all-border-box " + (dropdownShown ? 'show' : ''), className),
194
- style: style
195
- }, /*#__PURE__*/React.createElement("div", {
196
- className: cls(prefixCls + "-select"),
197
- ref: selectWrapper
198
- }, selectedOptions.map(function (op, index) {
199
- var tip = selectTips[index] || '';
200
- return /*#__PURE__*/React.createElement("div", {
201
- className: cls(prefixCls + "-select-item", {
202
- 'is-disabled': disabled[index],
203
- 'is-selected': dropdownShown && selectedIndex === index
204
- }),
205
- key: index,
206
- "data-idx": index,
207
- onClick: function onClick() {
208
- return handleSelectClick(index);
209
- }
210
- }, tip.length > 0 && /*#__PURE__*/React.createElement("span", {
211
- className: cls(prefixCls + "-select-item-tip")
212
- }, tip), /*#__PURE__*/React.createElement("div", {
213
- className: cls(prefixCls + "-select-item-label")
214
- }, renderSelectLabel ? renderSelectLabel(op, index) : /*#__PURE__*/React.createElement("div", {
215
- className: cls(prefixCls + "-select-item-label-text")
216
- }, op.label), icon === void 0 ? /*#__PURE__*/React.createElement(IconTriDown, {
217
- className: cls(prefixCls + "-select-item-icon", {
218
- 'is-show': dropdownShown && selectedIndex === index
219
- })
220
- }) : icon));
221
- }), props.multiple === true ? /*#__PURE__*/React.createElement(Dropdown, _extends({
222
- multiple: true,
223
- options: formattedOptions[selectedIndex] || [],
224
- selectedValue: currentValues[selectedIndex] || [],
225
- onOptionClick: function onOptionClick(selected, val, op) {
226
- props.onOptionClick == null ? void 0 : props.onOptionClick(selected, val, op, selectedIndex);
227
- },
228
- onOptionChange: function onOptionChange(val, op) {
229
- props.onOptionChange == null ? void 0 : props.onOptionChange(val, op, selectedIndex);
230
- handleValuesChange(val);
231
- }
232
- }, dropdownCommonProps), children) : /*#__PURE__*/React.createElement(Dropdown, _extends({
233
- multiple: props.multiple,
234
- options: formattedOptions[selectedIndex] || [],
235
- selectedValue: currentValues[selectedIndex] || 0,
236
- onOptionClick: function onOptionClick(val, op) {
237
- props.onOptionClick == null ? void 0 : props.onOptionClick(val, op, selectedIndex);
238
-
239
- if (chooseAndClose) {
240
- handleShowDropdownChange(false, selectedIndex);
241
- }
242
- },
243
- onOptionChange: function onOptionChange(val, op) {
244
- props.onOptionChange == null ? void 0 : props.onOptionChange(val, op, selectedIndex);
245
- handleValuesChange(val);
246
- }
247
- }, dropdownCommonProps), children)));
248
- });
13
+ var DropdownMenu = componentGenerator(Dropdown);
249
14
  export default DropdownMenu;
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
- import { OptionsItem, DropdownCommonProps } from '../dropdown';
2
+ import { OptionsItem, DropdownCommonProps, OptionValueType } from '../dropdown';
3
3
  export type { OptionsItem, DropdownCommonProps };
4
4
  export interface CascadeOptions extends OptionsItem {
5
5
  /**
@@ -29,11 +29,6 @@ export interface DropdownMenuBasicProps {
29
29
  * @en The selected number of selector (controlled)
30
30
  */
31
31
  selectIndex?: number;
32
- /**
33
- * 自定义选择器
34
- * @en Custom selector
35
- */
36
- renderSelectLabel?: (op: OptionsItem, index: number) => ReactNode;
37
32
  /**
38
33
  * 选择器禁用状态
39
34
  * @en Selector disabled state
@@ -112,47 +107,53 @@ export interface SingleOptionProps {
112
107
  * 初始选择项
113
108
  * @en initial selection item
114
109
  * */
115
- defaultValues?: number[];
110
+ defaultValues?: OptionValueType[];
116
111
  /**
117
112
  * (受控) 每个选择器选中的项
118
113
  * @en (Controlled) The item selected by each selector
119
114
  * */
120
- values?: number[];
115
+ values?: OptionValueType[];
116
+ /**
117
+ * 自定义选择器
118
+ * @en Custom selector
119
+ */
120
+ renderSelectLabel?: (op: OptionsItem, index: number) => ReactNode;
121
121
  /**
122
122
  * 点击选项时触发的回调函数
123
123
  * @en Callback when clicking option
124
124
  * */
125
- onOptionClick?: (value: number, item: OptionsItem, selectIndex?: number) => void;
125
+ onOptionClick?: (value: OptionValueType, item: OptionsItem, selectIndex?: number) => void;
126
126
  /**
127
127
  * 选项改变时触发的回调函数
128
128
  * @en Callback when options change
129
129
  * */
130
- onOptionChange?: (value: number, item: OptionsItem, selectIndex?: number) => void;
130
+ onOptionChange?: (value: OptionValueType, item: OptionsItem, selectIndex?: number) => void;
131
131
  /**
132
132
  * 所有选择器选项总值改变时的回调函数
133
133
  * @en Callback when the total value of all selector options changes
134
134
  * */
135
- onValuesChange?: (values: number[]) => void;
135
+ onValuesChange?: (values: OptionValueType[]) => void;
136
136
  /**
137
137
  * 格式化传入的options
138
138
  * @en Format the input options
139
139
  * */
140
- getFormattedOptions?: (options: SingleOptionProps['options'], values?: number[]) => {
140
+ getFormattedOptions?: (options: SingleOptionProps['options'], values?: OptionValueType[]) => {
141
141
  formattedOptions: OptionsItem[][];
142
- formattedValue: number[];
142
+ formattedValue: OptionValueType[];
143
143
  };
144
144
  }
145
145
  export interface MultipleOptionProps {
146
146
  multiple: true;
147
147
  options: string[] | OptionsItem[][];
148
- defaultValues?: number[][];
149
- values?: number[][];
150
- onOptionClick?: (selected: boolean, val: number, item: OptionsItem, selectIndex?: number) => void;
151
- onOptionChange?: (vals: number[], item: OptionsItem, selectIndex?: number) => void;
152
- onValuesChange?: (values: number[][]) => void;
153
- getFormattedOptions?: (options: SingleOptionProps['options'], values?: number[][]) => {
148
+ defaultValues?: OptionValueType[][];
149
+ values?: OptionValueType[][];
150
+ renderSelectLabel?: (op: OptionsItem[], index: number) => ReactNode;
151
+ onOptionClick?: (selected: boolean, val: OptionValueType, item: OptionsItem, selectIndex?: number) => void;
152
+ onOptionChange?: (vals: OptionValueType[], item: OptionsItem, selectIndex?: number) => void;
153
+ onValuesChange?: (values: OptionValueType[][]) => void;
154
+ getFormattedOptions?: (options: SingleOptionProps['options'], values?: OptionValueType[][]) => {
154
155
  formattedOptions: OptionsItem[][];
155
- formattedValue: number[][];
156
+ formattedValue: OptionValueType[][];
156
157
  };
157
158
  }
158
159
  export declare type OptionProps = SingleOptionProps | MultipleOptionProps;
@@ -4,7 +4,7 @@ export * from './type';
4
4
  /**
5
5
  * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
6
6
  * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
7
- * @type 数据展示
7
+ * @type 信息展示
8
8
  * @type_en Data Display
9
9
  * @name 文本缩略
10
10
  * @name_en Ellipsis
@@ -8,7 +8,7 @@ export * from './type';
8
8
  /**
9
9
  * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
10
10
  * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
11
- * @type 数据展示
11
+ * @type 信息展示
12
12
  * @type_en Data Display
13
13
  * @name 文本缩略
14
14
  * @name_en Ellipsis
package/esm/grid/index.js CHANGED
@@ -36,14 +36,21 @@ var Grid = /*#__PURE__*/forwardRef(function (props, ref) {
36
36
  });
37
37
 
38
38
  var getRows = function getRows(prefix, rowsData, rows, row) {
39
- var fakeGrids = new Array(!isSliding && columns && rowsData.length % columns ? columns - rowsData.length % columns : 0).fill('');
40
- var widthStyle = {
41
- minWidth: 1 / columns * 100 + "%"
42
- };
39
+ var placeholders = !isSliding && rowsData.length % columns;
40
+ var renderData = rowsData;
41
+
42
+ if (placeholders) {
43
+ var fakeGrids = new Array(columns - placeholders).fill({
44
+ img: null,
45
+ title: ''
46
+ });
47
+ renderData = rowsData.concat(fakeGrids);
48
+ }
49
+
43
50
  return /*#__PURE__*/React.createElement("div", {
44
51
  className: prefix + "-rows",
45
52
  key: row
46
- }, rowsData.map(function (item, index) {
53
+ }, renderData.map(function (item, index) {
47
54
  var img = item.img,
48
55
  title = item.title,
49
56
  content = item.content,
@@ -57,7 +64,7 @@ var Grid = /*#__PURE__*/forwardRef(function (props, ref) {
57
64
  }
58
65
 
59
66
  var marginBottom = row + 1 === rows ? 0 : typeof gutter === 'number' ? gutter : (gutter == null ? void 0 : gutter.y) || 0;
60
- var rowLen = rowsData.length;
67
+ var rowLen = renderData.length;
61
68
  var marginRight = index + 1 === rowLen ? 0 : typeof gutter === 'number' ? gutter : (gutter == null ? void 0 : gutter.x) || 0;
62
69
  return /*#__PURE__*/React.createElement("div", {
63
70
  key: index,
@@ -86,12 +93,6 @@ var Grid = /*#__PURE__*/forwardRef(function (props, ref) {
86
93
  }) : null, (row + 1) % rows !== 0 ? /*#__PURE__*/React.createElement("i", {
87
94
  className: "horizontal-border"
88
95
  }) : null);
89
- }), fakeGrids.map(function (_, i) {
90
- return /*#__PURE__*/React.createElement("div", {
91
- className: cls(prefix + "-rows-item fake-col"),
92
- key: i,
93
- style: widthStyle
94
- });
95
96
  }));
96
97
  };
97
98
 
@@ -14,7 +14,6 @@ export interface ImageProps {
14
14
  /**
15
15
  * 指定图片状态,staticLabel=false时有效
16
16
  * @en The specified image state, valid when staticLabel=false
17
- * @default "init"
18
17
  */
19
18
  status?: ImageStatus;
20
19
  /**
@@ -178,7 +177,7 @@ export interface ImageRef {
178
177
  /**
179
178
  * 增强版的 img 标签,提供多种图片填充模式,支持图片加载中提示、加载失败提示。
180
179
  * @en Enhanced img tag, provides a variety of image filling modes, and supports image loading prompts and loading failure prompts.
181
- * @type 数据展示
180
+ * @type 信息展示
182
181
  * @type_en Data Display
183
182
  * @name 图片
184
183
  * @name_en Image
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { forwardRef, useImperativeHandle, useRef, useEffect, useMemo } from 'react';
3
- import { cls, handleUnit, nextTick } from '@arco-design/mobile-utils';
3
+ import { cls, defaultLocale, handleUnit, nextTick } from '@arco-design/mobile-utils';
4
4
  import { ContextLayout } from '../context-provider';
5
5
  import Loading from '../loading';
6
6
  import { useSystem, useWindowSize, getStyleWithVendor, useMountedState } from '../_helpers';
@@ -8,7 +8,7 @@ import { useSystem, useWindowSize, getStyleWithVendor, useMountedState } from '.
8
8
  /**
9
9
  * 增强版的 img 标签,提供多种图片填充模式,支持图片加载中提示、加载失败提示。
10
10
  * @en Enhanced img tag, provides a variety of image filling modes, and supports image loading prompts and loading failure prompts.
11
- * @type 数据展示
11
+ * @type 信息展示
12
12
  * @type_en Data Display
13
13
  * @name 图片
14
14
  * @name_en Image
@@ -37,10 +37,10 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
37
37
  var wrapRef = useRef(null);
38
38
  var retryCountRef = useRef(0);
39
39
  var loadingImageRef = useRef(null);
40
+ var hasLoadedRef = useRef(false);
40
41
  var style = props.style,
41
42
  className = props.className,
42
- _props$status = props.status,
43
- status = _props$status === void 0 ? 'init' : _props$status,
43
+ status = props.status,
44
44
  src = props.src,
45
45
  width = props.width,
46
46
  height = props.height,
@@ -80,6 +80,7 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
80
80
  var isPreview = Boolean(fit.indexOf('preview') >= 0);
81
81
  var actualBoxWidth = boxWidth || windowWidth;
82
82
  var actualBoxHeight = boxHeight || windowHeight;
83
+ var validStatus = status === undefined ? imageStatus : status;
83
84
  var attrs = useMemo(function () {
84
85
  var imageStyle = {};
85
86
 
@@ -160,6 +161,7 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
160
161
  image.onload = function (evt) {
161
162
  loadingImageRef.current = null;
162
163
  imageDomRef.current = image;
164
+ hasLoadedRef.current = true;
163
165
  changeStatus('loaded');
164
166
  var _image$width = image.width,
165
167
  imageWidth = _image$width === void 0 ? 0 : _image$width,
@@ -255,7 +257,9 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
255
257
  }
256
258
 
257
259
  return /*#__PURE__*/React.createElement(ContextLayout, null, function (_ref) {
258
- var prefixCls = _ref.prefixCls;
260
+ var prefixCls = _ref.prefixCls,
261
+ _ref$locale = _ref.locale,
262
+ locale = _ref$locale === void 0 ? defaultLocale : _ref$locale;
259
263
  return /*#__PURE__*/React.createElement("div", {
260
264
  className: cls(prefixCls + "-image all-border-box", {
261
265
  preview: isPreview
@@ -270,9 +274,10 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
270
274
  }, bottomOverlap || /*#__PURE__*/React.createElement("div", {
271
275
  className: "image-placeholder"
272
276
  })) : null, /*#__PURE__*/React.createElement("div", {
273
- className: cls('image-container', imageStatus, {
277
+ className: cls('image-container', validStatus, {
274
278
  animate: Boolean(animateDuration),
275
- 'static-label': staticLabel
279
+ 'static-label': staticLabel,
280
+ 'has-loaded': hasLoadedRef.current
276
281
  }),
277
282
  style: getStyleWithVendor({
278
283
  transitionDuration: animateDuration + "ms"
@@ -285,7 +290,7 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
285
290
  return _onLoad && _onLoad(e.nativeEvent, imageDomRef.current);
286
291
  },
287
292
  onError: handleStaticImageError
288
- })) : null), showLoading && (status === 'loading' || imageStatus === 'loading') ? /*#__PURE__*/React.createElement("div", {
293
+ })) : null), showLoading && validStatus === 'loading' ? /*#__PURE__*/React.createElement("div", {
289
294
  className: "image-content image-loading-container",
290
295
  style: {
291
296
  borderRadius: radius
@@ -297,7 +302,7 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
297
302
  className: "loading-icon",
298
303
  radius: 8.5,
299
304
  stroke: 3
300
- }))) : null, showError && (status === 'error' || imageStatus === 'error') ? /*#__PURE__*/React.createElement("div", {
305
+ }))) : null, showError && validStatus === 'error' ? /*#__PURE__*/React.createElement("div", {
301
306
  className: "image-content image-error-container",
302
307
  onClick: function onClick(e) {
303
308
  e.stopPropagation();
@@ -308,7 +313,7 @@ export var BaseImage = /*#__PURE__*/forwardRef(function (props, ref) {
308
313
  }
309
314
  }, errorArea || /*#__PURE__*/React.createElement("div", {
310
315
  className: "image-retry-load"
311
- }, "\u91CD\u8BD5")) : null, topOverlap ? /*#__PURE__*/React.createElement("div", {
316
+ }, locale.Image.loadError)) : null, topOverlap ? /*#__PURE__*/React.createElement("div", {
312
317
  className: "image-content image-top-overlap",
313
318
  style: {
314
319
  borderRadius: radius
@@ -66,7 +66,8 @@
66
66
  }
67
67
  .arco-image .image-container.static-label,
68
68
  .arco-image .image-container.loaded,
69
- .arco-image .image-container.error {
69
+ .arco-image .image-container.error,
70
+ .arco-image .image-container.has-loaded {
70
71
  opacity: 1;
71
72
  }
72
73
  .arco-image .image-container.animate {
@@ -66,7 +66,8 @@
66
66
 
67
67
  &.static-label,
68
68
  &.loaded,
69
- &.error {
69
+ &.error,
70
+ &.has-loaded {
70
71
  opacity: 1;
71
72
  }
72
73
 
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function AddIcon(): JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export default function AddIcon() {
3
+ return /*#__PURE__*/React.createElement("svg", {
4
+ width: "30",
5
+ height: "30",
6
+ viewBox: "0 0 30 30",
7
+ fill: "none"
8
+ }, /*#__PURE__*/React.createElement("path", {
9
+ fillRule: "evenodd",
10
+ clipRule: "evenodd",
11
+ d: "M14.5 0C14.2239 0 14 0.223857 14 0.5V14H0.5C0.223858 14 0 14.2239 0 14.5V15.5C0 15.7761 0.223857 16 0.5 16H14V29.5C14 29.7761 14.2239 30 14.5 30H15.5C15.7761 30 16 29.7761 16 29.5V16H29.5C29.7761 16 30 15.7761 30 15.5V14.5C30 14.2239 29.7761 14 29.5 14H16V0.5C16 0.223858 15.7761 0 15.5 0H14.5Z",
12
+ fill: "#C9CDD4"
13
+ }));
14
+ }
@@ -0,0 +1,40 @@
1
+ #demo-image-picker .demo-space {
2
+ font-size: 14px;
3
+ line-height: 1;
4
+ margin: 8px 0;
5
+ }
6
+ #demo-image-picker #demo-order-5 .custom-delete {
7
+ top: 4px;
8
+ right: 4px;
9
+ font-size: 18px;
10
+ position: absolute;
11
+ border-radius: 50%;
12
+ width: 18px;
13
+ height: 18px;
14
+ line-height: 16px;
15
+ text-align: center;
16
+ }
17
+ #demo-image-picker #demo-order-5 .custom-delete-bg {
18
+ background-color: #0000004d;
19
+ }
20
+ #demo-image-picker #demo-order-6 .loading,
21
+ #demo-image-picker #demo-order-6 .loading1,
22
+ #demo-image-picker #demo-order-6 .load-error,
23
+ #demo-image-picker #demo-order-6 .load-error1 {
24
+ background: rgba(0, 0, 0, 0.5);
25
+ text-align: center;
26
+ line-height: 1.5;
27
+ font-size: 14px;
28
+ color: #fff;
29
+ width: 100%;
30
+ height: 100%;
31
+ display: -webkit-box;
32
+ display: -webkit-flex;
33
+ display: flex;
34
+ -webkit-box-align: center;
35
+ -webkit-align-items: center;
36
+ align-items: center;
37
+ -webkit-box-pack: center;
38
+ -webkit-justify-content: center;
39
+ justify-content: center;
40
+ }
@@ -0,0 +1,42 @@
1
+ @import '../../../../style/mixin.less';
2
+
3
+ #demo-image-picker {
4
+ .demo-space{
5
+ font-size: 14px;
6
+ line-height: 1;
7
+ margin: 8px 0;
8
+ }
9
+ #demo-order-5 {
10
+ .custom-delete {
11
+ top: 4px;
12
+ right: 4px;
13
+ font-size: 18px;
14
+ position: absolute;
15
+ border-radius: 50%;
16
+ width: 18px;
17
+ height: 18px;
18
+ line-height: 16px;
19
+ text-align: center;
20
+ }
21
+ .custom-delete-bg {
22
+ background-color: #0000004d;
23
+ }
24
+ }
25
+ #demo-order-6 {
26
+ .loading,
27
+ .loading1,
28
+ .load-error,
29
+ .load-error1 {
30
+ background: rgba(0, 0, 0, 0.5);
31
+ text-align: center;
32
+ line-height: 1.5;
33
+ font-size: 14px;
34
+ color: #fff;
35
+ width: 100%;
36
+ height: 100%;
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { ImagePickerProps, ImagePickerRef } from './type';
3
+ export * from './type';
4
+ /**
5
+ * 图片选择器组件
6
+ * @en ImagePicker Component
7
+ * @type 数据录入
8
+ * @type_en Data Entry
9
+ * @name 图片选择器
10
+ * @name_en ImagePicker
11
+ */
12
+ declare const ImagePicker: React.ForwardRefExoticComponent<ImagePickerProps & React.RefAttributes<ImagePickerRef>>;
13
+ export default ImagePicker;