@cloudbase/weda-ui 0.2.11 → 0.2.15

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 (322) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/README.md +7 -2
  3. package/package.json +85 -42
  4. package/src/.DS_Store +0 -0
  5. package/src/configs/.DS_Store +0 -0
  6. package/src/configs/components/button.json +7 -3
  7. package/src/configs/components/form/richText.json +1 -1
  8. package/src/configs/components/form/uploader.json +29 -1
  9. package/src/configs/components/form/uploaderFile.json +158 -0
  10. package/src/configs/components/image.json +16 -3
  11. package/src/configs/components/link.json +3 -3
  12. package/src/configs/components/richtextview.json +2 -2
  13. package/src/configs/components/scrollVeiw.json +5 -5
  14. package/src/configs/components/swiper.json +6 -6
  15. package/src/configs/components/tabs.json +3 -3
  16. package/src/configs/components/text.json +39 -4
  17. package/src/configs/index.js +5 -3
  18. package/src/mp/.gitignore +10 -0
  19. package/src/mp/components/button/index.js +1 -0
  20. package/src/mp/components/button/index.wxss +8 -0
  21. package/src/mp/components/container/index.js +4 -0
  22. package/src/mp/components/form/select/index.js +18 -0
  23. package/src/mp/components/form/uploader/index.js +26 -29
  24. package/src/mp/components/form/uploaderFile/index.js +233 -0
  25. package/src/mp/components/form/uploaderFile/index.json +9 -0
  26. package/src/mp/components/form/uploaderFile/index.wxml +46 -0
  27. package/src/mp/components/form/uploaderFile/index.wxss +105 -0
  28. package/src/mp/components/image/index.js +54 -52
  29. package/src/mp/components/text/index.js +33 -0
  30. package/src/mp/components/text/index.wxml +1 -1
  31. package/src/mp/components/text/index.wxss +18 -0
  32. package/src/mp/index.json +1 -0
  33. package/src/mp/utils/platform.js +20 -0
  34. package/src/mp/utils/tcb.js +11 -0
  35. package/src/web/.DS_Store +0 -0
  36. package/src/web/actions/showModal/{index.jsx → index.tsx} +53 -3
  37. package/src/web/components/auth/index.js +2 -2
  38. package/src/web/components/button/index.css +9 -0
  39. package/src/web/components/button/{index.jsx → index.tsx} +27 -41
  40. package/src/web/components/container/{index.jsx → index.tsx} +6 -10
  41. package/src/web/components/drawer/index.tsx +57 -0
  42. package/src/web/components/form/checkbox/{index.jsx → index.tsx} +24 -48
  43. package/src/web/components/form/enumSelect/{NormalSelect.jsx → NormalSelect.tsx} +2 -9
  44. package/src/web/components/form/form/index.tsx +48 -0
  45. package/src/web/components/form/formcell/{index.jsx → index.tsx} +6 -13
  46. package/src/web/components/form/input/index.css +41 -0
  47. package/src/web/components/form/input/{index.jsx → index.tsx} +34 -67
  48. package/src/web/components/form/radio/{index.jsx → index.tsx} +19 -42
  49. package/src/web/components/form/{renderDecorator.jsx → renderDecorator.tsx} +1 -3
  50. package/src/web/components/form/select/{h5.jsx → h5.tsx} +18 -62
  51. package/src/web/components/form/select/{index.jsx → index.tsx} +51 -94
  52. package/src/web/components/form/select/region/{cities.js → cities.ts} +1 -1
  53. package/src/web/components/form/select/region/{index.js → index.ts} +3 -3
  54. package/src/web/components/form/select/region/{provinces.js → provinces.ts} +1 -1
  55. package/src/web/components/form/select/region/{regions.js → regions.ts} +1 -1
  56. package/src/web/components/form/select/time.jsx +2 -2
  57. package/src/web/components/form/switch/{index.jsx → index.tsx} +30 -47
  58. package/src/web/components/form/textarea/{index.jsx → index.tsx} +22 -55
  59. package/src/web/components/form/tips/{index.jsx → index.tsx} +8 -22
  60. package/src/web/components/form/types.d.ts +12 -0
  61. package/src/web/components/form/uploader/{index.jsx → index.tsx} +16 -14
  62. package/src/web/components/form/uploader/{uploader.h5.jsx → uploader.h5.tsx} +67 -57
  63. package/src/web/components/form/uploader/{uploader.pc.jsx → uploader.pc.tsx} +26 -43
  64. package/src/web/components/form/uploaderFile/fail.svg +12 -0
  65. package/src/web/components/form/uploaderFile/index.css +423 -0
  66. package/src/web/components/form/uploaderFile/index.jsx +30 -0
  67. package/src/web/components/form/uploaderFile/pending.svg +18 -0
  68. package/src/web/components/form/uploaderFile/success.svg +12 -0
  69. package/src/web/components/form/uploaderFile/uploadFile.h5.tsx +578 -0
  70. package/src/web/components/form/uploaderFile/uploadFile.pc.tsx +507 -0
  71. package/src/web/components/image/image.tsx +188 -0
  72. package/src/web/components/image/{index.jsx → index.tsx} +22 -37
  73. package/src/web/components/index.js +37 -2
  74. package/src/web/components/link/{index.jsx → index.tsx} +19 -36
  75. package/src/web/components/modal/{index.jsx → index.tsx} +22 -9
  76. package/src/web/components/picker/{datePicker.jsx → datePicker.tsx} +11 -12
  77. package/src/web/components/picker/{picker.jsx → picker.tsx} +7 -10
  78. package/src/web/components/picker/{timePicker.jsx → timePicker.tsx} +8 -16
  79. package/src/web/components/richText/{const.js → const.ts} +0 -0
  80. package/src/web/components/richText/index.jsx +5 -2
  81. package/src/web/components/richTextView/index.tsx +67 -0
  82. package/src/web/components/scrollView/{index.jsx → index.tsx} +18 -33
  83. package/src/web/components/slot/{index.jsx → index.tsx} +8 -9
  84. package/src/web/components/swiper/index.css +5 -1
  85. package/src/web/components/swiper/{index.jsx → index.tsx} +79 -79
  86. package/src/web/components/tabs/index.tsx +33 -0
  87. package/src/web/components/tabs/{tabs.h5.jsx → tabs.h5.tsx} +4 -33
  88. package/src/web/components/tabs/{tabs.pc.jsx → tabs.pc.tsx} +5 -39
  89. package/src/web/components/text/index.css +18 -0
  90. package/src/web/components/text/index.tsx +69 -0
  91. package/src/web/components/uploaderFileView/index.css +11 -0
  92. package/src/web/components/uploaderFileView/index.jsx +75 -0
  93. package/src/web/components/uploaderView/{index.jsx → index.tsx} +12 -15
  94. package/src/web/types.d.ts +20 -0
  95. package/src/web/utils/constant.js +2 -0
  96. package/src/web/utils/loading-fallback.tsx +2 -0
  97. package/src/web/utils/platform.js +77 -6
  98. package/src/web/utils/useSetState.ts +14 -0
  99. package/src/web/utils/useSyncValue.ts +17 -0
  100. package/src/configs/components/button.svg +0 -18
  101. package/src/web/components/drawer/index.jsx +0 -64
  102. package/src/web/components/form/form/index.jsx +0 -76
  103. package/src/web/components/image/image.jsx +0 -187
  104. package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +0 -754
  105. package/src/web/components/richTextView/index.jsx +0 -89
  106. package/src/web/components/tabs/index.jsx +0 -10
  107. package/src/web/components/text/index.jsx +0 -71
  108. package/src/web/utils/useSyncValue.js +0 -14
  109. package/src/web/wedatheme/.code.yml +0 -16
  110. package/src/web/wedatheme/.editorconfig +0 -9
  111. package/src/web/wedatheme/.eslintrc +0 -20
  112. package/src/web/wedatheme/.orange-ci.yml +0 -55
  113. package/src/web/wedatheme/.vscode/extensions.json +0 -3
  114. package/src/web/wedatheme/.vscode/settings.json +0 -11
  115. package/src/web/wedatheme/README.md +0 -50
  116. package/src/web/wedatheme/i18n/README.md +0 -4
  117. package/src/web/wedatheme/i18n/translation/index.js +0 -10
  118. package/src/web/wedatheme/i18n/translation/zh.js +0 -15
  119. package/src/web/wedatheme/jsconfig.json +0 -15
  120. package/src/web/wedatheme/mock/app.js +0 -42
  121. package/src/web/wedatheme/mock/history-context.js +0 -8
  122. package/src/web/wedatheme/mock/index.js +0 -3
  123. package/src/web/wedatheme/mock/layout/AppLayout.jsx +0 -28
  124. package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +0 -50
  125. package/src/web/wedatheme/mock/layout/index.js +0 -1
  126. package/src/web/wedatheme/package.json +0 -61
  127. package/src/web/wedatheme/public/index.html +0 -19
  128. package/src/web/wedatheme/src/app.js +0 -22
  129. package/src/web/wedatheme/src/components/README.md +0 -4
  130. package/src/web/wedatheme/src/configs/menu.js +0 -9
  131. package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +0 -402
  132. package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +0 -729
  133. package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +0 -18
  134. package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +0 -1276
  135. package/src/web/wedatheme/src/routes/wedatheme-index/index.js +0 -1
  136. package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +0 -3
  137. package/src/web/wedatheme/src/routes/weui2td/index.js +0 -1
  138. package/src/web/wedatheme/src/styles/_btn.scss +0 -24
  139. package/src/web/wedatheme/src/styles/_icon.scss +0 -653
  140. package/src/web/wedatheme/src/styles/_map.scss +0 -12
  141. package/src/web/wedatheme/src/styles/_middle.scss +0 -340
  142. package/src/web/wedatheme/src/styles/_upload.scss +0 -47
  143. package/src/web/wedatheme/src/styles/assets/alert-close.svg +0 -3
  144. package/src/web/wedatheme/src/styles/assets/and.svg +0 -12
  145. package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +0 -12
  146. package/src/web/wedatheme/src/styles/assets/arrowdown.svg +0 -12
  147. package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +0 -12
  148. package/src/web/wedatheme/src/styles/assets/arrowleft.svg +0 -12
  149. package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +0 -12
  150. package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +0 -12
  151. package/src/web/wedatheme/src/styles/assets/arrowright.svg +0 -12
  152. package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +0 -12
  153. package/src/web/wedatheme/src/styles/assets/arrowup.svg +0 -12
  154. package/src/web/wedatheme/src/styles/assets/bell-warning.svg +0 -3
  155. package/src/web/wedatheme/src/styles/assets/btnback.svg +0 -12
  156. package/src/web/wedatheme/src/styles/assets/calendar.svg +0 -12
  157. package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +0 -12
  158. package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +0 -12
  159. package/src/web/wedatheme/src/styles/assets/chartline-1.svg +0 -9
  160. package/src/web/wedatheme/src/styles/assets/chartline.svg +0 -9
  161. package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +0 -12
  162. package/src/web/wedatheme/src/styles/assets/chartpie.svg +0 -12
  163. package/src/web/wedatheme/src/styles/assets/check-1.svg +0 -8
  164. package/src/web/wedatheme/src/styles/assets/check-2.svg +0 -1
  165. package/src/web/wedatheme/src/styles/assets/check.svg +0 -8
  166. package/src/web/wedatheme/src/styles/assets/close-1.svg +0 -8
  167. package/src/web/wedatheme/src/styles/assets/close.svg +0 -8
  168. package/src/web/wedatheme/src/styles/assets/consult.svg +0 -8
  169. package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +0 -12
  170. package/src/web/wedatheme/src/styles/assets/convertip.svg +0 -12
  171. package/src/web/wedatheme/src/styles/assets/copy.svg +0 -12
  172. package/src/web/wedatheme/src/styles/assets/cur-active.svg +0 -12
  173. package/src/web/wedatheme/src/styles/assets/cur.svg +0 -12
  174. package/src/web/wedatheme/src/styles/assets/daily.svg +0 -13
  175. package/src/web/wedatheme/src/styles/assets/database.svg +0 -12
  176. package/src/web/wedatheme/src/styles/assets/datasheet.svg +0 -12
  177. package/src/web/wedatheme/src/styles/assets/delete-white.svg +0 -8
  178. package/src/web/wedatheme/src/styles/assets/delete.svg +0 -8
  179. package/src/web/wedatheme/src/styles/assets/detail.svg +0 -13
  180. package/src/web/wedatheme/src/styles/assets/dismiss.svg +0 -8
  181. package/src/web/wedatheme/src/styles/assets/download.svg +0 -12
  182. package/src/web/wedatheme/src/styles/assets/drop.svg +0 -15
  183. package/src/web/wedatheme/src/styles/assets/email-error.svg +0 -14
  184. package/src/web/wedatheme/src/styles/assets/email-warning.svg +0 -12
  185. package/src/web/wedatheme/src/styles/assets/email.svg +0 -14
  186. package/src/web/wedatheme/src/styles/assets/emailv.svg +0 -12
  187. package/src/web/wedatheme/src/styles/assets/error-1.svg +0 -8
  188. package/src/web/wedatheme/src/styles/assets/error-filled.svg +0 -3
  189. package/src/web/wedatheme/src/styles/assets/error.svg +0 -8
  190. package/src/web/wedatheme/src/styles/assets/externallink.svg +0 -12
  191. package/src/web/wedatheme/src/styles/assets/favorable.svg +0 -9
  192. package/src/web/wedatheme/src/styles/assets/filter.svg +0 -12
  193. package/src/web/wedatheme/src/styles/assets/firstpage.svg +0 -13
  194. package/src/web/wedatheme/src/styles/assets/folderclose.svg +0 -8
  195. package/src/web/wedatheme/src/styles/assets/folderopen.svg +0 -8
  196. package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +0 -12
  197. package/src/web/wedatheme/src/styles/assets/fullsreen.svg +0 -12
  198. package/src/web/wedatheme/src/styles/assets/globe-gray.svg +0 -12
  199. package/src/web/wedatheme/src/styles/assets/guide.svg +0 -9
  200. package/src/web/wedatheme/src/styles/assets/help.svg +0 -8
  201. package/src/web/wedatheme/src/styles/assets/hide.svg +0 -8
  202. package/src/web/wedatheme/src/styles/assets/info.svg +0 -8
  203. package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +0 -8
  204. package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +0 -3
  205. package/src/web/wedatheme/src/styles/assets/infoblue.svg +0 -8
  206. package/src/web/wedatheme/src/styles/assets/jump-black.svg +0 -12
  207. package/src/web/wedatheme/src/styles/assets/jump.svg +0 -12
  208. package/src/web/wedatheme/src/styles/assets/lastpage.svg +0 -13
  209. package/src/web/wedatheme/src/styles/assets/loading.svg +0 -12
  210. package/src/web/wedatheme/src/styles/assets/local.svg +0 -10
  211. package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +0 -6
  212. package/src/web/wedatheme/src/styles/assets/menu-fold.svg +0 -6
  213. package/src/web/wedatheme/src/styles/assets/minus.svg +0 -12
  214. package/src/web/wedatheme/src/styles/assets/monitor.svg +0 -12
  215. package/src/web/wedatheme/src/styles/assets/more.svg +0 -8
  216. package/src/web/wedatheme/src/styles/assets/multi-line.svg +0 -12
  217. package/src/web/wedatheme/src/styles/assets/news.svg +0 -3
  218. package/src/web/wedatheme/src/styles/assets/not.svg +0 -12
  219. package/src/web/wedatheme/src/styles/assets/notice.svg +0 -8
  220. package/src/web/wedatheme/src/styles/assets/pencil.svg +0 -12
  221. package/src/web/wedatheme/src/styles/assets/pending-1.svg +0 -8
  222. package/src/web/wedatheme/src/styles/assets/pending-gray.svg +0 -8
  223. package/src/web/wedatheme/src/styles/assets/pending.svg +0 -8
  224. package/src/web/wedatheme/src/styles/assets/percent-blue.svg +0 -16
  225. package/src/web/wedatheme/src/styles/assets/percent.svg +0 -16
  226. package/src/web/wedatheme/src/styles/assets/phone-error.svg +0 -11
  227. package/src/web/wedatheme/src/styles/assets/phone-warning.svg +0 -9
  228. package/src/web/wedatheme/src/styles/assets/phone.svg +0 -12
  229. package/src/web/wedatheme/src/styles/assets/phonev.svg +0 -9
  230. package/src/web/wedatheme/src/styles/assets/plus.svg +0 -12
  231. package/src/web/wedatheme/src/styles/assets/qq.svg +0 -11
  232. package/src/web/wedatheme/src/styles/assets/realname.svg +0 -8
  233. package/src/web/wedatheme/src/styles/assets/realnamev.svg +0 -9
  234. package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +0 -12
  235. package/src/web/wedatheme/src/styles/assets/refresh.svg +0 -12
  236. package/src/web/wedatheme/src/styles/assets/relationship-1.svg +0 -12
  237. package/src/web/wedatheme/src/styles/assets/relationship.svg +0 -12
  238. package/src/web/wedatheme/src/styles/assets/remind.svg +0 -8
  239. package/src/web/wedatheme/src/styles/assets/search.svg +0 -8
  240. package/src/web/wedatheme/src/styles/assets/setting.svg +0 -12
  241. package/src/web/wedatheme/src/styles/assets/shopcart.svg +0 -8
  242. package/src/web/wedatheme/src/styles/assets/show.svg +0 -8
  243. package/src/web/wedatheme/src/styles/assets/sort.svg +0 -12
  244. package/src/web/wedatheme/src/styles/assets/sortdown.svg +0 -12
  245. package/src/web/wedatheme/src/styles/assets/sortup.svg +0 -12
  246. package/src/web/wedatheme/src/styles/assets/success-1.svg +0 -8
  247. package/src/web/wedatheme/src/styles/assets/success-filled.svg +0 -3
  248. package/src/web/wedatheme/src/styles/assets/success.svg +0 -8
  249. package/src/web/wedatheme/src/styles/assets/table-1.svg +0 -12
  250. package/src/web/wedatheme/src/styles/assets/table.svg +0 -12
  251. package/src/web/wedatheme/src/styles/assets/tag.svg +0 -12
  252. package/src/web/wedatheme/src/styles/assets/time.svg +0 -12
  253. package/src/web/wedatheme/src/styles/assets/transfer.svg +0 -8
  254. package/src/web/wedatheme/src/styles/assets/trenddown.svg +0 -12
  255. package/src/web/wedatheme/src/styles/assets/trendup.svg +0 -12
  256. package/src/web/wedatheme/src/styles/assets/viewgrid.svg +0 -12
  257. package/src/web/wedatheme/src/styles/assets/viewlist.svg +0 -12
  258. package/src/web/wedatheme/src/styles/assets/warning-1.svg +0 -8
  259. package/src/web/wedatheme/src/styles/assets/warning-filled.svg +0 -3
  260. package/src/web/wedatheme/src/styles/assets/warning.svg +0 -8
  261. package/src/web/wedatheme/src/styles/assets/wechat-error.svg +0 -14
  262. package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +0 -12
  263. package/src/web/wedatheme/src/styles/assets/wechat.svg +0 -12
  264. package/src/web/wedatheme/src/styles/assets/wechatv.svg +0 -12
  265. package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +0 -4
  266. package/src/web/wedatheme/src/styles/assets/zoom-in.svg +0 -4
  267. package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +0 -4
  268. package/src/web/wedatheme/src/styles/assets/zoom-out.svg +0 -4
  269. package/src/web/wedatheme/src/styles/index.scss +0 -18
  270. package/src/web/wedatheme/src/styles/main.css +0 -166
  271. package/src/web/wedatheme/src/styles/theme/_alert.scss +0 -73
  272. package/src/web/wedatheme/src/styles/theme/_badge.scss +0 -38
  273. package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +0 -7
  274. package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +0 -8
  275. package/src/web/wedatheme/src/styles/theme/_bubble.scss +0 -24
  276. package/src/web/wedatheme/src/styles/theme/_button.scss +0 -212
  277. package/src/web/wedatheme/src/styles/theme/_card.scss +0 -12
  278. package/src/web/wedatheme/src/styles/theme/_cascader.scss +0 -43
  279. package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +0 -83
  280. package/src/web/wedatheme/src/styles/theme/_datepicker.scss +0 -36
  281. package/src/web/wedatheme/src/styles/theme/_dialog.scss +0 -39
  282. package/src/web/wedatheme/src/styles/theme/_divider.scss +0 -1
  283. package/src/web/wedatheme/src/styles/theme/_drawer.scss +0 -15
  284. package/src/web/wedatheme/src/styles/theme/_dropdown.scss +0 -53
  285. package/src/web/wedatheme/src/styles/theme/_form.scss +0 -38
  286. package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
  287. package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +0 -85
  288. package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +0 -16
  289. package/src/web/wedatheme/src/styles/theme/_link.scss +0 -14
  290. package/src/web/wedatheme/src/styles/theme/_list.scss +0 -41
  291. package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +0 -14
  292. package/src/web/wedatheme/src/styles/theme/_notification.scss +0 -27
  293. package/src/web/wedatheme/src/styles/theme/_pagination.scss +0 -22
  294. package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +0 -4
  295. package/src/web/wedatheme/src/styles/theme/_progress.scss +0 -28
  296. package/src/web/wedatheme/src/styles/theme/_region-select.scss +0 -17
  297. package/src/web/wedatheme/src/styles/theme/_search.scss +0 -18
  298. package/src/web/wedatheme/src/styles/theme/_segment.scss +0 -69
  299. package/src/web/wedatheme/src/styles/theme/_slider.scss +0 -18
  300. package/src/web/wedatheme/src/styles/theme/_status.scss +0 -4
  301. package/src/web/wedatheme/src/styles/theme/_steps.scss +0 -68
  302. package/src/web/wedatheme/src/styles/theme/_switch.scss +0 -11
  303. package/src/web/wedatheme/src/styles/theme/_table.scss +0 -44
  304. package/src/web/wedatheme/src/styles/theme/_tabs.scss +0 -44
  305. package/src/web/wedatheme/src/styles/theme/_tag-search.scss +0 -9
  306. package/src/web/wedatheme/src/styles/theme/_tag.scss +0 -48
  307. package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
  308. package/src/web/wedatheme/src/styles/theme/_toast.scss +0 -3
  309. package/src/web/wedatheme/src/styles/theme/_transfer.scss +0 -9
  310. package/src/web/wedatheme/src/styles/theme/_tree.scss +0 -11
  311. package/src/web/wedatheme/src/styles/theme/_upload.scss +0 -14
  312. package/src/web/wedatheme/src/styles/theme/_variables.scss +0 -140
  313. package/src/web/wedatheme/src/styles/theme/index.scss +0 -91
  314. package/src/web/wedatheme/style-package/README.md +0 -31
  315. package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +0 -627
  316. package/src/web/wedatheme/style-package/index.css +0 -3
  317. package/src/web/wedatheme/style-package/package.json +0 -15
  318. package/src/web/wedatheme/tea.config.js +0 -66
  319. package/src/web/wedatheme/webpack/css.config.js +0 -114
  320. package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +0 -23
  321. package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +0 -32
  322. package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +0 -66
@@ -1,27 +1,28 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
 
4
3
  import classNames from '../../../utils/classnames';
5
4
  import getLocalCounter from '../../../utils/getLocalCounter';
6
5
  import {usePlatform} from '../../../utils/platform';
7
- import {Switch as TeaSwitch} from 'tea-component';
6
+ import {ConfigProvider, Switch as TeaSwitch} from 'tea-component';
8
7
  import { renderDecorator } from '../renderDecorator';
9
8
  import { useSyncValue } from '../../../utils/useSyncValue';
9
+ import { CommonFormPropsType } from '../types';
10
+
10
11
  export default function Switch({
11
12
  // 系统属性
12
13
  id,
13
14
  className,
14
15
  style,
15
- events,
16
+ events = {},
16
17
  // 组件属性
17
- label,
18
- labelVisible,
18
+ label = '标题',
19
+ labelVisible = true,
19
20
  checked: defaultChecked,
20
- layout,
21
- disabled,
22
- requiredFlag,
21
+ layout = 'horizontal',
22
+ disabled = false,
23
+ requiredFlag = false,
23
24
  decorator
24
- }) {
25
+ }: PropsType) {
25
26
  const isFlex = layout !== 'vertical';
26
27
  const cls = classNames({
27
28
  'weda-ui': true,
@@ -40,10 +41,6 @@ export default function Switch({
40
41
  // 两次默认值不同时, 需要刷新
41
42
  const [checked, setChecked] = useSyncValue(defaultChecked);
42
43
 
43
- const onChange = function (e) {
44
- setChecked(e.target.checked);
45
- events.change({ value: e.target.checked }, { originEvent: e });
46
- };
47
44
 
48
45
  // 现在低码组件往源码组件传入的id不唯一, 暂时使用hashcode替代
49
46
  const hashcode = getLocalCounter();
@@ -60,7 +57,11 @@ export default function Switch({
60
57
  type="checkbox"
61
58
  checked={checked}
62
59
  disabled={disabled}
63
- onChange={onChange}
60
+ onChange={(ev) => {
61
+ const value = ev.target.checked;
62
+ setChecked(value);
63
+ events.change({ value }, {orgianalEvent: ev});
64
+ }}
64
65
  />
65
66
  <div className="weui-switch-cp__box"></div>
66
67
  </label>
@@ -68,12 +69,18 @@ export default function Switch({
68
69
  </div>
69
70
  ) :
70
71
  (
71
- <TeaSwitch
72
- id={_id}
73
- value={checked}
74
- disabled={disabled}
75
- onChange={onChange}
76
- />
72
+ <ConfigProvider classPrefix="wedatea2td">
73
+ <TeaSwitch
74
+ id={_id}
75
+ value={checked}
76
+ disabled={disabled}
77
+ onChange={(value, context) => {
78
+ const originEvent = context.event;
79
+ setChecked(value);
80
+ events.change({ value }, {originEvent});
81
+ }}
82
+ />
83
+ </ConfigProvider>
77
84
  );
78
85
 
79
86
  return renderDecorator(switchElement, decorator)({
@@ -88,30 +95,6 @@ export default function Switch({
88
95
  });
89
96
  }
90
97
 
91
- Switch.propTypes = {
92
- // 系统属性
93
- id: PropTypes.string,
94
- className: PropTypes.string,
95
- style: PropTypes.string,
96
- events: PropTypes.objectOf(PropTypes.func),
97
- // 组件属性
98
- label: PropTypes.string,
99
- labelVisible: PropTypes.bool,
100
- disabled: PropTypes.bool,
101
- checked: PropTypes.bool,
102
- layout: PropTypes.string,
103
- requiredFlag: PropTypes.bool,
104
- decorator: PropTypes.oneOfType([PropTypes.array, PropTypes.node])
105
- };
106
-
107
- Switch.defaultProps = {
108
- // 系统属性
109
- events: {},
110
- // 组件属性
111
- label: '标题',
112
- labelVisible: true,
113
- disabled: false,
114
- checked: false,
115
- layout: PropTypes.string,
116
- requiredFlag: false,
117
- };
98
+ export interface PropsType extends CommonFormPropsType {
99
+ checked?: boolean;
100
+ }
@@ -1,34 +1,33 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
 
4
3
  import classNames from '../../../utils/classnames';
5
- import FormCell from '../formcell';
6
4
  import './index.css';
7
5
  import { ConfigProvider, Input } from 'tea-component';
8
6
  import { usePlatform } from '../../../utils/platform';
9
7
  import { renderDecorator } from '../renderDecorator';
10
8
  import { useSyncValue } from '../../../utils/useSyncValue';
9
+ import { CommonFormPropsType } from '../types';
11
10
 
12
11
  export default function Textarea({
13
12
  // 系统属性
14
13
  id,
15
14
  className,
16
15
  style,
17
- events,
16
+ events = {},
18
17
  // 组件属性
19
- label,
20
- labelVisible,
21
- defaultValue,
22
- placeholder,
23
- maxLength,
24
- disabled,
25
- focus: autoFocus,
26
- layout,
27
- requiredFlag,
28
- counterVisible,
29
- size,
18
+ label = '标题',
19
+ labelVisible = true,
20
+ defaultValue = '',
21
+ placeholder = '请输入',
22
+ maxLength = 140,
23
+ disabled = false,
24
+ focus: autoFocus = false,
25
+ layout = 'horizontal',
26
+ requiredFlag = false,
27
+ counterVisible = true,
28
+ size = 'l',
30
29
  decorator
31
- }) {
30
+ }: PropsType) {
32
31
  const platform = usePlatform();
33
32
 
34
33
  const cls = classNames({
@@ -105,43 +104,11 @@ export default function Textarea({
105
104
  }
106
105
  );
107
106
  }
108
-
109
- Textarea.propTypes = {
110
- // 系统属性
111
- id: PropTypes.string,
112
- style: PropTypes.string,
113
- className: PropTypes.string,
114
- events: PropTypes.object,
115
- // 组件属性
116
- label: PropTypes.string,
117
- labelVisible: PropTypes.bool,
118
- name: PropTypes.string,
119
- defaultValue: PropTypes.string,
120
- placeholder: PropTypes.string,
121
- maxLength: PropTypes.number,
122
- disabled: PropTypes.bool,
123
- focus: PropTypes.bool,
124
- layout: PropTypes.oneOf(['horizontal', 'vertical']),
125
- requiredFlag: PropTypes.bool,
126
- counterVisible: PropTypes.bool,
127
- size: PropTypes.oneOf(['s', 'm', 'l', 'full']),
128
- decorator: PropTypes.oneOfType([PropTypes.array, PropTypes.node])
129
- };
130
-
131
- Textarea.defaultProps = {
132
- // 系统属性
133
- events: {},
134
- // 组件属性
135
- label: '标题',
136
- labelVisible: true,
137
- nane: 'formTextarea',
138
- defaultValue: '',
139
- placeholder: '请输入',
140
- maxLength: 140,
141
- disabled: false,
142
- focus: false,
143
- layout: 'horizontal',
144
- requiredFlag: false,
145
- counterVisible: true,
146
- size: 'l'
147
- };
107
+ export interface PropsType extends CommonFormPropsType {
108
+ defaultValue?: string;
109
+ placeholder?: string;
110
+ maxLength?: number;
111
+ focus?: boolean;
112
+ counterVisible?: boolean;
113
+ size?: 's' | 'm' | 'l' | 'full';
114
+ }
@@ -1,17 +1,17 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
 
4
3
  import classNames from '../../../utils/classnames';
4
+ import { CommonPropsType } from '../../../types';
5
5
 
6
6
  export default function Tips({
7
7
  // 系统属性
8
8
  className,
9
9
  // 组件属性
10
- tips,
11
- type,
10
+ tips = '表单提示',
11
+ type = 'normal',
12
12
  id,
13
13
  style
14
- }) {
14
+ }: PropsType) {
15
15
  const cls = classNames({
16
16
  'weda-ui': true,
17
17
  'weda-tips': true,
@@ -27,21 +27,7 @@ export default function Tips({
27
27
  );
28
28
  }
29
29
 
30
- Tips.propTypes = {
31
- // 系统属性
32
- id: PropTypes.string,
33
- className: PropTypes.string,
34
- events: PropTypes.objectOf(PropTypes.func),
35
- // 组件属性
36
- tips: PropTypes.string,
37
- type: PropTypes.oneOf(['normal', 'warn']),
38
- style: PropTypes.object
39
- };
40
-
41
- Tips.defaultProps = {
42
- // 系统属性
43
- events: {},
44
- // 组件属性
45
- tips: '表单提示',
46
- type: 'normal',
47
- };
30
+ export interface PropsType extends CommonPropsType {
31
+ tips?: string;
32
+ type?: 'warn' | 'normal';
33
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { CommonPropsType } from "../../types";
3
+
4
+ export interface CommonFormPropsType extends CommonPropsType {
5
+ name?: string;
6
+ label?: string;
7
+ labelVisible?: boolean;
8
+ layout?: "horizontal" | "vertical";
9
+ disabled?: boolean;
10
+ requiredFlag?: boolean;
11
+ decorator?: React.FC<any>;
12
+ }
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable react/prop-types */
2
2
  import * as React from 'react';
3
- import * as PropTypes from 'prop-types';
4
3
  import { usePlatform } from '../../../utils/platform';
5
4
  import { ImageUploaderH5 as UploaderH5 } from './uploader.h5';
6
5
  import classNames from '../../../utils/classnames';
@@ -28,16 +27,19 @@ function UploaderPc(props) {
28
27
  const cls = classNames({
29
28
  'weda-ui': true,
30
29
  [className]: className,
31
- 'cloudbase_standard': true
30
+ cloudbase_standard: true,
32
31
  });
33
32
  return renderDecorator(
34
- <UploaderPCInner
35
- {...restProps}
36
- style={{
37
- height: '100%',
38
- display: 'flex',
39
- alignItems: 'center'
40
- }} />, decorator)({
33
+ <UploaderPCInner
34
+ {...restProps}
35
+ style={{
36
+ height: '100%',
37
+ display: 'flex',
38
+ alignItems: 'center',
39
+ }}
40
+ />,
41
+ decorator
42
+ )({
41
43
  id,
42
44
  className: cls,
43
45
  style,
@@ -55,9 +57,9 @@ export default function Uploader(props) {
55
57
  if (props?.showType === 'h5') {
56
58
  return <UploaderH5 {...props} />;
57
59
  }
58
- return platform === 'h5' ? <UploaderH5 {...props} /> : <UploaderPc {...props} />;
60
+ return platform === 'h5' ? (
61
+ <UploaderH5 {...props} />
62
+ ) : (
63
+ <UploaderPc {...props} />
64
+ );
59
65
  }
60
-
61
- Uploader.propTypes = {
62
- showType: PropTypes.string, // 强制展示某个平台 pc | h5
63
- };
@@ -1,4 +1,3 @@
1
- import * as PropTypes from 'prop-types';
2
1
  import * as React from 'react';
3
2
  import weui from '../../../utils/weui';
4
3
  import classNames from '../../../utils/classnames';
@@ -7,6 +6,7 @@ import isObjectEqual from '../../../utils/isObjectEqual';
7
6
  import { useSyncValue } from '../../../utils/useSyncValue';
8
7
  import { isCloudFileID } from '../../../utils/platform';
9
8
  import { IMAGE_TYPES } from './uploader.pc';
9
+ import { CommonFormPropsType } from '../types';
10
10
 
11
11
  const uploadPath = 'weda-uploader';
12
12
  /**
@@ -23,9 +23,10 @@ export function ImageUploaderH5({
23
23
  layout,
24
24
  defaultValue,
25
25
  single = false,
26
+ requiredFlag = false,
26
27
  onChange,
27
28
  style,
28
- }) {
29
+ }: H5UploaderProps) {
29
30
  const cls = classNames({
30
31
  'weda-ui': true,
31
32
  'weui-cells': true,
@@ -39,27 +40,28 @@ export function ImageUploaderH5({
39
40
  const [progress, setProgress] = React.useState(0);
40
41
  const [inputValue, setInputValue] = useSyncValue(defaultValue, isObjectEqual);
41
42
  const fileIdList = React.useMemo(() => {
42
- if( typeof inputValue === 'string') {
43
+ if (typeof inputValue === 'string') {
43
44
  // single = true 传入的是字符串
44
- return [inputValue].filter(i => i.length > 0); // 排除空串
45
+ return [inputValue].filter((i) => i.length > 0); // 排除空串
45
46
  }
46
- if(Array.isArray(inputValue)) {
47
+ if (Array.isArray(inputValue)) {
47
48
  return inputValue;
48
49
  }
49
50
  return [];
50
51
  }, [inputValue]);
51
52
 
52
53
  const finalMaxImgCount = React.useMemo(() => {
53
- if(single) return 1;
54
+ if (single) return 1;
54
55
  return maxUploadCount;
55
56
  }, [single, maxUploadCount]);
56
-
57
+
57
58
  const deleteFile = (url) => {
58
- if(single) {
59
+ if (single) {
59
60
  setInputValue('');
60
61
  return;
61
62
  }
62
- setInputValue((list) => list.filter(f => f !== url));
63
+ // @ts-expect-error list should be array in not single mode
64
+ setInputValue((list: string[]) => list.filter((f) => f !== url));
63
65
  };
64
66
  React.useEffect(() => {
65
67
  if (single) {
@@ -91,8 +93,8 @@ export function ImageUploaderH5({
91
93
  cloudPath,
92
94
  filePath: file,
93
95
  onUploadProgress: onProgress,
94
-
95
96
  });
97
+ // @ts-expect-error TODO
96
98
  fileID && setInputValue((list) => [...list, fileID]);
97
99
  fileID && events.success && events.success({ value: fileID, file });
98
100
  } catch (err) {
@@ -114,8 +116,11 @@ export function ImageUploaderH5({
114
116
  <div className={cls} id={id} style={style}>
115
117
  <div className="weui-cell">
116
118
  <div className="weui-cell__bd">
117
- <div className={classNames("weui-uploader", layout)}>
118
- <div className={classNames("weui-uploader__hd", layout)}>
119
+ <div className={classNames('weui-uploader', layout)}>
120
+ <div className={classNames('weui-uploader__hd', layout)}>
121
+ {requiredFlag && (
122
+ <label className="weda-formcells__flag">*</label>
123
+ )}
119
124
  <p className="weui-uploader__title">{title}</p>
120
125
  <div className="weui-uploader__info">
121
126
  <span id="uploadCount">{fileIdList.length}</span>
@@ -124,40 +129,45 @@ export function ImageUploaderH5({
124
129
  </div>
125
130
  <div className="weui-uploader__bd">
126
131
  <ul className="weui-uploader__files" id="uploaderFiles">
127
- {(fileIdList ?? []).map(f => <SingleImage key={f} src={f} deleteBySrc={deleteFile} />)}
128
- {uploading &&
129
- <li className="weui-uploader__file weui-uploader__file_status" >
130
- <div className="weui-uploader__file-content">
131
- {progress}%
132
- </div>
133
- </li>}
132
+ {(fileIdList ?? []).map((f) => (
133
+ <SingleImage key={f} src={f} deleteBySrc={deleteFile} />
134
+ ))}
135
+ {uploading && (
136
+ <li className="weui-uploader__file weui-uploader__file_status">
137
+ <div className="weui-uploader__file-content">
138
+ {progress}%
139
+ </div>
140
+ </li>
141
+ )}
134
142
  </ul>
135
143
  {(fileIdList.length < maxUploadCount ||
136
144
  (single && fileIdList.length < 1)) && ( // single 模式时,仅当数组为空时显示
137
- <div className="weui-uploader__input-box">
145
+ <div className="weui-uploader__input-box">
138
146
  <input
139
147
  id="uploaderInput"
140
148
  className="weui-uploader__input"
141
149
  type="file"
142
150
  accept={accepts.join(',')}
143
151
  multiple
144
- onChange={e => {
152
+ onChange={(e) => {
145
153
  const files = [...e.target.files];
146
- if (files.some(f => f.size > maxSize * 1024 * 1024)) {
154
+ if (files.some((f) => f.size > maxSize * 1024 * 1024)) {
147
155
  weui.alert('请上传不超过10M的图片');
148
156
  return false;
149
157
  }
150
-
158
+
151
159
  if (files.length > finalMaxImgCount) {
152
160
  // 防止一下子选择过多文件
153
- weui.alert(`最多只能上传${finalMaxImgCount}张图片,请重新选择`);
161
+ weui.alert(
162
+ `最多只能上传${finalMaxImgCount}张图片,请重新选择`
163
+ );
154
164
  return false;
155
165
  }
156
166
  if (fileIdList.length + files.length > finalMaxImgCount) {
157
167
  weui.alert(`最多只能上传${finalMaxImgCount}张图片`);
158
168
  return false;
159
169
  }
160
- files.forEach(f => uploadToTcb(f));
170
+ files.forEach((f) => uploadToTcb(f));
161
171
  }}
162
172
  />
163
173
  </div>
@@ -170,7 +180,12 @@ export function ImageUploaderH5({
170
180
  );
171
181
  }
172
182
 
173
- function SingleImage({src, deleteBySrc}) {
183
+ export interface SingleImageProps {
184
+ src: string;
185
+ deleteBySrc: (url: string) => void;
186
+ }
187
+
188
+ function SingleImage({ src, deleteBySrc }: SingleImageProps) {
174
189
  const [error, setError] = React.useState(false);
175
190
  const cls = classNames({
176
191
  'weui-uploader__file': true,
@@ -187,51 +202,46 @@ function SingleImage({src, deleteBySrc}) {
187
202
  console.error('图片加载失败');
188
203
  }
189
204
  };
190
- if(isCloudFileID(src)) {
205
+ if (isCloudFileID(src)) {
191
206
  getSrc();
192
207
  } else {
193
208
  setRealSrc(src);
194
209
  }
195
210
  }, [src]);
196
211
  const imgStyle = {
197
- backgroundImage: `url(${realSrc})`
198
- };
212
+ backgroundImage: `url(${realSrc})`,
213
+ };
199
214
  const showGallery = () => {
200
215
  const gallery = weui.gallery(realSrc, {
201
- onDelete: function() {
216
+ onDelete: function () {
202
217
  deleteBySrc(src);
203
218
  gallery.hide();
204
- }
219
+ },
205
220
  });
206
221
  };
207
-
222
+
208
223
  return (
209
224
  <li className={cls} style={imgStyle} onClick={showGallery}>
210
- {
211
- error || status ?
212
- <div className="weui-uploader__file-content">
213
- { error ? <i role="img" aria-label="错误" className="weui-icon-warn"></i> : <i className="weui-loading" style={{width: 30, height: 30}}></i> }
214
- </div>
215
- : false
216
- }
225
+ {error || status ? (
226
+ <div className="weui-uploader__file-content">
227
+ {error ? (
228
+ <i role="img" aria-label="错误" className="weui-icon-warn"></i>
229
+ ) : (
230
+ <i className="weui-loading" style={{ width: 30, height: 30 }}></i>
231
+ )}
232
+ </div>
233
+ ) : (
234
+ false
235
+ )}
217
236
  </li>
218
237
  );
219
238
  }
220
- SingleImage.propTypes = {
221
- src: PropTypes.string,
222
- deleteBySrc: PropTypes.func
223
- };
224
- ImageUploaderH5.propTypes = {
225
- id: PropTypes.string,
226
- title: PropTypes.string,
227
- className: PropTypes.string, // 传入类
228
- maxSize: PropTypes.number,
229
- acceptTypes: PropTypes.array,
230
- maxUploadCount: PropTypes.number, // 【上传图片最大数量】
231
- events: PropTypes.objectOf(PropTypes.func), // 事件
232
- style: PropTypes.object,
233
- layout: PropTypes.oneOf(['horizontal', 'vertical']),
234
- defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.string]), // 初始值,该参数需配合 formily 使用
235
- single: PropTypes.bool, // 单张上传还是多张上传,对应 onChange 参数为字符串还是字符串数组,value 在处理过程统一转为字符串数组
236
- onChange: PropTypes.objectOf(PropTypes.func), // 值变化,该参数需配合 formily 使用
237
- };
239
+ export interface H5UploaderProps extends CommonFormPropsType {
240
+ title?: string;
241
+ maxSize?: number;
242
+ acceptTypes?: unknown[];
243
+ maxUploadCount?: number;
244
+ defaultValue?: string[] | string; // 初始值,该参数需配合 formily 使用;
245
+ single?: boolean; // 单张上传还是多张上传,对应 onChange 参数为字符串还是字符串数组,value 在处理过程统一转为字符串数组;
246
+ onChange?: (v: any) => void;
247
+ }
@@ -13,7 +13,7 @@ import classNames from '../../../utils/classnames';
13
13
  import { getCloudInstance, getTempFileURL } from '../../../utils/tcb';
14
14
  import { isCloudFileID } from '../../../utils/platform';
15
15
  import isObjectEqual from '../../../utils/isObjectEqual';
16
- import * as PropTypes from 'prop-types';
16
+ import { H5UploaderProps } from './uploader.h5';
17
17
 
18
18
  // 默认组件类前缀
19
19
  export const CLASS_PREFIX = 'weda-uploader-pc';
@@ -80,30 +80,28 @@ export function UploaderPCInner(props) {
80
80
  const [progress, setProgress] = React.useState(0);
81
81
  // 文件列表
82
82
  const [fileIDList, setfileIDList] = React.useState([]);
83
- const prevValueRef = React.useRef();
83
+ const fileRef = React.useRef(fileIDList);
84
+
84
85
  React.useEffect(() => {
85
- if (prevValueRef.current !== defaultValue) {
86
- let initialValue = []
87
- .concat(defaultValue)
88
- .filter((d) => typeof d === 'string' && d !== '');
89
- if (single) {
90
- initialValue = initialValue[0] ? [initialValue[0]] : [];
91
- }
92
- setfileIDList(initialValue);
93
- prevValueRef.current = defaultValue;
86
+ let initialValue = []
87
+ .concat(defaultValue)
88
+ .filter((d) => typeof d === 'string' && d !== '');
89
+ if (single) {
90
+ initialValue = initialValue[0] ? [initialValue[0]] : [];
94
91
  }
95
- }, [defaultValue, maxUploadCount, single]);
96
- const fileRef = React.useRef(fileIDList);
92
+ setfileIDList(initialValue);
93
+ }, []);
97
94
 
98
95
  // 值变化事件
99
96
  React.useEffect(() => {
100
97
  if (!isObjectEqual(fileRef.current, fileIDList)) {
101
- events.change && events.change({ value: fileIDList });
102
98
  if (single) {
103
99
  const file = fileIDList[0] || '';
104
100
  file && onChange && onChange(file);
101
+ events.change && events.change({ value: file });
105
102
  } else {
106
103
  onChange && onChange(fileIDList);
104
+ events.change && events.change({ value: fileIDList });
107
105
  }
108
106
  fileRef.current = fileIDList;
109
107
  }
@@ -229,10 +227,12 @@ export function UploaderPCInner(props) {
229
227
  );
230
228
  }
231
229
 
232
- /**
233
- * 单张图片回显组件
234
- */
235
- export const TcbImage = (props) => {
230
+ export interface TcbImageProps {
231
+ fileID?: string; // 云存储id
232
+ isZoom?: boolean; // 是否点击放大
233
+ onError?: (e: any) => void; // 图片显示错误事件
234
+ }
235
+ export const TcbImage = (props: TcbImageProps) => {
236
236
  const { fileID, isZoom, ...rest } = props;
237
237
  const [src, setSrc] = React.useState('');
238
238
  const [isError, setIsError] = React.useState(false);
@@ -258,6 +258,7 @@ export const TcbImage = (props) => {
258
258
  {...rest}
259
259
  src={src}
260
260
  previewSrc={src}
261
+ /** @ts-expect-error tea imagepreview onError */
261
262
  onError={(e) => {
262
263
  setIsError(true);
263
264
  props?.onError && props.onError(e);
@@ -279,28 +280,10 @@ export const TcbImage = (props) => {
279
280
  ) : null;
280
281
  };
281
282
 
282
- UploaderPCInner.propTypes = {
283
- className: PropTypes.string, // 传入类
284
- title: PropTypes.string, // 官方属性:标题
285
- tips: PropTypes.string, // 官方属性:提示
286
- btnTitle: PropTypes.string, // 官方属性:上传按钮标题
287
- maxUploadCount: PropTypes.number, // 官方属性:上传图片最大数量
288
- maxSize: PropTypes.number, // 官方属性:单个图片大小限制,单位是M
289
- acceptTypes: PropTypes.array, // 官方属性:图片类型,TIF | BMP | JPEG | TIFF | PNG
290
- uploadPath: PropTypes.string, // 上传路径
291
- uploadFileName: PropTypes.string, // 上传文件名称
292
- single: PropTypes.bool, // 单张上传还是多张上传,对应 onChange 参数为字符串还是字符串数组,value 在处理过程统一转为字符串数组
293
- events: PropTypes.objectOf(PropTypes.func), // 事件
294
- value: PropTypes.oneOfType([PropTypes.array, PropTypes.string]), // 初始值,该参数需配合 formily 使用
295
- onChange: PropTypes.objectOf(PropTypes.func), // 值变化,该参数需配合 formily 使用
296
- style: PropTypes.object,
297
- id: PropTypes.string,
298
- layout: PropTypes.oneOf(['horizontal', 'vertical']),
299
- disabled: PropTypes.bool,
300
- };
301
-
302
- TcbImage.propTypes = {
303
- fileID: PropTypes.string, // 云存储id
304
- isZoom: PropTypes.bool, // 是否点击放大
305
- onError: PropTypes.func, // 图片显示错误事件
306
- };
283
+ export interface PropsType extends H5UploaderProps {
284
+ tips?: string;
285
+ value: string | string[];
286
+ btnTitle?: string;
287
+ uploadPath?: string;
288
+ uploadFileName?: string;
289
+ }