@arco-design/mobile-react 2.31.6 → 2.32.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 (859) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.en-US.md +2 -2
  4. package/README.md +2 -2
  5. package/cjs/_helpers/index.d.ts +1 -0
  6. package/cjs/_helpers/index.js +9 -0
  7. package/cjs/_helpers/react-dom.js +18 -10
  8. package/dist/index.js +91 -66
  9. package/dist/index.min.js +4 -4
  10. package/esm/_helpers/index.d.ts +1 -0
  11. package/esm/_helpers/index.js +1 -0
  12. package/esm/_helpers/react-dom.js +15 -11
  13. package/esnext/_helpers/hooks.d.ts +290 -0
  14. package/esnext/_helpers/hooks.js +660 -0
  15. package/esnext/_helpers/index.d.ts +93 -0
  16. package/esnext/_helpers/index.js +110 -0
  17. package/esnext/_helpers/react-dom.d.ts +13 -0
  18. package/esnext/_helpers/react-dom.js +51 -0
  19. package/esnext/_helpers/render.d.ts +17 -0
  20. package/esnext/_helpers/render.js +38 -0
  21. package/esnext/_helpers/type.d.ts +30 -0
  22. package/esnext/_helpers/type.js +1 -0
  23. package/esnext/action-sheet/index.d.ts +106 -0
  24. package/esnext/action-sheet/index.js +53 -0
  25. package/esnext/action-sheet/methods.d.ts +10 -0
  26. package/esnext/action-sheet/methods.js +4 -0
  27. package/esnext/action-sheet/style/css/index.css +741 -0
  28. package/esnext/action-sheet/style/css/index.d.ts +3 -0
  29. package/esnext/action-sheet/style/css/index.js +3 -0
  30. package/esnext/action-sheet/style/index.d.ts +3 -0
  31. package/esnext/action-sheet/style/index.js +3 -0
  32. package/esnext/action-sheet/style/index.less +119 -0
  33. package/esnext/avatar/group.d.ts +9 -0
  34. package/esnext/avatar/group.js +35 -0
  35. package/esnext/avatar/index.d.ts +17 -0
  36. package/esnext/avatar/index.js +87 -0
  37. package/esnext/avatar/style/css/index.css +792 -0
  38. package/esnext/avatar/style/css/index.d.ts +3 -0
  39. package/esnext/avatar/style/css/index.js +3 -0
  40. package/esnext/avatar/style/index.d.ts +3 -0
  41. package/esnext/avatar/style/index.js +3 -0
  42. package/esnext/avatar/style/index.less +201 -0
  43. package/esnext/avatar/type.d.ts +126 -0
  44. package/esnext/avatar/type.js +1 -0
  45. package/esnext/badge/index.d.ts +80 -0
  46. package/esnext/badge/index.js +29 -0
  47. package/esnext/badge/style/css/index.css +640 -0
  48. package/esnext/badge/style/css/index.d.ts +2 -0
  49. package/esnext/badge/style/css/index.js +2 -0
  50. package/esnext/badge/style/index.d.ts +2 -0
  51. package/esnext/badge/style/index.js +2 -0
  52. package/esnext/badge/style/index.less +109 -0
  53. package/esnext/button/hooks.d.ts +8 -0
  54. package/esnext/button/hooks.js +45 -0
  55. package/esnext/button/index.d.ts +141 -0
  56. package/esnext/button/index.js +61 -0
  57. package/esnext/button/style/css/index.css +816 -0
  58. package/esnext/button/style/css/index.d.ts +3 -0
  59. package/esnext/button/style/css/index.js +3 -0
  60. package/esnext/button/style/index.d.ts +3 -0
  61. package/esnext/button/style/index.js +3 -0
  62. package/esnext/button/style/index.less +242 -0
  63. package/esnext/carousel/index.d.ts +383 -0
  64. package/esnext/carousel/index.js +840 -0
  65. package/esnext/carousel/style/css/index.css +748 -0
  66. package/esnext/carousel/style/css/index.d.ts +2 -0
  67. package/esnext/carousel/style/css/index.js +2 -0
  68. package/esnext/carousel/style/index.d.ts +2 -0
  69. package/esnext/carousel/style/index.js +2 -0
  70. package/esnext/carousel/style/index.less +263 -0
  71. package/esnext/cell/arrow.d.ts +2 -0
  72. package/esnext/cell/arrow.js +5 -0
  73. package/esnext/cell/cell.d.ts +3 -0
  74. package/esnext/cell/cell.js +24 -0
  75. package/esnext/cell/group.d.ts +7 -0
  76. package/esnext/cell/group.js +26 -0
  77. package/esnext/cell/index.d.ts +14 -0
  78. package/esnext/cell/index.js +16 -0
  79. package/esnext/cell/style/css/index.css +1008 -0
  80. package/esnext/cell/style/css/index.d.ts +2 -0
  81. package/esnext/cell/style/css/index.js +2 -0
  82. package/esnext/cell/style/index.d.ts +2 -0
  83. package/esnext/cell/style/index.js +2 -0
  84. package/esnext/cell/style/index.less +214 -0
  85. package/esnext/cell/type.d.ts +125 -0
  86. package/esnext/cell/type.js +1 -0
  87. package/esnext/checkbox/checkbox.d.ts +3 -0
  88. package/esnext/checkbox/checkbox.js +106 -0
  89. package/esnext/checkbox/group.d.ts +4 -0
  90. package/esnext/checkbox/group.js +54 -0
  91. package/esnext/checkbox/hooks/index.d.ts +1 -0
  92. package/esnext/checkbox/hooks/index.js +1 -0
  93. package/esnext/checkbox/hooks/useMergeProps.d.ts +3 -0
  94. package/esnext/checkbox/hooks/useMergeProps.js +20 -0
  95. package/esnext/checkbox/index.d.ts +19 -0
  96. package/esnext/checkbox/index.js +22 -0
  97. package/esnext/checkbox/style/css/index.css +613 -0
  98. package/esnext/checkbox/style/css/index.d.ts +2 -0
  99. package/esnext/checkbox/style/css/index.js +2 -0
  100. package/esnext/checkbox/style/index.d.ts +2 -0
  101. package/esnext/checkbox/style/index.js +2 -0
  102. package/esnext/checkbox/style/index.less +119 -0
  103. package/esnext/checkbox/type.d.ts +162 -0
  104. package/esnext/checkbox/type.js +27 -0
  105. package/esnext/circle-progress/index.d.ts +141 -0
  106. package/esnext/circle-progress/index.js +75 -0
  107. package/esnext/circle-progress/style/css/index.css +582 -0
  108. package/esnext/circle-progress/style/css/index.d.ts +2 -0
  109. package/esnext/circle-progress/style/css/index.js +2 -0
  110. package/esnext/circle-progress/style/index.d.ts +2 -0
  111. package/esnext/circle-progress/style/index.js +2 -0
  112. package/esnext/circle-progress/style/index.less +101 -0
  113. package/esnext/collapse/collapse.d.ts +3 -0
  114. package/esnext/collapse/collapse.js +111 -0
  115. package/esnext/collapse/group.d.ts +21 -0
  116. package/esnext/collapse/group.js +80 -0
  117. package/esnext/collapse/index.d.ts +23 -0
  118. package/esnext/collapse/index.js +14 -0
  119. package/esnext/collapse/style/css/index.css +662 -0
  120. package/esnext/collapse/style/css/index.d.ts +2 -0
  121. package/esnext/collapse/style/css/index.js +2 -0
  122. package/esnext/collapse/style/index.d.ts +2 -0
  123. package/esnext/collapse/style/index.js +2 -0
  124. package/esnext/collapse/style/index.less +106 -0
  125. package/esnext/collapse/type.d.ts +139 -0
  126. package/esnext/collapse/type.js +1 -0
  127. package/esnext/collapse/utils.d.ts +8 -0
  128. package/esnext/collapse/utils.js +16 -0
  129. package/esnext/context-provider/index.d.ts +74 -0
  130. package/esnext/context-provider/index.js +99 -0
  131. package/esnext/context-provider/style/css/index.css +0 -0
  132. package/esnext/context-provider/style/css/index.d.ts +2 -0
  133. package/esnext/context-provider/style/css/index.js +2 -0
  134. package/esnext/context-provider/style/index.d.ts +2 -0
  135. package/esnext/context-provider/style/index.js +2 -0
  136. package/esnext/context-provider/style/index.less +1 -0
  137. package/esnext/count-down/hooks.d.ts +10 -0
  138. package/esnext/count-down/hooks.js +107 -0
  139. package/esnext/count-down/index.d.ts +13 -0
  140. package/esnext/count-down/index.js +37 -0
  141. package/esnext/count-down/singleton.d.ts +15 -0
  142. package/esnext/count-down/singleton.js +52 -0
  143. package/esnext/count-down/style/css/index.css +534 -0
  144. package/esnext/count-down/style/css/index.d.ts +2 -0
  145. package/esnext/count-down/style/css/index.js +2 -0
  146. package/esnext/count-down/style/index.d.ts +2 -0
  147. package/esnext/count-down/style/index.js +2 -0
  148. package/esnext/count-down/style/index.less +37 -0
  149. package/esnext/count-down/type.d.ts +112 -0
  150. package/esnext/count-down/type.js +1 -0
  151. package/esnext/count-down/util.d.ts +8 -0
  152. package/esnext/count-down/util.js +106 -0
  153. package/esnext/date-picker/helper.d.ts +5 -0
  154. package/esnext/date-picker/helper.js +38 -0
  155. package/esnext/date-picker/index.d.ts +24 -0
  156. package/esnext/date-picker/index.js +217 -0
  157. package/esnext/date-picker/style/css/index.css +526 -0
  158. package/esnext/date-picker/style/css/index.d.ts +3 -0
  159. package/esnext/date-picker/style/css/index.js +3 -0
  160. package/esnext/date-picker/style/index.d.ts +3 -0
  161. package/esnext/date-picker/style/index.js +3 -0
  162. package/esnext/date-picker/style/index.less +30 -0
  163. package/esnext/date-picker/type.d.ts +114 -0
  164. package/esnext/date-picker/type.js +1 -0
  165. package/esnext/dialog/index.d.ts +213 -0
  166. package/esnext/dialog/index.js +87 -0
  167. package/esnext/dialog/methods.d.ts +20 -0
  168. package/esnext/dialog/methods.js +42 -0
  169. package/esnext/dialog/style/css/index.css +1111 -0
  170. package/esnext/dialog/style/css/index.d.ts +3 -0
  171. package/esnext/dialog/style/css/index.js +3 -0
  172. package/esnext/dialog/style/index.d.ts +3 -0
  173. package/esnext/dialog/style/index.js +3 -0
  174. package/esnext/dialog/style/index.less +376 -0
  175. package/esnext/divider/index.d.ts +49 -0
  176. package/esnext/divider/index.js +32 -0
  177. package/esnext/divider/style/css/index.css +609 -0
  178. package/esnext/divider/style/css/index.d.ts +2 -0
  179. package/esnext/divider/style/css/index.js +2 -0
  180. package/esnext/divider/style/index.d.ts +2 -0
  181. package/esnext/divider/style/index.js +2 -0
  182. package/esnext/divider/style/index.less +101 -0
  183. package/esnext/dropdown/dropdown.d.ts +3 -0
  184. package/esnext/dropdown/dropdown.js +196 -0
  185. package/esnext/dropdown/index.d.ts +14 -0
  186. package/esnext/dropdown/index.js +16 -0
  187. package/esnext/dropdown/options.d.ts +4 -0
  188. package/esnext/dropdown/options.js +61 -0
  189. package/esnext/dropdown/style/css/index.css +653 -0
  190. package/esnext/dropdown/style/css/index.d.ts +2 -0
  191. package/esnext/dropdown/style/css/index.js +2 -0
  192. package/esnext/dropdown/style/index.d.ts +2 -0
  193. package/esnext/dropdown/style/index.js +2 -0
  194. package/esnext/dropdown/style/index.less +177 -0
  195. package/esnext/dropdown/type.d.ts +269 -0
  196. package/esnext/dropdown/type.js +1 -0
  197. package/esnext/dropdown-menu/dropdown-menu.d.ts +4 -0
  198. package/esnext/dropdown-menu/dropdown-menu.js +161 -0
  199. package/esnext/dropdown-menu/helper.d.ts +34 -0
  200. package/esnext/dropdown-menu/helper.js +88 -0
  201. package/esnext/dropdown-menu/index.d.ts +12 -0
  202. package/esnext/dropdown-menu/index.js +13 -0
  203. package/esnext/dropdown-menu/style/css/index.css +705 -0
  204. package/esnext/dropdown-menu/style/css/index.d.ts +3 -0
  205. package/esnext/dropdown-menu/style/css/index.js +3 -0
  206. package/esnext/dropdown-menu/style/index.d.ts +3 -0
  207. package/esnext/dropdown-menu/style/index.js +3 -0
  208. package/esnext/dropdown-menu/style/index.less +122 -0
  209. package/esnext/dropdown-menu/type.d.ts +168 -0
  210. package/esnext/dropdown-menu/type.js +1 -0
  211. package/esnext/ellipsis/components/js-ellipsis.d.ts +6 -0
  212. package/esnext/ellipsis/components/js-ellipsis.js +178 -0
  213. package/esnext/ellipsis/components/native-ellipsis.d.ts +5 -0
  214. package/esnext/ellipsis/components/native-ellipsis.js +15 -0
  215. package/esnext/ellipsis/index.d.ts +13 -0
  216. package/esnext/ellipsis/index.js +31 -0
  217. package/esnext/ellipsis/style/css/index.css +556 -0
  218. package/esnext/ellipsis/style/css/index.d.ts +2 -0
  219. package/esnext/ellipsis/style/css/index.js +2 -0
  220. package/esnext/ellipsis/style/index.d.ts +2 -0
  221. package/esnext/ellipsis/style/index.js +2 -0
  222. package/esnext/ellipsis/style/index.less +63 -0
  223. package/esnext/ellipsis/type.d.ts +107 -0
  224. package/esnext/ellipsis/type.js +1 -0
  225. package/esnext/ellipsis/utils/dom.d.ts +2 -0
  226. package/esnext/ellipsis/utils/dom.js +35 -0
  227. package/esnext/ellipsis/utils/is.d.ts +3 -0
  228. package/esnext/ellipsis/utils/is.js +3 -0
  229. package/esnext/form/form-item-context.d.ts +3 -0
  230. package/esnext/form/form-item-context.js +6 -0
  231. package/esnext/form/form-item.d.ts +4 -0
  232. package/esnext/form/form-item.js +218 -0
  233. package/esnext/form/index.d.ts +16 -0
  234. package/esnext/form/index.js +50 -0
  235. package/esnext/form/linked-container.d.ts +8 -0
  236. package/esnext/form/linked-container.js +29 -0
  237. package/esnext/form/style/css/index.css +670 -0
  238. package/esnext/form/style/css/index.d.ts +2 -0
  239. package/esnext/form/style/css/index.js +2 -0
  240. package/esnext/form/style/index.d.ts +2 -0
  241. package/esnext/form/style/index.js +2 -0
  242. package/esnext/form/style/index.less +172 -0
  243. package/esnext/form/type.d.ts +373 -0
  244. package/esnext/form/type.js +26 -0
  245. package/esnext/form/useForm.d.ts +18 -0
  246. package/esnext/form/useForm.js +203 -0
  247. package/esnext/form/utils.d.ts +7 -0
  248. package/esnext/form/utils.js +21 -0
  249. package/esnext/grid/index.d.ts +112 -0
  250. package/esnext/grid/index.js +79 -0
  251. package/esnext/grid/style/css/index.css +661 -0
  252. package/esnext/grid/style/css/index.d.ts +2 -0
  253. package/esnext/grid/style/css/index.js +2 -0
  254. package/esnext/grid/style/index.d.ts +2 -0
  255. package/esnext/grid/style/index.js +2 -0
  256. package/esnext/grid/style/index.less +157 -0
  257. package/esnext/icon/IconAdd/index.d.ts +7 -0
  258. package/esnext/icon/IconAdd/index.js +7 -0
  259. package/esnext/icon/IconArrowBack/index.d.ts +7 -0
  260. package/esnext/icon/IconArrowBack/index.js +7 -0
  261. package/esnext/icon/IconArrowDown/index.d.ts +7 -0
  262. package/esnext/icon/IconArrowDown/index.js +7 -0
  263. package/esnext/icon/IconArrowIn/index.d.ts +7 -0
  264. package/esnext/icon/IconArrowIn/index.js +7 -0
  265. package/esnext/icon/IconArrowUp/index.d.ts +7 -0
  266. package/esnext/icon/IconArrowUp/index.js +7 -0
  267. package/esnext/icon/IconCheck/index.d.ts +7 -0
  268. package/esnext/icon/IconCheck/index.js +7 -0
  269. package/esnext/icon/IconCheckBold/index.d.ts +7 -0
  270. package/esnext/icon/IconCheckBold/index.js +8 -0
  271. package/esnext/icon/IconCircleChecked/index.d.ts +7 -0
  272. package/esnext/icon/IconCircleChecked/index.js +7 -0
  273. package/esnext/icon/IconCircleDisabled/index.d.ts +7 -0
  274. package/esnext/icon/IconCircleDisabled/index.js +7 -0
  275. package/esnext/icon/IconCircleUnchecked/index.d.ts +7 -0
  276. package/esnext/icon/IconCircleUnchecked/index.js +7 -0
  277. package/esnext/icon/IconClear/index.d.ts +7 -0
  278. package/esnext/icon/IconClear/index.js +7 -0
  279. package/esnext/icon/IconClose/index.d.ts +7 -0
  280. package/esnext/icon/IconClose/index.js +7 -0
  281. package/esnext/icon/IconCloseBold/index.d.ts +7 -0
  282. package/esnext/icon/IconCloseBold/index.js +8 -0
  283. package/esnext/icon/IconDelete/index.d.ts +7 -0
  284. package/esnext/icon/IconDelete/index.js +7 -0
  285. package/esnext/icon/IconDownload/index.d.ts +7 -0
  286. package/esnext/icon/IconDownload/index.js +7 -0
  287. package/esnext/icon/IconEdit/index.d.ts +7 -0
  288. package/esnext/icon/IconEdit/index.js +7 -0
  289. package/esnext/icon/IconErrorCircle/index.d.ts +7 -0
  290. package/esnext/icon/IconErrorCircle/index.js +8 -0
  291. package/esnext/icon/IconEyeInvisible/index.d.ts +7 -0
  292. package/esnext/icon/IconEyeInvisible/index.js +7 -0
  293. package/esnext/icon/IconEyeVisible/index.d.ts +7 -0
  294. package/esnext/icon/IconEyeVisible/index.js +7 -0
  295. package/esnext/icon/IconEyelashInvisible/index.d.ts +7 -0
  296. package/esnext/icon/IconEyelashInvisible/index.js +7 -0
  297. package/esnext/icon/IconFile/index.d.ts +7 -0
  298. package/esnext/icon/IconFile/index.js +7 -0
  299. package/esnext/icon/IconGift/index.d.ts +7 -0
  300. package/esnext/icon/IconGift/index.js +8 -0
  301. package/esnext/icon/IconHeart/index.d.ts +7 -0
  302. package/esnext/icon/IconHeart/index.js +8 -0
  303. package/esnext/icon/IconHome/index.d.ts +7 -0
  304. package/esnext/icon/IconHome/index.js +7 -0
  305. package/esnext/icon/IconKeyboard/index.d.ts +7 -0
  306. package/esnext/icon/IconKeyboard/index.js +8 -0
  307. package/esnext/icon/IconKeyboardDelete/index.d.ts +7 -0
  308. package/esnext/icon/IconKeyboardDelete/index.js +8 -0
  309. package/esnext/icon/IconLikeCircle/index.d.ts +7 -0
  310. package/esnext/icon/IconLikeCircle/index.js +7 -0
  311. package/esnext/icon/IconMinus/index.d.ts +7 -0
  312. package/esnext/icon/IconMinus/index.js +8 -0
  313. package/esnext/icon/IconMore/index.d.ts +7 -0
  314. package/esnext/icon/IconMore/index.js +7 -0
  315. package/esnext/icon/IconNotice/index.d.ts +7 -0
  316. package/esnext/icon/IconNotice/index.js +8 -0
  317. package/esnext/icon/IconNoticeOff/index.d.ts +7 -0
  318. package/esnext/icon/IconNoticeOff/index.js +8 -0
  319. package/esnext/icon/IconPicture/index.d.ts +7 -0
  320. package/esnext/icon/IconPicture/index.js +7 -0
  321. package/esnext/icon/IconPlay/index.d.ts +7 -0
  322. package/esnext/icon/IconPlay/index.js +8 -0
  323. package/esnext/icon/IconQuestionCircle/index.d.ts +7 -0
  324. package/esnext/icon/IconQuestionCircle/index.js +7 -0
  325. package/esnext/icon/IconRefresh/index.d.ts +7 -0
  326. package/esnext/icon/IconRefresh/index.js +7 -0
  327. package/esnext/icon/IconSad/index.d.ts +7 -0
  328. package/esnext/icon/IconSad/index.js +7 -0
  329. package/esnext/icon/IconScan/index.d.ts +7 -0
  330. package/esnext/icon/IconScan/index.js +7 -0
  331. package/esnext/icon/IconSearch/index.d.ts +7 -0
  332. package/esnext/icon/IconSearch/index.js +7 -0
  333. package/esnext/icon/IconSetting/index.d.ts +7 -0
  334. package/esnext/icon/IconSetting/index.js +8 -0
  335. package/esnext/icon/IconShop/index.d.ts +7 -0
  336. package/esnext/icon/IconShop/index.js +8 -0
  337. package/esnext/icon/IconShopping/index.d.ts +7 -0
  338. package/esnext/icon/IconShopping/index.js +8 -0
  339. package/esnext/icon/IconSmileFill/index.d.ts +7 -0
  340. package/esnext/icon/IconSmileFill/index.js +7 -0
  341. package/esnext/icon/IconSound/index.d.ts +7 -0
  342. package/esnext/icon/IconSound/index.js +8 -0
  343. package/esnext/icon/IconSquareChecked/index.d.ts +7 -0
  344. package/esnext/icon/IconSquareChecked/index.js +7 -0
  345. package/esnext/icon/IconSquareDisabled/index.d.ts +7 -0
  346. package/esnext/icon/IconSquareDisabled/index.js +7 -0
  347. package/esnext/icon/IconSquareUnchecked/index.d.ts +7 -0
  348. package/esnext/icon/IconSquareUnchecked/index.js +7 -0
  349. package/esnext/icon/IconStar/index.d.ts +7 -0
  350. package/esnext/icon/IconStar/index.js +7 -0
  351. package/esnext/icon/IconStarFill/index.d.ts +7 -0
  352. package/esnext/icon/IconStarFill/index.js +8 -0
  353. package/esnext/icon/IconStarHalf/index.d.ts +7 -0
  354. package/esnext/icon/IconStarHalf/index.js +7 -0
  355. package/esnext/icon/IconSubway/index.d.ts +7 -0
  356. package/esnext/icon/IconSubway/index.js +8 -0
  357. package/esnext/icon/IconSuccessCircle/index.d.ts +7 -0
  358. package/esnext/icon/IconSuccessCircle/index.js +8 -0
  359. package/esnext/icon/IconTriDown/index.d.ts +7 -0
  360. package/esnext/icon/IconTriDown/index.js +8 -0
  361. package/esnext/icon/IconTriUp/index.d.ts +7 -0
  362. package/esnext/icon/IconTriUp/index.js +8 -0
  363. package/esnext/icon/IconUpload/index.d.ts +7 -0
  364. package/esnext/icon/IconUpload/index.js +7 -0
  365. package/esnext/icon/IconUser/index.d.ts +7 -0
  366. package/esnext/icon/IconUser/index.js +7 -0
  367. package/esnext/icon/IconUserFill/index.d.ts +7 -0
  368. package/esnext/icon/IconUserFill/index.js +7 -0
  369. package/esnext/icon/IconWarnCircle/index.d.ts +7 -0
  370. package/esnext/icon/IconWarnCircle/index.js +8 -0
  371. package/esnext/icon/IconWarnCircleFill/index.d.ts +7 -0
  372. package/esnext/icon/IconWarnCircleFill/index.js +8 -0
  373. package/esnext/icon/index.d.ts +59 -0
  374. package/esnext/icon/index.js +59 -0
  375. package/esnext/icon/type.d.ts +10 -0
  376. package/esnext/icon/type.js +1 -0
  377. package/esnext/image/index.d.ts +186 -0
  378. package/esnext/image/index.js +223 -0
  379. package/esnext/image/style/css/index.css +734 -0
  380. package/esnext/image/style/css/index.d.ts +3 -0
  381. package/esnext/image/style/css/index.js +3 -0
  382. package/esnext/image/style/index.d.ts +3 -0
  383. package/esnext/image/style/index.js +3 -0
  384. package/esnext/image/style/index.less +198 -0
  385. package/esnext/image-picker/add-icon.d.ts +2 -0
  386. package/esnext/image-picker/add-icon.js +5 -0
  387. package/esnext/image-picker/index.d.ts +16 -0
  388. package/esnext/image-picker/index.js +77 -0
  389. package/esnext/image-picker/style/css/index.css +688 -0
  390. package/esnext/image-picker/style/css/index.d.ts +4 -0
  391. package/esnext/image-picker/style/css/index.js +4 -0
  392. package/esnext/image-picker/style/index.d.ts +4 -0
  393. package/esnext/image-picker/style/index.js +4 -0
  394. package/esnext/image-picker/style/index.less +170 -0
  395. package/esnext/image-picker/type.d.ts +115 -0
  396. package/esnext/image-picker/type.js +1 -0
  397. package/esnext/image-preview/index.d.ts +296 -0
  398. package/esnext/image-preview/index.js +794 -0
  399. package/esnext/image-preview/methods.d.ts +13 -0
  400. package/esnext/image-preview/methods.js +46 -0
  401. package/esnext/image-preview/style/css/index.css +664 -0
  402. package/esnext/image-preview/style/css/index.d.ts +5 -0
  403. package/esnext/image-preview/style/css/index.js +5 -0
  404. package/esnext/image-preview/style/index.d.ts +5 -0
  405. package/esnext/image-preview/style/index.js +5 -0
  406. package/esnext/image-preview/style/index.less +140 -0
  407. package/esnext/index-bar/context.d.ts +3 -0
  408. package/esnext/index-bar/context.js +6 -0
  409. package/esnext/index-bar/group.d.ts +3 -0
  410. package/esnext/index-bar/group.js +33 -0
  411. package/esnext/index-bar/index.d.ts +15 -0
  412. package/esnext/index-bar/index.js +151 -0
  413. package/esnext/index-bar/side-bar.d.ts +3 -0
  414. package/esnext/index-bar/side-bar.js +44 -0
  415. package/esnext/index-bar/style/css/index.css +767 -0
  416. package/esnext/index-bar/style/css/index.d.ts +3 -0
  417. package/esnext/index-bar/style/css/index.js +3 -0
  418. package/esnext/index-bar/style/index.d.ts +3 -0
  419. package/esnext/index-bar/style/index.js +3 -0
  420. package/esnext/index-bar/style/index.less +189 -0
  421. package/esnext/index-bar/type.d.ts +195 -0
  422. package/esnext/index-bar/type.js +1 -0
  423. package/esnext/index-bar/utils.d.ts +6 -0
  424. package/esnext/index-bar/utils.js +44 -0
  425. package/esnext/index.d.ts +59 -0
  426. package/esnext/index.js +59 -0
  427. package/esnext/input/hooks.d.ts +14 -0
  428. package/esnext/input/hooks.js +174 -0
  429. package/esnext/input/index.d.ts +60 -0
  430. package/esnext/input/index.js +28 -0
  431. package/esnext/input/props.d.ts +182 -0
  432. package/esnext/input/props.js +1 -0
  433. package/esnext/input/style/css/index.css +759 -0
  434. package/esnext/input/style/css/index.d.ts +2 -0
  435. package/esnext/input/style/css/index.js +2 -0
  436. package/esnext/input/style/index.d.ts +2 -0
  437. package/esnext/input/style/index.js +2 -0
  438. package/esnext/input/style/index.less +195 -0
  439. package/esnext/keyboard/index.d.ts +13 -0
  440. package/esnext/keyboard/index.js +159 -0
  441. package/esnext/keyboard/style/css/index.css +633 -0
  442. package/esnext/keyboard/style/css/index.d.ts +3 -0
  443. package/esnext/keyboard/style/css/index.js +3 -0
  444. package/esnext/keyboard/style/index.d.ts +3 -0
  445. package/esnext/keyboard/style/index.js +3 -0
  446. package/esnext/keyboard/style/index.less +131 -0
  447. package/esnext/keyboard/type.d.ts +102 -0
  448. package/esnext/keyboard/type.js +1 -0
  449. package/esnext/load-more/index.d.ts +158 -0
  450. package/esnext/load-more/index.js +150 -0
  451. package/esnext/load-more/style/css/index.css +534 -0
  452. package/esnext/load-more/style/css/index.d.ts +2 -0
  453. package/esnext/load-more/style/css/index.js +2 -0
  454. package/esnext/load-more/style/index.d.ts +2 -0
  455. package/esnext/load-more/style/index.js +2 -0
  456. package/esnext/load-more/style/index.less +37 -0
  457. package/esnext/loading/index.d.ts +76 -0
  458. package/esnext/loading/index.js +123 -0
  459. package/esnext/loading/style/css/index.css +648 -0
  460. package/esnext/loading/style/css/index.d.ts +2 -0
  461. package/esnext/loading/style/css/index.js +2 -0
  462. package/esnext/loading/style/index.d.ts +2 -0
  463. package/esnext/loading/style/index.js +2 -0
  464. package/esnext/loading/style/index.less +147 -0
  465. package/esnext/masking/index.d.ts +225 -0
  466. package/esnext/masking/index.js +114 -0
  467. package/esnext/masking/methods.d.ts +23 -0
  468. package/esnext/masking/methods.js +56 -0
  469. package/esnext/masking/style/css/index.css +552 -0
  470. package/esnext/masking/style/css/index.d.ts +3 -0
  471. package/esnext/masking/style/css/index.js +3 -0
  472. package/esnext/masking/style/index.d.ts +3 -0
  473. package/esnext/masking/style/index.js +3 -0
  474. package/esnext/masking/style/index.less +55 -0
  475. package/esnext/nav-bar/back-icon.d.ts +5 -0
  476. package/esnext/nav-bar/back-icon.js +9 -0
  477. package/esnext/nav-bar/index.d.ts +135 -0
  478. package/esnext/nav-bar/index.js +96 -0
  479. package/esnext/nav-bar/style/css/index.css +706 -0
  480. package/esnext/nav-bar/style/css/index.d.ts +2 -0
  481. package/esnext/nav-bar/style/css/index.js +2 -0
  482. package/esnext/nav-bar/style/index.d.ts +2 -0
  483. package/esnext/nav-bar/style/index.js +2 -0
  484. package/esnext/nav-bar/style/index.less +150 -0
  485. package/esnext/notice-bar/index.d.ts +107 -0
  486. package/esnext/notice-bar/index.js +126 -0
  487. package/esnext/notice-bar/style/css/index.css +685 -0
  488. package/esnext/notice-bar/style/css/index.d.ts +2 -0
  489. package/esnext/notice-bar/style/css/index.js +2 -0
  490. package/esnext/notice-bar/style/index.d.ts +2 -0
  491. package/esnext/notice-bar/style/index.js +2 -0
  492. package/esnext/notice-bar/style/index.less +160 -0
  493. package/esnext/notify/index.d.ts +97 -0
  494. package/esnext/notify/index.js +123 -0
  495. package/esnext/notify/methods.d.ts +14 -0
  496. package/esnext/notify/methods.js +63 -0
  497. package/esnext/notify/style/css/index.css +591 -0
  498. package/esnext/notify/style/css/index.d.ts +2 -0
  499. package/esnext/notify/style/css/index.js +2 -0
  500. package/esnext/notify/style/index.d.ts +2 -0
  501. package/esnext/notify/style/index.js +2 -0
  502. package/esnext/notify/style/index.less +90 -0
  503. package/esnext/notify/type.d.ts +70 -0
  504. package/esnext/notify/type.js +1 -0
  505. package/esnext/pagination/arrow.d.ts +2 -0
  506. package/esnext/pagination/arrow.js +5 -0
  507. package/esnext/pagination/index.d.ts +124 -0
  508. package/esnext/pagination/index.js +104 -0
  509. package/esnext/pagination/style/css/index.css +708 -0
  510. package/esnext/pagination/style/css/index.d.ts +2 -0
  511. package/esnext/pagination/style/css/index.js +2 -0
  512. package/esnext/pagination/style/index.d.ts +2 -0
  513. package/esnext/pagination/style/index.js +2 -0
  514. package/esnext/pagination/style/index.less +176 -0
  515. package/esnext/picker/index.d.ts +50 -0
  516. package/esnext/picker/index.js +93 -0
  517. package/esnext/picker/style/css/index.css +592 -0
  518. package/esnext/picker/style/css/index.d.ts +4 -0
  519. package/esnext/picker/style/css/index.js +4 -0
  520. package/esnext/picker/style/index.d.ts +4 -0
  521. package/esnext/picker/style/index.js +4 -0
  522. package/esnext/picker/style/index.less +95 -0
  523. package/esnext/picker/type.d.ts +131 -0
  524. package/esnext/picker/type.js +1 -0
  525. package/esnext/picker-view/components/cascader.d.ts +25 -0
  526. package/esnext/picker-view/components/cascader.js +54 -0
  527. package/esnext/picker-view/components/multi-picker.d.ts +11 -0
  528. package/esnext/picker-view/components/multi-picker.js +32 -0
  529. package/esnext/picker-view/components/picker-cell.d.ts +28 -0
  530. package/esnext/picker-view/components/picker-cell.js +284 -0
  531. package/esnext/picker-view/index.d.ts +62 -0
  532. package/esnext/picker-view/index.js +135 -0
  533. package/esnext/picker-view/style/css/index.css +750 -0
  534. package/esnext/picker-view/style/css/index.d.ts +2 -0
  535. package/esnext/picker-view/style/css/index.js +2 -0
  536. package/esnext/picker-view/style/index.d.ts +2 -0
  537. package/esnext/picker-view/style/index.js +2 -0
  538. package/esnext/picker-view/style/index.less +125 -0
  539. package/esnext/picker-view/type.d.ts +89 -0
  540. package/esnext/picker-view/type.js +1 -0
  541. package/esnext/popover/hooks/index.d.ts +2 -0
  542. package/esnext/popover/hooks/index.js +2 -0
  543. package/esnext/popover/hooks/useEvent.d.ts +8 -0
  544. package/esnext/popover/hooks/useEvent.js +148 -0
  545. package/esnext/popover/hooks/usePosition.d.ts +18 -0
  546. package/esnext/popover/hooks/usePosition.js +419 -0
  547. package/esnext/popover/index.d.ts +14 -0
  548. package/esnext/popover/index.js +20 -0
  549. package/esnext/popover/menu.d.ts +3 -0
  550. package/esnext/popover/menu.js +80 -0
  551. package/esnext/popover/popover-inner.d.ts +3 -0
  552. package/esnext/popover/popover-inner.js +79 -0
  553. package/esnext/popover/popover.d.ts +3 -0
  554. package/esnext/popover/popover.js +132 -0
  555. package/esnext/popover/style/css/index.css +993 -0
  556. package/esnext/popover/style/css/index.d.ts +3 -0
  557. package/esnext/popover/style/css/index.js +3 -0
  558. package/esnext/popover/style/css/menu.css +673 -0
  559. package/esnext/popover/style/index.d.ts +3 -0
  560. package/esnext/popover/style/index.js +3 -0
  561. package/esnext/popover/style/index.less +353 -0
  562. package/esnext/popover/style/menu.less +163 -0
  563. package/esnext/popover/type.d.ts +447 -0
  564. package/esnext/popover/type.js +1 -0
  565. package/esnext/popup/index.d.ts +86 -0
  566. package/esnext/popup/index.js +39 -0
  567. package/esnext/popup/methods.d.ts +10 -0
  568. package/esnext/popup/methods.js +4 -0
  569. package/esnext/popup/style/css/index.css +638 -0
  570. package/esnext/popup/style/css/index.d.ts +3 -0
  571. package/esnext/popup/style/css/index.js +3 -0
  572. package/esnext/popup/style/index.d.ts +3 -0
  573. package/esnext/popup/style/index.js +3 -0
  574. package/esnext/popup/style/index.less +114 -0
  575. package/esnext/popup-swiper/index.d.ts +93 -0
  576. package/esnext/popup-swiper/index.js +192 -0
  577. package/esnext/popup-swiper/methods.d.ts +10 -0
  578. package/esnext/popup-swiper/methods.js +4 -0
  579. package/esnext/popup-swiper/style/css/index.css +531 -0
  580. package/esnext/popup-swiper/style/css/index.d.ts +3 -0
  581. package/esnext/popup-swiper/style/css/index.js +3 -0
  582. package/esnext/popup-swiper/style/index.d.ts +3 -0
  583. package/esnext/popup-swiper/style/index.js +3 -0
  584. package/esnext/popup-swiper/style/index.less +35 -0
  585. package/esnext/portal/index.d.ts +23 -0
  586. package/esnext/portal/index.js +18 -0
  587. package/esnext/portal/style/css/index.css +0 -0
  588. package/esnext/portal/style/css/index.d.ts +2 -0
  589. package/esnext/portal/style/css/index.js +2 -0
  590. package/esnext/portal/style/index.d.ts +2 -0
  591. package/esnext/portal/style/index.js +2 -0
  592. package/esnext/portal/style/index.less +1 -0
  593. package/esnext/progress/index.d.ts +126 -0
  594. package/esnext/progress/index.js +66 -0
  595. package/esnext/progress/style/css/index.css +692 -0
  596. package/esnext/progress/style/css/index.d.ts +2 -0
  597. package/esnext/progress/style/css/index.js +2 -0
  598. package/esnext/progress/style/index.d.ts +2 -0
  599. package/esnext/progress/style/index.js +2 -0
  600. package/esnext/progress/style/index.less +205 -0
  601. package/esnext/pull-refresh/android-pull-refresh.d.ts +3 -0
  602. package/esnext/pull-refresh/android-pull-refresh.js +168 -0
  603. package/esnext/pull-refresh/hooks.d.ts +30 -0
  604. package/esnext/pull-refresh/hooks.js +73 -0
  605. package/esnext/pull-refresh/index.d.ts +28 -0
  606. package/esnext/pull-refresh/index.js +21 -0
  607. package/esnext/pull-refresh/ios-pull-refresh.d.ts +3 -0
  608. package/esnext/pull-refresh/ios-pull-refresh.js +137 -0
  609. package/esnext/pull-refresh/model.d.ts +111 -0
  610. package/esnext/pull-refresh/model.js +8 -0
  611. package/esnext/pull-refresh/style/css/index.css +650 -0
  612. package/esnext/pull-refresh/style/css/index.d.ts +3 -0
  613. package/esnext/pull-refresh/style/css/index.js +3 -0
  614. package/esnext/pull-refresh/style/index.d.ts +3 -0
  615. package/esnext/pull-refresh/style/index.js +3 -0
  616. package/esnext/pull-refresh/style/index.less +131 -0
  617. package/esnext/radio/group.d.ts +5 -0
  618. package/esnext/radio/group.js +50 -0
  619. package/esnext/radio/index.d.ts +19 -0
  620. package/esnext/radio/index.js +22 -0
  621. package/esnext/radio/radio.d.ts +5 -0
  622. package/esnext/radio/radio.js +13 -0
  623. package/esnext/radio/style/css/index.css +604 -0
  624. package/esnext/radio/style/css/index.d.ts +2 -0
  625. package/esnext/radio/style/css/index.js +2 -0
  626. package/esnext/radio/style/index.d.ts +2 -0
  627. package/esnext/radio/style/index.js +2 -0
  628. package/esnext/radio/style/index.less +114 -0
  629. package/esnext/radio/type.d.ts +31 -0
  630. package/esnext/radio/type.js +1 -0
  631. package/esnext/rate/index.d.ts +109 -0
  632. package/esnext/rate/index.js +87 -0
  633. package/esnext/rate/style/css/index.css +595 -0
  634. package/esnext/rate/style/css/index.d.ts +2 -0
  635. package/esnext/rate/style/css/index.js +2 -0
  636. package/esnext/rate/style/index.d.ts +2 -0
  637. package/esnext/rate/style/index.js +2 -0
  638. package/esnext/rate/style/index.less +106 -0
  639. package/esnext/search-bar/association.d.ts +3 -0
  640. package/esnext/search-bar/association.js +51 -0
  641. package/esnext/search-bar/cancel-button.d.ts +10 -0
  642. package/esnext/search-bar/cancel-button.js +18 -0
  643. package/esnext/search-bar/highlight.d.ts +12 -0
  644. package/esnext/search-bar/highlight.js +46 -0
  645. package/esnext/search-bar/index.d.ts +13 -0
  646. package/esnext/search-bar/index.js +109 -0
  647. package/esnext/search-bar/style/css/index.css +765 -0
  648. package/esnext/search-bar/style/css/index.d.ts +2 -0
  649. package/esnext/search-bar/style/css/index.js +2 -0
  650. package/esnext/search-bar/style/index.d.ts +2 -0
  651. package/esnext/search-bar/style/index.js +2 -0
  652. package/esnext/search-bar/style/index.less +198 -0
  653. package/esnext/search-bar/type.d.ts +163 -0
  654. package/esnext/search-bar/type.js +1 -0
  655. package/esnext/show-monitor/index.d.ts +115 -0
  656. package/esnext/show-monitor/index.js +416 -0
  657. package/esnext/show-monitor/style/css/index.css +0 -0
  658. package/esnext/show-monitor/style/css/index.d.ts +2 -0
  659. package/esnext/show-monitor/style/css/index.js +2 -0
  660. package/esnext/show-monitor/style/index.d.ts +2 -0
  661. package/esnext/show-monitor/style/index.js +2 -0
  662. package/esnext/show-monitor/style/index.less +1 -0
  663. package/esnext/skeleton/elements.d.ts +7 -0
  664. package/esnext/skeleton/elements.js +117 -0
  665. package/esnext/skeleton/index.d.ts +19 -0
  666. package/esnext/skeleton/index.js +50 -0
  667. package/esnext/skeleton/skeleton-context.d.ts +3 -0
  668. package/esnext/skeleton/skeleton-context.js +5 -0
  669. package/esnext/skeleton/style/css/index.css +712 -0
  670. package/esnext/skeleton/style/css/index.d.ts +3 -0
  671. package/esnext/skeleton/style/css/index.js +3 -0
  672. package/esnext/skeleton/style/index.d.ts +3 -0
  673. package/esnext/skeleton/style/index.js +3 -0
  674. package/esnext/skeleton/style/index.less +182 -0
  675. package/esnext/skeleton/type.d.ts +105 -0
  676. package/esnext/skeleton/type.js +1 -0
  677. package/esnext/slider/hooks/index.d.ts +12 -0
  678. package/esnext/slider/hooks/index.js +33 -0
  679. package/esnext/slider/hooks/useSliderEvents.d.ts +17 -0
  680. package/esnext/slider/hooks/useSliderEvents.js +128 -0
  681. package/esnext/slider/hooks/useSliderIcon.d.ts +7 -0
  682. package/esnext/slider/hooks/useSliderIcon.js +41 -0
  683. package/esnext/slider/hooks/useSliderInit.d.ts +14 -0
  684. package/esnext/slider/hooks/useSliderInit.js +146 -0
  685. package/esnext/slider/hooks/useSliderStyle.d.ts +13 -0
  686. package/esnext/slider/hooks/useSliderStyle.js +39 -0
  687. package/esnext/slider/index.d.ts +163 -0
  688. package/esnext/slider/index.js +120 -0
  689. package/esnext/slider/marks.d.ts +11 -0
  690. package/esnext/slider/marks.js +17 -0
  691. package/esnext/slider/popover.d.ts +6 -0
  692. package/esnext/slider/popover.js +13 -0
  693. package/esnext/slider/style/css/index.css +863 -0
  694. package/esnext/slider/style/css/index.d.ts +3 -0
  695. package/esnext/slider/style/css/index.js +3 -0
  696. package/esnext/slider/style/index.d.ts +3 -0
  697. package/esnext/slider/style/index.js +3 -0
  698. package/esnext/slider/style/index.less +366 -0
  699. package/esnext/slider/thumb.d.ts +9 -0
  700. package/esnext/slider/thumb.js +21 -0
  701. package/esnext/stepper/hooks/useButtonClick.d.ts +11 -0
  702. package/esnext/stepper/hooks/useButtonClick.js +46 -0
  703. package/esnext/stepper/hooks/useInputEvent.d.ts +10 -0
  704. package/esnext/stepper/hooks/useInputEvent.js +41 -0
  705. package/esnext/stepper/hooks/useValue.d.ts +7 -0
  706. package/esnext/stepper/hooks/useValue.js +33 -0
  707. package/esnext/stepper/index.d.ts +16 -0
  708. package/esnext/stepper/index.js +81 -0
  709. package/esnext/stepper/style/css/index.css +636 -0
  710. package/esnext/stepper/style/css/index.d.ts +2 -0
  711. package/esnext/stepper/style/css/index.js +2 -0
  712. package/esnext/stepper/style/index.d.ts +2 -0
  713. package/esnext/stepper/style/index.js +2 -0
  714. package/esnext/stepper/style/index.less +161 -0
  715. package/esnext/stepper/type.d.ts +159 -0
  716. package/esnext/stepper/type.js +1 -0
  717. package/esnext/steps/index.d.ts +19 -0
  718. package/esnext/steps/index.js +50 -0
  719. package/esnext/steps/step.d.ts +4 -0
  720. package/esnext/steps/step.js +43 -0
  721. package/esnext/steps/style/css/index.css +877 -0
  722. package/esnext/steps/style/css/index.d.ts +2 -0
  723. package/esnext/steps/style/css/index.js +2 -0
  724. package/esnext/steps/style/index.d.ts +2 -0
  725. package/esnext/steps/style/index.js +2 -0
  726. package/esnext/steps/style/index.less +407 -0
  727. package/esnext/steps/type.d.ts +110 -0
  728. package/esnext/steps/type.js +1 -0
  729. package/esnext/sticky/index.d.ts +141 -0
  730. package/esnext/sticky/index.js +165 -0
  731. package/esnext/sticky/style/css/index.css +526 -0
  732. package/esnext/sticky/style/css/index.d.ts +2 -0
  733. package/esnext/sticky/style/css/index.js +2 -0
  734. package/esnext/sticky/style/index.d.ts +2 -0
  735. package/esnext/sticky/style/index.js +2 -0
  736. package/esnext/sticky/style/index.less +30 -0
  737. package/esnext/style.d.ts +60 -0
  738. package/esnext/style.js +60 -0
  739. package/esnext/swipe-action/index.d.ts +13 -0
  740. package/esnext/swipe-action/index.js +220 -0
  741. package/esnext/swipe-action/item.d.ts +11 -0
  742. package/esnext/swipe-action/item.js +20 -0
  743. package/esnext/swipe-action/style/css/index.css +620 -0
  744. package/esnext/swipe-action/style/css/index.d.ts +2 -0
  745. package/esnext/swipe-action/style/css/index.js +2 -0
  746. package/esnext/swipe-action/style/index.d.ts +2 -0
  747. package/esnext/swipe-action/style/index.js +2 -0
  748. package/esnext/swipe-action/style/index.less +132 -0
  749. package/esnext/swipe-action/type.d.ts +123 -0
  750. package/esnext/swipe-action/type.js +1 -0
  751. package/esnext/swipe-load/index.d.ts +13 -0
  752. package/esnext/swipe-load/index.js +255 -0
  753. package/esnext/swipe-load/style/css/index.css +561 -0
  754. package/esnext/swipe-load/style/css/index.d.ts +2 -0
  755. package/esnext/swipe-load/style/css/index.js +2 -0
  756. package/esnext/swipe-load/style/index.d.ts +2 -0
  757. package/esnext/swipe-load/style/index.js +2 -0
  758. package/esnext/swipe-load/style/index.less +66 -0
  759. package/esnext/swipe-load/type.d.ts +152 -0
  760. package/esnext/swipe-load/type.js +1 -0
  761. package/esnext/switch/index.d.ts +105 -0
  762. package/esnext/switch/index.js +83 -0
  763. package/esnext/switch/style/css/index.css +765 -0
  764. package/esnext/switch/style/css/index.d.ts +2 -0
  765. package/esnext/switch/style/css/index.js +2 -0
  766. package/esnext/switch/style/index.d.ts +2 -0
  767. package/esnext/switch/style/index.js +2 -0
  768. package/esnext/switch/style/index.less +217 -0
  769. package/esnext/tab-bar/index.d.ts +14 -0
  770. package/esnext/tab-bar/index.js +16 -0
  771. package/esnext/tab-bar/item.d.ts +3 -0
  772. package/esnext/tab-bar/item.js +31 -0
  773. package/esnext/tab-bar/style/css/index.css +617 -0
  774. package/esnext/tab-bar/style/css/index.d.ts +2 -0
  775. package/esnext/tab-bar/style/css/index.js +2 -0
  776. package/esnext/tab-bar/style/index.d.ts +2 -0
  777. package/esnext/tab-bar/style/index.js +2 -0
  778. package/esnext/tab-bar/style/index.less +96 -0
  779. package/esnext/tab-bar/tab-bar.d.ts +11 -0
  780. package/esnext/tab-bar/tab-bar.js +40 -0
  781. package/esnext/tab-bar/type.d.ts +95 -0
  782. package/esnext/tab-bar/type.js +1 -0
  783. package/esnext/tabs/index.d.ts +13 -0
  784. package/esnext/tabs/index.js +340 -0
  785. package/esnext/tabs/style/css/index.css +1162 -0
  786. package/esnext/tabs/style/css/index.d.ts +2 -0
  787. package/esnext/tabs/style/css/index.js +2 -0
  788. package/esnext/tabs/style/index.d.ts +2 -0
  789. package/esnext/tabs/style/index.js +2 -0
  790. package/esnext/tabs/style/index.less +559 -0
  791. package/esnext/tabs/tab-cell-underline.d.ts +4 -0
  792. package/esnext/tabs/tab-cell-underline.js +237 -0
  793. package/esnext/tabs/tab-cell.d.ts +4 -0
  794. package/esnext/tabs/tab-cell.js +258 -0
  795. package/esnext/tabs/tab-pane.d.ts +4 -0
  796. package/esnext/tabs/tab-pane.js +241 -0
  797. package/esnext/tabs/type.d.ts +629 -0
  798. package/esnext/tabs/type.js +1 -0
  799. package/esnext/tag/index.d.ts +14 -0
  800. package/esnext/tag/index.js +20 -0
  801. package/esnext/tag/list.d.ts +3 -0
  802. package/esnext/tag/list.js +47 -0
  803. package/esnext/tag/style/css/index.css +738 -0
  804. package/esnext/tag/style/css/index.d.ts +2 -0
  805. package/esnext/tag/style/css/index.js +2 -0
  806. package/esnext/tag/style/index.d.ts +2 -0
  807. package/esnext/tag/style/index.js +2 -0
  808. package/esnext/tag/style/index.less +188 -0
  809. package/esnext/tag/tag.d.ts +3 -0
  810. package/esnext/tag/tag.js +32 -0
  811. package/esnext/tag/type.d.ts +159 -0
  812. package/esnext/tag/type.js +1 -0
  813. package/esnext/textarea/index.d.ts +96 -0
  814. package/esnext/textarea/index.js +88 -0
  815. package/esnext/textarea/style/css/index.css +572 -0
  816. package/esnext/textarea/style/css/index.d.ts +3 -0
  817. package/esnext/textarea/style/css/index.js +3 -0
  818. package/esnext/textarea/style/index.d.ts +3 -0
  819. package/esnext/textarea/style/index.js +3 -0
  820. package/esnext/textarea/style/index.less +84 -0
  821. package/esnext/toast/index.d.ts +257 -0
  822. package/esnext/toast/index.js +142 -0
  823. package/esnext/toast/methods.d.ts +16 -0
  824. package/esnext/toast/methods.js +61 -0
  825. package/esnext/toast/style/css/index.css +658 -0
  826. package/esnext/toast/style/css/index.d.ts +4 -0
  827. package/esnext/toast/style/css/index.js +4 -0
  828. package/esnext/toast/style/index.d.ts +4 -0
  829. package/esnext/toast/style/index.js +4 -0
  830. package/esnext/toast/style/index.less +130 -0
  831. package/esnext/transition/index.d.ts +49 -0
  832. package/esnext/transition/index.js +15 -0
  833. package/esnext/transition/style/css/index.css +549 -0
  834. package/esnext/transition/style/css/index.d.ts +2 -0
  835. package/esnext/transition/style/css/index.js +2 -0
  836. package/esnext/transition/style/index.d.ts +2 -0
  837. package/esnext/transition/style/index.js +2 -0
  838. package/esnext/transition/style/index.less +53 -0
  839. package/esnext/uploader/index.d.ts +16 -0
  840. package/esnext/uploader/index.js +75 -0
  841. package/esnext/uploader/style/css/index.css +666 -0
  842. package/esnext/uploader/style/css/index.d.ts +4 -0
  843. package/esnext/uploader/style/css/index.js +4 -0
  844. package/esnext/uploader/style/index.d.ts +4 -0
  845. package/esnext/uploader/style/index.js +4 -0
  846. package/esnext/uploader/style/index.less +161 -0
  847. package/esnext/uploader/type.d.ts +108 -0
  848. package/esnext/uploader/type.js +1 -0
  849. package/esnext/uploader/upload/index.d.ts +2 -0
  850. package/esnext/uploader/upload/index.js +2 -0
  851. package/esnext/uploader/upload/type.d.ts +107 -0
  852. package/esnext/uploader/upload/type.js +1 -0
  853. package/esnext/uploader/upload/upload.d.ts +20 -0
  854. package/esnext/uploader/upload/upload.js +123 -0
  855. package/esnext-tsconfig.json +23 -0
  856. package/package.json +3 -3
  857. package/umd/_helpers/index.d.ts +1 -0
  858. package/umd/_helpers/index.js +10 -4
  859. package/umd/_helpers/react-dom.js +21 -14
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ContextLayout } from '../../context-provider';
3
+ export default function IconUser(props) {
4
+ const { className = '', useCurrentColor = true, style, ...other } = props;
5
+ return (React.createElement(ContextLayout, null, ({ prefixCls }) => (React.createElement("svg", Object.assign({ className: `${prefixCls}-icon ${prefixCls}-icon-user ${className}`, width: "1em", height: "1em", style: style, viewBox: "0 0 1024 1024", xmlns: "http://www.w3.org/2000/svg" }, other),
6
+ React.createElement("path", { fill: useCurrentColor ? 'currentColor' : '#000', d: "M512 192a106.688 106.688 0 000 213.333A106.688 106.688 0 00512 192zM320 298.667a192 192 0 11384 0 192 192 0 01-384 0zM398.293 640C320.64 640 256 703.936 256 785.067v68.266h512v-68.266C768 703.936 703.36 640 625.707 640H398.293zM170.667 785.067c0-127.254 101.973-230.4 227.626-230.4h227.414c125.653 0 227.626 103.146 227.626 230.4v115.2c0 21.205-17.066 38.4-37.973 38.4H208.64c-20.907 0-37.973-17.195-37.973-38.4v-115.2z" })))));
7
+ }
@@ -0,0 +1,7 @@
1
+ import { SVGAttributes, CSSProperties } from 'react';
2
+ export interface IconProps extends SVGAttributes<SVGElement> {
3
+ className?: string;
4
+ useCurrentColor?: boolean;
5
+ style?: CSSProperties;
6
+ }
7
+ export default function IconUserFill(props: IconProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ContextLayout } from '../../context-provider';
3
+ export default function IconUserFill(props) {
4
+ const { className = '', useCurrentColor = true, style, ...other } = props;
5
+ return (React.createElement(ContextLayout, null, ({ prefixCls }) => (React.createElement("svg", Object.assign({ className: `${prefixCls}-icon ${prefixCls}-icon-user-fill ${className}`, width: "1em", height: "1em", style: style, viewBox: "0 0 20 20", fill: useCurrentColor ? 'currentColor' : '#000', xmlns: "http://www.w3.org/2000/svg" }, other),
6
+ React.createElement("path", { d: "M12.5 10.833c2.301 0 5 1.786 5 5v2.5c0 .46-.373.834-.833.834H3.333a.833.833 0 01-.833-.834v-2.5c0-3.211 2.699-5 5-5h5zM10 1.25a4.167 4.167 0 110 8.333 4.167 4.167 0 010-8.333z" })))));
7
+ }
@@ -0,0 +1,7 @@
1
+ import { SVGAttributes, CSSProperties } from 'react';
2
+ export interface IconProps extends SVGAttributes<SVGElement> {
3
+ className?: string;
4
+ useCurrentColor?: boolean;
5
+ style?: CSSProperties;
6
+ }
7
+ export default function IconWarnCircle(props: IconProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ContextLayout } from '../../context-provider';
3
+ export default function IconWarnCircle(props) {
4
+ const { className = '', useCurrentColor = true, style, ...other } = props;
5
+ return (React.createElement(ContextLayout, null, ({ prefixCls }) => (React.createElement("svg", Object.assign({ className: `${prefixCls}-icon ${prefixCls}-icon-warn-circle ${className}`, width: "1em", height: "1em", style: style, fill: useCurrentColor ? 'currentColor' : '#000', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, other),
6
+ React.createElement("path", { d: "M12 24C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm0-22.5C6.2 1.5 1.5 6.2 1.5 12S6.2 22.5 12 22.5 22.5 17.8 22.5 12 17.8 1.5 12 1.5z" }),
7
+ React.createElement("path", { d: "M11.8 15.2h.3c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7h-.3c-.4 0-.7.3-.7.7v7.3c0 .4.3.7.7.7zM12.2 16.5h-.3c-.4 0-.7.3-.7.7v.3c0 .4.3.7.7.7h.3c.4 0 .7-.3.7-.7v-.3c0-.4-.3-.7-.7-.7z" })))));
8
+ }
@@ -0,0 +1,7 @@
1
+ import { SVGAttributes, CSSProperties } from 'react';
2
+ export interface IconProps extends SVGAttributes<SVGElement> {
3
+ className?: string;
4
+ useCurrentColor?: boolean;
5
+ style?: CSSProperties;
6
+ }
7
+ export default function IconWarnCircleFill(props: IconProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ContextLayout } from '../../context-provider';
3
+ export default function IconWarnCircleFill(props) {
4
+ const { className = '', useCurrentColor = true, style, ...other } = props;
5
+ return (React.createElement(ContextLayout, null, ({ prefixCls }) => (React.createElement("svg", Object.assign({ className: `${prefixCls}-icon ${prefixCls}-icon-warn-circle-fill ${className}`, width: "1em", height: "1em", style: style, fill: useCurrentColor ? 'currentColor' : '#000', viewBox: "0 0 1024 1024", xmlns: "http://www.w3.org/2000/svg" }, other),
6
+ React.createElement("defs", null),
7
+ React.createElement("path", { d: "M0 512c0 281.6 230.4 512 512 512s512-230.4 512-512S793.6 0 512 0 0 230.4 0 512zm512 160h32c19.2 0 32 12.8 32 32v32c0 19.2-12.8 32-32 32h-32c-19.2 0-32-12.8-32-32v-32c0-19.2 12.8-32 32-32zm0-416h32c19.2 0 32 12.8 32 32v256c0 19.2-12.8 32-32 32h-32c-19.2 0-32-12.8-32-32V288c0-19.2 12.8-32 32-32z" })))));
8
+ }
@@ -0,0 +1,59 @@
1
+ export { default as IconSquareChecked } from './IconSquareChecked';
2
+ export { default as IconTriUp } from './IconTriUp';
3
+ export { default as IconMore } from './IconMore';
4
+ export { default as IconSound } from './IconSound';
5
+ export { default as IconEyeVisible } from './IconEyeVisible';
6
+ export { default as IconEyelashInvisible } from './IconEyelashInvisible';
7
+ export { default as IconWarnCircleFill } from './IconWarnCircleFill';
8
+ export { default as IconSquareDisabled } from './IconSquareDisabled';
9
+ export { default as IconCircleChecked } from './IconCircleChecked';
10
+ export { default as IconSquareUnchecked } from './IconSquareUnchecked';
11
+ export { default as IconUser } from './IconUser';
12
+ export { default as IconEyeInvisible } from './IconEyeInvisible';
13
+ export { default as IconCircleUnchecked } from './IconCircleUnchecked';
14
+ export { default as IconCircleDisabled } from './IconCircleDisabled';
15
+ export { default as IconSetting } from './IconSetting';
16
+ export { default as IconMinus } from './IconMinus';
17
+ export { default as IconDelete } from './IconDelete';
18
+ export { default as IconPlay } from './IconPlay';
19
+ export { default as IconHeart } from './IconHeart';
20
+ export { default as IconStarFill } from './IconStarFill';
21
+ export { default as IconSearch } from './IconSearch';
22
+ export { default as IconEdit } from './IconEdit';
23
+ export { default as IconSad } from './IconSad';
24
+ export { default as IconLikeCircle } from './IconLikeCircle';
25
+ export { default as IconNotice } from './IconNotice';
26
+ export { default as IconHome } from './IconHome';
27
+ export { default as IconArrowIn } from './IconArrowIn';
28
+ export { default as IconCheck } from './IconCheck';
29
+ export { default as IconNoticeOff } from './IconNoticeOff';
30
+ export { default as IconSmileFill } from './IconSmileFill';
31
+ export { default as IconStar } from './IconStar';
32
+ export { default as IconRefresh } from './IconRefresh';
33
+ export { default as IconScan } from './IconScan';
34
+ export { default as IconPicture } from './IconPicture';
35
+ export { default as IconTriDown } from './IconTriDown';
36
+ export { default as IconClose } from './IconClose';
37
+ export { default as IconArrowUp } from './IconArrowUp';
38
+ export { default as IconArrowBack } from './IconArrowBack';
39
+ export { default as IconArrowDown } from './IconArrowDown';
40
+ export { default as IconAdd } from './IconAdd';
41
+ export { default as IconUserFill } from './IconUserFill';
42
+ export { default as IconClear } from './IconClear';
43
+ export { default as IconQuestionCircle } from './IconQuestionCircle';
44
+ export { default as IconSuccessCircle } from './IconSuccessCircle';
45
+ export { default as IconWarnCircle } from './IconWarnCircle';
46
+ export { default as IconErrorCircle } from './IconErrorCircle';
47
+ export { default as IconCheckBold } from './IconCheckBold';
48
+ export { default as IconCloseBold } from './IconCloseBold';
49
+ export { default as IconShop } from './IconShop';
50
+ export { default as IconShopping } from './IconShopping';
51
+ export { default as IconSubway } from './IconSubway';
52
+ export { default as IconGift } from './IconGift';
53
+ export { default as IconStarHalf } from './IconStarHalf';
54
+ export { default as IconKeyboard } from './IconKeyboard';
55
+ export { default as IconKeyboardDelete } from './IconKeyboardDelete';
56
+ export { default as IconDownload } from './IconDownload';
57
+ export { default as IconFile } from './IconFile';
58
+ export { default as IconUpload } from './IconUpload';
59
+ export * from './type';
@@ -0,0 +1,59 @@
1
+ export { default as IconSquareChecked } from './IconSquareChecked';
2
+ export { default as IconTriUp } from './IconTriUp';
3
+ export { default as IconMore } from './IconMore';
4
+ export { default as IconSound } from './IconSound';
5
+ export { default as IconEyeVisible } from './IconEyeVisible';
6
+ export { default as IconEyelashInvisible } from './IconEyelashInvisible';
7
+ export { default as IconWarnCircleFill } from './IconWarnCircleFill';
8
+ export { default as IconSquareDisabled } from './IconSquareDisabled';
9
+ export { default as IconCircleChecked } from './IconCircleChecked';
10
+ export { default as IconSquareUnchecked } from './IconSquareUnchecked';
11
+ export { default as IconUser } from './IconUser';
12
+ export { default as IconEyeInvisible } from './IconEyeInvisible';
13
+ export { default as IconCircleUnchecked } from './IconCircleUnchecked';
14
+ export { default as IconCircleDisabled } from './IconCircleDisabled';
15
+ export { default as IconSetting } from './IconSetting';
16
+ export { default as IconMinus } from './IconMinus';
17
+ export { default as IconDelete } from './IconDelete';
18
+ export { default as IconPlay } from './IconPlay';
19
+ export { default as IconHeart } from './IconHeart';
20
+ export { default as IconStarFill } from './IconStarFill';
21
+ export { default as IconSearch } from './IconSearch';
22
+ export { default as IconEdit } from './IconEdit';
23
+ export { default as IconSad } from './IconSad';
24
+ export { default as IconLikeCircle } from './IconLikeCircle';
25
+ export { default as IconNotice } from './IconNotice';
26
+ export { default as IconHome } from './IconHome';
27
+ export { default as IconArrowIn } from './IconArrowIn';
28
+ export { default as IconCheck } from './IconCheck';
29
+ export { default as IconNoticeOff } from './IconNoticeOff';
30
+ export { default as IconSmileFill } from './IconSmileFill';
31
+ export { default as IconStar } from './IconStar';
32
+ export { default as IconRefresh } from './IconRefresh';
33
+ export { default as IconScan } from './IconScan';
34
+ export { default as IconPicture } from './IconPicture';
35
+ export { default as IconTriDown } from './IconTriDown';
36
+ export { default as IconClose } from './IconClose';
37
+ export { default as IconArrowUp } from './IconArrowUp';
38
+ export { default as IconArrowBack } from './IconArrowBack';
39
+ export { default as IconArrowDown } from './IconArrowDown';
40
+ export { default as IconAdd } from './IconAdd';
41
+ export { default as IconUserFill } from './IconUserFill';
42
+ export { default as IconClear } from './IconClear';
43
+ export { default as IconQuestionCircle } from './IconQuestionCircle';
44
+ export { default as IconSuccessCircle } from './IconSuccessCircle';
45
+ export { default as IconWarnCircle } from './IconWarnCircle';
46
+ export { default as IconErrorCircle } from './IconErrorCircle';
47
+ export { default as IconCheckBold } from './IconCheckBold';
48
+ export { default as IconCloseBold } from './IconCloseBold';
49
+ export { default as IconShop } from './IconShop';
50
+ export { default as IconShopping } from './IconShopping';
51
+ export { default as IconSubway } from './IconSubway';
52
+ export { default as IconGift } from './IconGift';
53
+ export { default as IconStarHalf } from './IconStarHalf';
54
+ export { default as IconKeyboard } from './IconKeyboard';
55
+ export { default as IconKeyboardDelete } from './IconKeyboardDelete';
56
+ export { default as IconDownload } from './IconDownload';
57
+ export { default as IconFile } from './IconFile';
58
+ export { default as IconUpload } from './IconUpload';
59
+ export * from './type';
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export interface OriginIconProps extends React.SVGProps<SVGSVGElement> {
3
+ className?: string;
4
+ prefix?: string;
5
+ width?: string;
6
+ height?: string;
7
+ useCurrentColor?: boolean;
8
+ spin?: boolean;
9
+ }
10
+ export declare type IconProps = React.PropsWithoutRef<OriginIconProps> & React.RefAttributes<SVGSVGElement>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,186 @@
1
+ import React, { ReactNode, CSSProperties } from 'react';
2
+ export declare type ImageStatus = 'loading' | 'loaded' | 'init' | 'error';
3
+ export interface ImageProps {
4
+ /**
5
+ * 自定义样式
6
+ * @en Custom stylesheet
7
+ */
8
+ style?: CSSProperties;
9
+ /**
10
+ * 自定义类名
11
+ * @en Custom classname
12
+ */
13
+ className?: string;
14
+ /**
15
+ * 指定图片状态,staticLabel=false时有效
16
+ * @en The specified image state, valid when staticLabel=false
17
+ */
18
+ status?: ImageStatus;
19
+ /**
20
+ * 图片链接
21
+ * @@en Image resource
22
+ * */
23
+ src: string;
24
+ /**
25
+ * 容器宽度,传数值,默认单位为px,传字符串则接受传入的单位
26
+ * @en Container width, when number is input, the default unit is px, if a string is input, the unit is accepted
27
+ * */
28
+ width?: string | number;
29
+ /**
30
+ * 容器高度,传数值,默认单位为px,传字符串则接受传入的单位
31
+ * @en Container height, when number is input, the default unit is px, if a string is input, the unit is accepted
32
+ * */
33
+ height?: string | number;
34
+ /**
35
+ * 替代文本
36
+ * @en Alternative text
37
+ * @default ""
38
+ */
39
+ alt?: string;
40
+ /**
41
+ * 图片填充模式(object-fit),传preview-*为预览模式,预览模式仅staticLabel=false时有效
42
+ * @en Image fill mode (object-fit), preview-* is preview mode, preview mode is only valid when staticLabel=false
43
+ * @default "fill"
44
+ */
45
+ fit?: CSSProperties['objectFit'] | 'preview-y' | 'preview-x';
46
+ /**
47
+ * 图片填充位置(object-position)
48
+ * @en Image fill position(object-position)
49
+ * @default "center"
50
+ */
51
+ position?: CSSProperties['objectPosition'];
52
+ /**
53
+ * 图片圆角
54
+ * @en Image border radius
55
+ * */
56
+ radius?: string | number;
57
+ /**
58
+ * 是否加边框
59
+ * @en Whether to add a border
60
+ * */
61
+ bordered?: boolean;
62
+ /**
63
+ * 自定义展示加载中内容
64
+ * @en Custom display loading content, valid when staticLabel=false
65
+ * */
66
+ loadingArea?: ReactNode;
67
+ /**
68
+ * 自定义展示加载失败内容
69
+ * @en Custom display failed to load content, valid when staticLabel=false
70
+ * */
71
+ errorArea?: ReactNode;
72
+ /**
73
+ * 是否展示图片加载中提示
74
+ * @en Whether to display the image loading prompt, valid when staticLabel=false
75
+ * */
76
+ showLoading?: boolean;
77
+ /**
78
+ * 是否展示图片加载失败提示
79
+ * @en Whether to display the image loading failure prompt, valid when staticLabel=false
80
+ * */
81
+ showError?: boolean;
82
+ /**
83
+ * 加载完时展现动画时长,staticLabel=false时有效
84
+ * @en Display animation duration when loading is complete, valid when staticLabel=false
85
+ * @default 200
86
+ */
87
+ animateDuration?: number;
88
+ /**
89
+ * 失败时自动重试次数
90
+ * @en Number of automatic retries on failure
91
+ * @default 0
92
+ */
93
+ retryTime?: number;
94
+ /**
95
+ * 是否强制使用https
96
+ * @en Whether to force the use of https
97
+ * */
98
+ forceHttps?: boolean;
99
+ /**
100
+ * 预览模式下,父容器宽度
101
+ * @en In preview mode, the width of the parent container
102
+ * */
103
+ boxWidth?: number;
104
+ /**
105
+ * 预览模式下,父容器高度
106
+ * @en In preview mode, the height of the parent container
107
+ * */
108
+ boxHeight?: number;
109
+ /**
110
+ * 图片顶层内容
111
+ * @en Top-level content of the image
112
+ */
113
+ topOverlap?: ReactNode;
114
+ /**
115
+ * 图片底层内容(placeholder),默认是灰色兜底,传null可移除
116
+ * @en The bottom content of the image (placeholder), the default is gray bottom, input null to remove
117
+ * */
118
+ bottomOverlap?: ReactNode;
119
+ /**
120
+ * 手动控制是否加载图片
121
+ * @en Manually control whether to load images
122
+ * */
123
+ showImage?: boolean;
124
+ /**
125
+ * 是否直接渲染<img>标签,不走加载图片流程
126
+ * @en Whether to render the <img> tag directly without going through the image loading process
127
+ * */
128
+ staticLabel?: boolean;
129
+ /**
130
+ * img标签原生属性,优先级低于单独设置
131
+ * @en Img tag native attributes, the priority is lower than the separate setting
132
+ */
133
+ nativeProps?: React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>;
134
+ /**
135
+ * 切换status时触发的回调
136
+ * @en Callback triggered when switching status
137
+ */
138
+ onChange?: (status: string) => void;
139
+ /**
140
+ * 点击图片时触发的回调
141
+ * @en Callback when clicking image
142
+ */
143
+ onClick?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
144
+ /**
145
+ * 图片加载完毕时触发的回调
146
+ * @en Callback when the image is loaded
147
+ * */
148
+ onLoad?: (e: Event | null, image: HTMLImageElement) => void;
149
+ /**
150
+ * 图片加载失败时触发的回调,如果有自动重试则在重试最终失败后触发
151
+ * @en Callback when the image fails to load, triggered after the retry finally fails if there is an automatic retry
152
+ */
153
+ onError?: (e: string | Event | null) => void;
154
+ /**
155
+ * 图片加载失败时自动重试触发的回调
156
+ * @en Callback triggered by automatic retry when image loading fails
157
+ */
158
+ onAutoRetry?: (e: string | Event | null) => void;
159
+ }
160
+ export interface ImageRef {
161
+ /**
162
+ * 最外层元素 DOM
163
+ * @en The outermost element DOM
164
+ */
165
+ dom: HTMLDivElement | null;
166
+ /**
167
+ * 原生图片元素 DOM
168
+ * @en Native image element DOM
169
+ */
170
+ image: HTMLImageElement | null;
171
+ /**
172
+ * 手动重试图片加载
173
+ * @en Manually retry image loading
174
+ */
175
+ retry: () => void;
176
+ }
177
+ /**
178
+ * 增强版的 img 标签,提供多种图片填充模式,支持图片加载中提示、加载失败提示。
179
+ * @en Enhanced img tag, provides a variety of image filling modes, and supports image loading prompts and loading failure prompts.
180
+ * @type 信息展示
181
+ * @type_en Data Display
182
+ * @name 图片
183
+ * @name_en Image
184
+ */
185
+ export declare const BaseImage: React.ForwardRefExoticComponent<ImageProps & React.RefAttributes<ImageRef>>;
186
+ export default BaseImage;
@@ -0,0 +1,223 @@
1
+ import React, { forwardRef, useImperativeHandle, useRef, useEffect, useMemo, } from 'react';
2
+ import { cls, defaultLocale, nextTick } from '@arco-design/mobile-utils';
3
+ import { ContextLayout } from '../context-provider';
4
+ import Loading from '../loading';
5
+ import { useSystem, useWindowSize, getStyleWithVendor, useMountedState } from '../_helpers';
6
+ /**
7
+ * 增强版的 img 标签,提供多种图片填充模式,支持图片加载中提示、加载失败提示。
8
+ * @en Enhanced img tag, provides a variety of image filling modes, and supports image loading prompts and loading failure prompts.
9
+ * @type 信息展示
10
+ * @type_en Data Display
11
+ * @name 图片
12
+ * @name_en Image
13
+ */
14
+ export const BaseImage = forwardRef((props, ref) => {
15
+ const { style, className, status, src, width, height, alt = '', fit = 'cover', position = 'center', radius, bordered, loadingArea, errorArea, showLoading, showError, animateDuration = 200, retryTime = 0, forceHttps, boxWidth = 0, boxHeight = 0, topOverlap, bottomOverlap, showImage = true, staticLabel, nativeProps = {}, onChange, onClick, onLoad, onError, onAutoRetry, } = props;
16
+ const system = useSystem();
17
+ const { windowWidth, windowHeight } = useWindowSize();
18
+ const [imageStatus, setImageStatus] = useMountedState(staticLabel && showLoading ? 'loading' : 'init');
19
+ const [wrapClass, setWrapClass] = useMountedState('');
20
+ const [staticRetrying, setStaticRetrying] = useMountedState(false);
21
+ const imageRef = useRef(null);
22
+ const imageDomRef = useRef(null);
23
+ const wrapRef = useRef(null);
24
+ const retryCountRef = useRef(0);
25
+ const loadingImageRef = useRef(null);
26
+ const hasLoadedRef = useRef(false);
27
+ const isPreview = Boolean(fit.indexOf('preview') >= 0);
28
+ const actualBoxWidth = boxWidth || windowWidth;
29
+ const actualBoxHeight = boxHeight || windowHeight;
30
+ const validStatus = status === undefined ? imageStatus : status;
31
+ const attrs = useMemo(() => {
32
+ const imageStyle = {};
33
+ if (!isPreview) {
34
+ imageStyle.objectFit = fit;
35
+ imageStyle.objectPosition = position;
36
+ }
37
+ return {
38
+ alt,
39
+ src: forceHttps ? src.replace('http://', 'https://') : src,
40
+ className: `image-content${bordered ? ' bordered' : ''} ${system}`,
41
+ style: imageStyle,
42
+ };
43
+ }, [alt, bordered, fit, forceHttps, isPreview, position, radius, src, system]);
44
+ function retry() {
45
+ loadImage(true);
46
+ }
47
+ useImperativeHandle(ref, () => ({
48
+ dom: wrapRef.current,
49
+ image: imageDomRef.current,
50
+ retry,
51
+ }));
52
+ useEffect(() => {
53
+ retryCountRef.current = 0;
54
+ loadImage();
55
+ }, [attrs, width, height, showImage, staticLabel]);
56
+ useEffect(() => {
57
+ // 当使用img标签时,onLoad可能加载完成前已经执行完,此时手动触发一次
58
+ // @en When using the img tag, onLoad may have been executed before loading is complete, and it needs to be triggered manually
59
+ if (staticLabel && !hasLoadedRef.current && imageDomRef.current?.complete) {
60
+ // 图片有宽高认为正常加载,否则认为加载错误
61
+ // @en If the image has width and height, it is considered to be loaded normally, otherwise it is considered to be a loading error
62
+ if (imageDomRef.current.naturalWidth || imageDomRef.current.naturalHeight) {
63
+ handleStaticImageLoaded(null, imageDomRef.current);
64
+ }
65
+ else {
66
+ handleStaticImageError(null);
67
+ }
68
+ }
69
+ }, [staticLabel]);
70
+ function changeStatus(newStatus) {
71
+ setImageStatus(newStatus);
72
+ onChange && onChange(newStatus);
73
+ }
74
+ function replaceChild(newChild) {
75
+ const dom = imageRef.current;
76
+ if (!dom) {
77
+ return;
78
+ }
79
+ if (dom.children && dom.children.length) {
80
+ dom.replaceChild(newChild, dom.children[0]);
81
+ }
82
+ else {
83
+ dom.appendChild(newChild);
84
+ }
85
+ }
86
+ function handleImageLoaded(image) {
87
+ hasLoadedRef.current = true;
88
+ changeStatus('loaded');
89
+ const { width: imageWidth = 0, height: imageHeight = 0 } = image;
90
+ let extraClass = '';
91
+ if (isPreview) {
92
+ const scale = imageWidth / imageHeight;
93
+ const windowScale = actualBoxWidth / actualBoxHeight;
94
+ if (fit === 'preview-y') {
95
+ if (scale < windowScale) {
96
+ image.style.width = `${actualBoxWidth}px`;
97
+ image.style.height = `${actualBoxWidth / scale}px`;
98
+ extraClass = 'preview-overflow-y';
99
+ }
100
+ else {
101
+ extraClass = 'preview-fit-contain-y';
102
+ }
103
+ }
104
+ else if (fit === 'preview-x') {
105
+ if (scale > windowScale) {
106
+ image.style.width = `${actualBoxHeight * scale}px`;
107
+ image.style.height = `${actualBoxHeight}px`;
108
+ extraClass = 'preview-overflow-x';
109
+ }
110
+ else {
111
+ extraClass = 'preview-fit-contain-x';
112
+ }
113
+ }
114
+ }
115
+ extraClass && image.classList.add(extraClass);
116
+ setWrapClass(extraClass ? `${extraClass}-container` : '');
117
+ }
118
+ function loadImage(isFromRetry) {
119
+ // 如果在加载图片前发现上一个图片还没加载完,则抛弃上一个图片的加载
120
+ // @en Abort last image before starting loading new image
121
+ if (loadingImageRef.current) {
122
+ loadingImageRef.current.src = '';
123
+ loadingImageRef.current = null;
124
+ }
125
+ if (!showImage || staticLabel) {
126
+ return;
127
+ }
128
+ changeStatus('loading');
129
+ const image = new Image();
130
+ Object.keys(nativeProps).forEach(key => {
131
+ image[key] = nativeProps[key];
132
+ });
133
+ image.className = attrs.className;
134
+ Object.keys(attrs.style).forEach((key) => {
135
+ image.style[key] = attrs.style[key];
136
+ });
137
+ image.onload = evt => {
138
+ loadingImageRef.current = null;
139
+ imageDomRef.current = image;
140
+ handleImageLoaded(image);
141
+ replaceChild(image);
142
+ onLoad && onLoad(evt, image);
143
+ };
144
+ image.onerror = evt => {
145
+ loadingImageRef.current = null;
146
+ if (isFromRetry || retryCountRef.current >= retryTime) {
147
+ changeStatus('error');
148
+ const placeholder = document.createElement('div');
149
+ replaceChild(placeholder);
150
+ onError && onError(evt);
151
+ }
152
+ else {
153
+ retryCountRef.current += 1;
154
+ onAutoRetry && onAutoRetry(evt);
155
+ loadImage();
156
+ }
157
+ };
158
+ nextTick(() => {
159
+ image.src = attrs.src;
160
+ image.alt = attrs.alt;
161
+ loadingImageRef.current = image;
162
+ });
163
+ }
164
+ function handleStaticImageLoaded(evt, image) {
165
+ handleImageLoaded(image);
166
+ onLoad && onLoad(evt, image);
167
+ }
168
+ function handleStaticImageError(e) {
169
+ const evt = e ? e.nativeEvent : null;
170
+ if (retryCountRef.current >= retryTime) {
171
+ changeStatus('error');
172
+ onError && onError(evt);
173
+ }
174
+ else {
175
+ retryCountRef.current += 1;
176
+ onAutoRetry && onAutoRetry(evt);
177
+ // 强制刷新一下<img>使其重新加载
178
+ // @en Force refresh <img> to reload
179
+ setStaticRetrying(true);
180
+ nextTick(() => {
181
+ setStaticRetrying(false);
182
+ });
183
+ }
184
+ }
185
+ function getImageStyle() {
186
+ if (isPreview) {
187
+ const overflow = fit === 'preview-x'
188
+ ? {
189
+ overflowX: 'auto',
190
+ }
191
+ : {
192
+ overflowY: 'auto',
193
+ };
194
+ return {
195
+ width: actualBoxWidth,
196
+ height: actualBoxHeight,
197
+ ...overflow,
198
+ };
199
+ }
200
+ return {
201
+ width: Number(width) || width,
202
+ height: Number(height) || height,
203
+ };
204
+ }
205
+ return (React.createElement(ContextLayout, null, ({ prefixCls, locale = defaultLocale }) => (React.createElement("div", { className: cls(`${prefixCls}-image all-border-box`, { preview: isPreview }, system, wrapClass, className), style: { ...getImageStyle(), ...(style || {}) }, ref: wrapRef },
206
+ bottomOverlap !== null ? (React.createElement("div", { className: "image-content image-bottom-overlap", style: { borderRadius: radius } }, bottomOverlap || React.createElement("div", { className: "image-placeholder" }))) : null,
207
+ React.createElement("div", { className: cls('image-container', validStatus, {
208
+ animate: Boolean(animateDuration),
209
+ 'static-label': staticLabel,
210
+ 'has-loaded': hasLoadedRef.current,
211
+ }), style: getStyleWithVendor({
212
+ borderRadius: radius,
213
+ transitionDuration: `${animateDuration}ms`,
214
+ }), onClick: onClick, ref: imageRef }, staticLabel && showImage && !staticRetrying ? (React.createElement("img", Object.assign({}, nativeProps, attrs, { ref: imageDomRef, onLoad: e => handleStaticImageLoaded(e.nativeEvent, imageDomRef.current), onError: handleStaticImageError }))) : null),
215
+ showLoading && validStatus === 'loading' ? (React.createElement("div", { className: "image-content image-loading-container", style: { borderRadius: radius } }, loadingArea || (React.createElement("div", { className: "image-loading" },
216
+ React.createElement(Loading, { type: "circle", className: "loading-icon", radius: 8.5, stroke: 3 }))))) : null,
217
+ showError && validStatus === 'error' ? (React.createElement("div", { className: "image-content image-error-container", onClick: e => {
218
+ e.stopPropagation();
219
+ retry();
220
+ }, style: { borderRadius: radius } }, errorArea || (React.createElement("div", { className: "image-retry-load" }, locale.Image.loadError)))) : null,
221
+ topOverlap ? (React.createElement("div", { className: "image-content image-top-overlap", style: { borderRadius: radius } }, topOverlap)) : null))));
222
+ });
223
+ export default BaseImage;