@cloudbase/weda-ui 3.2.1 → 3.3.1

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 (394) hide show
  1. package/dist/src/configs/components/chart/bar.json +9 -1
  2. package/dist/src/configs/components/chart/line.json +8 -0
  3. package/dist/src/configs/components/chart/pie.json +8 -0
  4. package/dist/src/web/actions/showModal/index.js +0 -1
  5. package/dist/src/web/components/calendar/index.js +39 -37
  6. package/dist/src/web/components/carousel/index.js +62 -62
  7. package/dist/src/web/components/chart/bar/index.js +6 -2
  8. package/dist/src/web/components/chart/common/Chart.d.ts +1 -0
  9. package/dist/src/web/components/chart/common/Chart.js +9 -1
  10. package/dist/src/web/components/chart/common/chart-custom-connector.js +1 -1
  11. package/dist/src/web/components/chart/common/core/eChartBase.js +1 -1
  12. package/dist/src/web/components/chart/common/data-transform.js +3 -1
  13. package/dist/src/web/components/chart/common/useChart.js +13 -2
  14. package/dist/src/web/components/chart/line/index.js +2 -2
  15. package/dist/src/web/components/chart/pie/index.js +2 -2
  16. package/dist/src/web/components/common/error-boundary.d.ts +5 -0
  17. package/dist/src/web/components/common/error-boundary.js +33 -0
  18. package/dist/src/web/components/common/use-loop-render-detect.d.ts +11 -0
  19. package/dist/src/web/components/common/use-loop-render-detect.js +124 -0
  20. package/dist/src/web/components/form/checkbox/index.js +29 -29
  21. package/dist/src/web/components/form/form/index.js +39 -26
  22. package/dist/src/web/components/form/input/index.js +11 -3
  23. package/dist/src/web/components/form/location/common/mapChoose.js +6 -5
  24. package/dist/src/web/components/form/location/common/mapView.js +9 -6
  25. package/dist/src/web/{utils → components/form/location/common}/tmap.d.ts +0 -0
  26. package/dist/src/web/{utils → components/form/location/common}/tmap.js +0 -0
  27. package/dist/src/web/components/form/location/common/useLocationInfo.js +3 -2
  28. package/dist/src/web/components/form/location/components/LocationH5/location.h5.js +6 -3
  29. package/dist/src/web/components/form/location/components/LocationPC/location.PC.js +5 -1
  30. package/dist/src/web/components/form/location/index.js +7 -0
  31. package/dist/src/web/components/form/radio/index.js +3 -3
  32. package/dist/src/web/components/form/select/allTimePicker/index.js +1 -0
  33. package/dist/src/web/components/form/select/h5.js +18 -4
  34. package/dist/src/web/components/form/select/index.js +15 -1
  35. package/dist/src/web/components/form/select/use-options.js +1 -1
  36. package/dist/src/web/components/form/uploader/uploader.h5.js +2 -2
  37. package/dist/src/web/components/form/uploader/uploader.pc.js +1 -1
  38. package/dist/src/web/components/form/uploaderFile/uploadFile.h5.js +9 -7
  39. package/dist/src/web/components/form/uploaderFile/uploadFile.pc.js +9 -6
  40. package/dist/src/web/components/form/userOrgSelect/comTool.js +3 -9
  41. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +47 -34
  42. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +1 -1
  43. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +35 -36
  44. package/dist/src/web/{utils → components/form/userOrgSelect}/getUserService.d.ts +0 -0
  45. package/dist/src/web/{utils → components/form/userOrgSelect}/getUserService.js +8 -5
  46. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +3 -2
  47. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.h5.js +42 -20
  48. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +1 -1
  49. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.pc.js +111 -129
  50. package/dist/src/web/components/form/userOrgSelect/utils.d.ts +3 -2
  51. package/dist/src/web/components/form/userOrgSelect/utils.js +24 -16
  52. package/dist/src/web/components/formdetail/index.js +14 -11
  53. package/dist/src/web/components/graphicCard/index.js +5 -6
  54. package/dist/src/web/components/image/index.js +1 -1
  55. package/dist/src/web/components/listView/index.js +1 -0
  56. package/dist/src/web/components/lottery/index.js +10 -16
  57. package/dist/src/web/components/navLayout/index.js +1 -1
  58. package/dist/src/web/components/navigationBar/horizontalMenu.js +1 -1
  59. package/dist/src/web/components/navigationBar/index.js +13 -8
  60. package/dist/src/web/components/richText/index.js +1 -2
  61. package/dist/src/web/components/richTextView/index.js +20 -18
  62. package/dist/src/web/components/scrollView/index.d.ts +1 -2
  63. package/dist/src/web/components/scrollView/index.js +7 -5
  64. package/dist/src/web/components/swiper/index.js +62 -62
  65. package/dist/src/web/components/tabs/index.js +6 -1
  66. package/dist/src/web/components/tabs/tabs.h5.js +2 -0
  67. package/dist/src/web/components/text/index.js +10 -8
  68. package/dist/src/web/components/uploaderFileView/index.js +1 -1
  69. package/dist/src/web/components/uploaderView/index.js +1 -1
  70. package/dist/src/web/components/wedaVideo/index.js +15 -3
  71. package/dist/src/web/utils/console.d.ts +3 -0
  72. package/dist/src/web/utils/console.js +26 -0
  73. package/dist/src/web/utils/platform.js +1 -1
  74. package/dist/src/web/utils/tcb.js +1 -1
  75. package/dist/src/web/utils/useSyncValue.js +1 -0
  76. package/dist/web/components/form/input/index.css +16 -0
  77. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +4 -0
  78. package/package.json +22 -22
  79. package/dist/configs/actions/showModal.json +0 -48
  80. package/dist/configs/actions/showToast.json +0 -41
  81. package/dist/configs/components/auth.json +0 -16
  82. package/dist/configs/components/button.json +0 -239
  83. package/dist/configs/components/calendar.json +0 -81
  84. package/dist/configs/components/carousel.json +0 -292
  85. package/dist/configs/components/chart/bar.json +0 -728
  86. package/dist/configs/components/chart/line.json +0 -681
  87. package/dist/configs/components/chart/pie.json +0 -500
  88. package/dist/configs/components/chart/statisticsCard.json +0 -376
  89. package/dist/configs/components/container.json +0 -50
  90. package/dist/configs/components/dataView.json +0 -239
  91. package/dist/configs/components/drawer.json +0 -115
  92. package/dist/configs/components/form/checkbox.json +0 -179
  93. package/dist/configs/components/form/departTreeSelect.json +0 -124
  94. package/dist/configs/components/form/form.json +0 -69
  95. package/dist/configs/components/form/input.json +0 -154
  96. package/dist/configs/components/form/location.json +0 -216
  97. package/dist/configs/components/form/radio.json +0 -203
  98. package/dist/configs/components/form/richText.json +0 -133
  99. package/dist/configs/components/form/select.json +0 -431
  100. package/dist/configs/components/form/switch.json +0 -58
  101. package/dist/configs/components/form/textarea.json +0 -116
  102. package/dist/configs/components/form/tips.json +0 -34
  103. package/dist/configs/components/form/uploader.json +0 -171
  104. package/dist/configs/components/form/uploaderFile.json +0 -158
  105. package/dist/configs/components/form/userTreeSelect.json +0 -128
  106. package/dist/configs/components/formdetail.json +0 -105
  107. package/dist/configs/components/graphicCard.json +0 -413
  108. package/dist/configs/components/image.json +0 -187
  109. package/dist/configs/components/link.json +0 -79
  110. package/dist/configs/components/listView.json +0 -378
  111. package/dist/configs/components/lottery.json +0 -163
  112. package/dist/configs/components/modal.json +0 -72
  113. package/dist/configs/components/navLayout.json +0 -368
  114. package/dist/configs/components/navigationBar.json +0 -62
  115. package/dist/configs/components/richtextview.json +0 -26
  116. package/dist/configs/components/scrollVeiw.json +0 -253
  117. package/dist/configs/components/slot.json +0 -17
  118. package/dist/configs/components/swiper.json +0 -90
  119. package/dist/configs/components/tabs.json +0 -122
  120. package/dist/configs/components/text.json +0 -95
  121. package/dist/configs/components/wedaVideo.json +0 -89
  122. package/dist/configs/components/wxOpenApi/phone.json +0 -127
  123. package/dist/configs/components/wxOpenApi/phoneCode.json +0 -109
  124. package/dist/configs/components/wxOpenApi/share.json +0 -160
  125. package/dist/configs/components/wxOpenApi/userInfo.json +0 -156
  126. package/dist/configs/index.d.ts +0 -103
  127. package/dist/configs/index.js +0 -111
  128. package/dist/docs/common/format.d.ts +0 -13
  129. package/dist/docs/common/format.js +0 -122
  130. package/dist/docs/common/tableView.d.ts +0 -30
  131. package/dist/docs/common/tableView.js +0 -159
  132. package/dist/index.d.ts +0 -2
  133. package/dist/index.js +0 -3
  134. package/dist/setupTests.d.ts +0 -1
  135. package/dist/setupTests.js +0 -14
  136. package/dist/src/web/components/chart/common/error-boundary.d.ts +0 -5
  137. package/dist/src/web/components/chart/common/error-boundary.js +0 -26
  138. package/dist/web/actions/index.d.ts +0 -2
  139. package/dist/web/actions/index.js +0 -2
  140. package/dist/web/actions/showModal/index.d.ts +0 -4
  141. package/dist/web/actions/showModal/index.js +0 -67
  142. package/dist/web/actions/showToast/index.d.ts +0 -1
  143. package/dist/web/actions/showToast/index.js +0 -3
  144. package/dist/web/components/button/index.d.ts +0 -32
  145. package/dist/web/components/button/index.js +0 -48
  146. package/dist/web/components/calendar/index.d.ts +0 -19
  147. package/dist/web/components/calendar/index.js +0 -189
  148. package/dist/web/components/calendar/util.d.ts +0 -13
  149. package/dist/web/components/calendar/util.js +0 -74
  150. package/dist/web/components/carousel/index.d.ts +0 -41
  151. package/dist/web/components/carousel/index.js +0 -244
  152. package/dist/web/components/chart/bar/index.d.ts +0 -41
  153. package/dist/web/components/chart/bar/index.js +0 -56
  154. package/dist/web/components/chart/common/config/bar.d.ts +0 -48
  155. package/dist/web/components/chart/common/config/bar.js +0 -49
  156. package/dist/web/components/chart/common/config/global.d.ts +0 -13
  157. package/dist/web/components/chart/common/config/global.js +0 -16
  158. package/dist/web/components/chart/common/config/line.d.ts +0 -46
  159. package/dist/web/components/chart/common/config/line.js +0 -49
  160. package/dist/web/components/chart/common/config/pie.d.ts +0 -29
  161. package/dist/web/components/chart/common/config/pie.js +0 -36
  162. package/dist/web/components/chart/common/core/eChartBar.d.ts +0 -68
  163. package/dist/web/components/chart/common/core/eChartBar.js +0 -198
  164. package/dist/web/components/chart/common/core/eChartBase.d.ts +0 -128
  165. package/dist/web/components/chart/common/core/eChartBase.js +0 -352
  166. package/dist/web/components/chart/common/core/eChartLine.d.ts +0 -62
  167. package/dist/web/components/chart/common/core/eChartLine.js +0 -170
  168. package/dist/web/components/chart/common/core/eChartPie.d.ts +0 -50
  169. package/dist/web/components/chart/common/core/eChartPie.js +0 -132
  170. package/dist/web/components/chart/common/core/type.d.ts +0 -35
  171. package/dist/web/components/chart/common/core/type.js +0 -9
  172. package/dist/web/components/chart/common/echarts.d.ts +0 -2
  173. package/dist/web/components/chart/common/echarts.js +0 -24
  174. package/dist/web/components/chart/common/useChart.d.ts +0 -8
  175. package/dist/web/components/chart/common/useChart.js +0 -60
  176. package/dist/web/components/chart/line/index.d.ts +0 -39
  177. package/dist/web/components/chart/line/index.js +0 -53
  178. package/dist/web/components/chart/pie/index.d.ts +0 -27
  179. package/dist/web/components/chart/pie/index.js +0 -40
  180. package/dist/web/components/chart/statisticsCard/index.d.ts +0 -85
  181. package/dist/web/components/chart/statisticsCard/index.js +0 -203
  182. package/dist/web/components/chart/statisticsCard/interface.d.ts +0 -13
  183. package/dist/web/components/chart/statisticsCard/interface.js +0 -1
  184. package/dist/web/components/container/index.d.ts +0 -6
  185. package/dist/web/components/container/index.js +0 -6
  186. package/dist/web/components/dataView/index.d.ts +0 -6
  187. package/dist/web/components/dataView/index.js +0 -8
  188. package/dist/web/components/dataView/interface.d.ts +0 -5
  189. package/dist/web/components/dataView/interface.js +0 -1
  190. package/dist/web/components/drawer/index.d.ts +0 -13
  191. package/dist/web/components/drawer/index.js +0 -12
  192. package/dist/web/components/form/checkbox/index.d.ts +0 -13
  193. package/dist/web/components/form/checkbox/index.js +0 -167
  194. package/dist/web/components/form/enumSelect/MultipleSelect.d.ts +0 -78
  195. package/dist/web/components/form/enumSelect/MultipleSelect.js +0 -52
  196. package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -83
  197. package/dist/web/components/form/enumSelect/NormalSelect.js +0 -52
  198. package/dist/web/components/form/enumSelect/SelectContainer.d.ts +0 -16
  199. package/dist/web/components/form/enumSelect/SelectContainer.js +0 -30
  200. package/dist/web/components/form/enumSelect/index.d.ts +0 -82
  201. package/dist/web/components/form/enumSelect/index.js +0 -6
  202. package/dist/web/components/form/enumSelect/props/defaultProps.d.ts +0 -34
  203. package/dist/web/components/form/enumSelect/props/defaultProps.js +0 -40
  204. package/dist/web/components/form/enumSelect/props/propsTypes.d.ts +0 -39
  205. package/dist/web/components/form/enumSelect/props/propsTypes.js +0 -47
  206. package/dist/web/components/form/form/index.d.ts +0 -32
  207. package/dist/web/components/form/form/index.js +0 -108
  208. package/dist/web/components/form/formcell/index.d.ts +0 -8
  209. package/dist/web/components/form/formcell/index.js +0 -40
  210. package/dist/web/components/form/input/index.d.ts +0 -14
  211. package/dist/web/components/form/input/index.js +0 -86
  212. package/dist/web/components/form/location/common/mapChoose.d.ts +0 -15
  213. package/dist/web/components/form/location/common/mapChoose.js +0 -495
  214. package/dist/web/components/form/location/common/mapView.d.ts +0 -19
  215. package/dist/web/components/form/location/common/mapView.js +0 -172
  216. package/dist/web/components/form/location/common/propsConfig.d.ts +0 -59
  217. package/dist/web/components/form/location/common/propsConfig.js +0 -50
  218. package/dist/web/components/form/location/common/selectModal.d.ts +0 -21
  219. package/dist/web/components/form/location/common/selectModal.js +0 -44
  220. package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -36
  221. package/dist/web/components/form/location/common/useLocationInfo.js +0 -104
  222. package/dist/web/components/form/location/components/LocationH5/location.h5.d.ts +0 -8
  223. package/dist/web/components/form/location/components/LocationH5/location.h5.js +0 -325
  224. package/dist/web/components/form/location/components/LocationPC/Header.d.ts +0 -12
  225. package/dist/web/components/form/location/components/LocationPC/Header.js +0 -43
  226. package/dist/web/components/form/location/components/LocationPC/location.PC.d.ts +0 -8
  227. package/dist/web/components/form/location/components/LocationPC/location.PC.js +0 -224
  228. package/dist/web/components/form/location/constants.d.ts +0 -2
  229. package/dist/web/components/form/location/constants.js +0 -3
  230. package/dist/web/components/form/location/index.d.ts +0 -1
  231. package/dist/web/components/form/location/index.js +0 -17
  232. package/dist/web/components/form/radio/index.d.ts +0 -11
  233. package/dist/web/components/form/radio/index.js +0 -115
  234. package/dist/web/components/form/renderDecorator.d.ts +0 -6
  235. package/dist/web/components/form/renderDecorator.js +0 -20
  236. package/dist/web/components/form/select/dropdown-select/ui.d.ts +0 -15
  237. package/dist/web/components/form/select/dropdown-select/ui.js +0 -55
  238. package/dist/web/components/form/select/h5.d.ts +0 -16
  239. package/dist/web/components/form/select/h5.js +0 -410
  240. package/dist/web/components/form/select/index.d.ts +0 -65
  241. package/dist/web/components/form/select/index.js +0 -232
  242. package/dist/web/components/form/select/region/index.d.ts +0 -6
  243. package/dist/web/components/form/select/region/index.js +0 -147
  244. package/dist/web/components/form/select/time.d.ts +0 -9
  245. package/dist/web/components/form/select/time.js +0 -146
  246. package/dist/web/components/form/select/use-options.d.ts +0 -26
  247. package/dist/web/components/form/select/use-options.js +0 -103
  248. package/dist/web/components/form/select/year.d.ts +0 -7
  249. package/dist/web/components/form/select/year.js +0 -72
  250. package/dist/web/components/form/switch/index.d.ts +0 -6
  251. package/dist/web/components/form/switch/index.js +0 -58
  252. package/dist/web/components/form/textarea/index.d.ts +0 -12
  253. package/dist/web/components/form/textarea/index.js +0 -66
  254. package/dist/web/components/form/tips/index.d.ts +0 -8
  255. package/dist/web/components/form/tips/index.js +0 -17
  256. package/dist/web/components/form/uploader/index.d.ts +0 -3
  257. package/dist/web/components/form/uploader/index.js +0 -42
  258. package/dist/web/components/form/uploader/uploader.h5.d.ts +0 -20
  259. package/dist/web/components/form/uploader/uploader.h5.js +0 -224
  260. package/dist/web/components/form/uploader/uploader.pc.d.ts +0 -29
  261. package/dist/web/components/form/uploader/uploader.pc.js +0 -214
  262. package/dist/web/components/form/uploaderFile/index.d.ts +0 -4
  263. package/dist/web/components/form/uploaderFile/index.js +0 -19
  264. package/dist/web/components/form/uploaderFile/uploadFile.h5.d.ts +0 -23
  265. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +0 -337
  266. package/dist/web/components/form/uploaderFile/uploadFile.pc.d.ts +0 -24
  267. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +0 -313
  268. package/dist/web/components/form/userOrgSelect/comTool.d.ts +0 -7
  269. package/dist/web/components/form/userOrgSelect/comTool.js +0 -89
  270. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.d.ts +0 -20
  271. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +0 -259
  272. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +0 -4
  273. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -153
  274. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
  275. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  276. package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
  277. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  278. package/dist/web/components/form/userOrgSelect/userOrgSelect.less +0 -643
  279. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -24
  280. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -276
  281. package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +0 -9
  282. package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.js +0 -229
  283. package/dist/web/components/form/userOrgSelect/utils.d.ts +0 -35
  284. package/dist/web/components/form/userOrgSelect/utils.js +0 -72
  285. package/dist/web/components/formdetail/index.d.ts +0 -28
  286. package/dist/web/components/formdetail/index.js +0 -170
  287. package/dist/web/components/graphicCard/index.d.ts +0 -31
  288. package/dist/web/components/graphicCard/index.js +0 -166
  289. package/dist/web/components/image/image.d.ts +0 -9
  290. package/dist/web/components/image/image.js +0 -119
  291. package/dist/web/components/image/index.d.ts +0 -13
  292. package/dist/web/components/image/index.js +0 -91
  293. package/dist/web/components/index.d.ts +0 -50
  294. package/dist/web/components/index.js +0 -97
  295. package/dist/web/components/link/index.d.ts +0 -24
  296. package/dist/web/components/link/index.js +0 -71
  297. package/dist/web/components/listView/index.d.ts +0 -7
  298. package/dist/web/components/listView/index.js +0 -286
  299. package/dist/web/components/listView/interface.d.ts +0 -127
  300. package/dist/web/components/listView/interface.js +0 -1
  301. package/dist/web/components/lottery/index.d.ts +0 -22
  302. package/dist/web/components/lottery/index.js +0 -391
  303. package/dist/web/components/lottery/lotteryUtil.d.ts +0 -23
  304. package/dist/web/components/lottery/lotteryUtil.js +0 -181
  305. package/dist/web/components/modal/index.d.ts +0 -17
  306. package/dist/web/components/modal/index.js +0 -11
  307. package/dist/web/components/modal/modal.h5.d.ts +0 -4
  308. package/dist/web/components/modal/modal.h5.js +0 -46
  309. package/dist/web/components/modal/modal.pc.d.ts +0 -3
  310. package/dist/web/components/modal/modal.pc.js +0 -31
  311. package/dist/web/components/navLayout/index.d.ts +0 -46
  312. package/dist/web/components/navLayout/index.js +0 -116
  313. package/dist/web/components/navigationBar/common.d.ts +0 -15
  314. package/dist/web/components/navigationBar/common.js +0 -127
  315. package/dist/web/components/navigationBar/h5Menu.d.ts +0 -14
  316. package/dist/web/components/navigationBar/h5Menu.js +0 -72
  317. package/dist/web/components/navigationBar/horizontalMenu.d.ts +0 -12
  318. package/dist/web/components/navigationBar/horizontalMenu.js +0 -99
  319. package/dist/web/components/navigationBar/index.d.ts +0 -13
  320. package/dist/web/components/navigationBar/index.js +0 -157
  321. package/dist/web/components/navigationBar/verticalMenu.d.ts +0 -13
  322. package/dist/web/components/navigationBar/verticalMenu.js +0 -38
  323. package/dist/web/components/phone/index.d.ts +0 -18
  324. package/dist/web/components/phone/index.js +0 -4
  325. package/dist/web/components/phoneCode/index.d.ts +0 -18
  326. package/dist/web/components/phoneCode/index.js +0 -4
  327. package/dist/web/components/picker/datePicker.d.ts +0 -10
  328. package/dist/web/components/picker/datePicker.js +0 -31
  329. package/dist/web/components/picker/picker.d.ts +0 -6
  330. package/dist/web/components/picker/picker.js +0 -45
  331. package/dist/web/components/picker/timePicker.d.ts +0 -7
  332. package/dist/web/components/picker/timePicker.js +0 -42
  333. package/dist/web/components/richText/const.d.ts +0 -1
  334. package/dist/web/components/richText/const.js +0 -2
  335. package/dist/web/components/richText/index.d.ts +0 -50
  336. package/dist/web/components/richText/index.js +0 -352
  337. package/dist/web/components/richTextView/index.d.ts +0 -7
  338. package/dist/web/components/richTextView/index.js +0 -44
  339. package/dist/web/components/scrollView/index.d.ts +0 -27
  340. package/dist/web/components/scrollView/index.js +0 -95
  341. package/dist/web/components/share/index.d.ts +0 -34
  342. package/dist/web/components/share/index.js +0 -4
  343. package/dist/web/components/slot/index.d.ts +0 -6
  344. package/dist/web/components/slot/index.js +0 -9
  345. package/dist/web/components/swiper/index.d.ts +0 -24
  346. package/dist/web/components/swiper/index.js +0 -153
  347. package/dist/web/components/tabs/index.d.ts +0 -13
  348. package/dist/web/components/tabs/index.js +0 -15
  349. package/dist/web/components/tabs/tabs.h5.d.ts +0 -4
  350. package/dist/web/components/tabs/tabs.h5.js +0 -42
  351. package/dist/web/components/tabs/tabs.pc.d.ts +0 -3
  352. package/dist/web/components/tabs/tabs.pc.js +0 -40
  353. package/dist/web/components/text/index.d.ts +0 -14
  354. package/dist/web/components/text/index.js +0 -17
  355. package/dist/web/components/uploaderFileView/index.d.ts +0 -10
  356. package/dist/web/components/uploaderFileView/index.js +0 -61
  357. package/dist/web/components/uploaderView/index.d.ts +0 -17
  358. package/dist/web/components/uploaderView/index.js +0 -48
  359. package/dist/web/components/userInfo/index.d.ts +0 -26
  360. package/dist/web/components/userInfo/index.js +0 -4
  361. package/dist/web/components/wedaVideo/index.d.ts +0 -17
  362. package/dist/web/components/wedaVideo/index.js +0 -160
  363. package/dist/web/index.d.ts +0 -8
  364. package/dist/web/index.js +0 -4
  365. package/dist/web/utils/classnames.d.ts +0 -2
  366. package/dist/web/utils/classnames.js +0 -37
  367. package/dist/web/utils/constant.d.ts +0 -23
  368. package/dist/web/utils/constant.js +0 -24
  369. package/dist/web/utils/debounce.d.ts +0 -2
  370. package/dist/web/utils/debounce.js +0 -92
  371. package/dist/web/utils/getLocalCounter.d.ts +0 -1
  372. package/dist/web/utils/getLocalCounter.js +0 -4
  373. package/dist/web/utils/getUserService.d.ts +0 -17
  374. package/dist/web/utils/getUserService.js +0 -148
  375. package/dist/web/utils/isObjectEqual.d.ts +0 -2
  376. package/dist/web/utils/isObjectEqual.js +0 -12
  377. package/dist/web/utils/loading-fallback.d.ts +0 -2
  378. package/dist/web/utils/loading-fallback.js +0 -2
  379. package/dist/web/utils/lodash.d.ts +0 -1
  380. package/dist/web/utils/lodash.js +0 -2
  381. package/dist/web/utils/platform.d.ts +0 -18
  382. package/dist/web/utils/platform.js +0 -193
  383. package/dist/web/utils/tcb.d.ts +0 -27
  384. package/dist/web/utils/tcb.js +0 -105
  385. package/dist/web/utils/tmap.d.ts +0 -3
  386. package/dist/web/utils/tmap.js +0 -21
  387. package/dist/web/utils/use-cloud-id-temp-url.d.ts +0 -1
  388. package/dist/web/utils/use-cloud-id-temp-url.js +0 -13
  389. package/dist/web/utils/useSetState.d.ts +0 -1
  390. package/dist/web/utils/useSetState.js +0 -8
  391. package/dist/web/utils/useSyncValue.d.ts +0 -4
  392. package/dist/web/utils/useSyncValue.js +0 -15
  393. package/dist/web/utils/weui.d.ts +0 -1
  394. package/dist/web/utils/weui.js +0 -2
@@ -1,29 +0,0 @@
1
- /// <reference types="react" />
2
- import { H5UploaderProps } from './uploader.h5';
3
- export declare const CLASS_PREFIX = "weda-uploader-pc";
4
- export declare const IMAGE_TYPES: string[];
5
- /**
6
- * 上传图片-官方组件
7
- */
8
- export declare function UploaderPC({ layout, className, id, style, title, tips, ...props }: {
9
- [x: string]: any;
10
- layout: any;
11
- className: any;
12
- id: any;
13
- style: any;
14
- title: any;
15
- tips: any;
16
- }): JSX.Element;
17
- export declare function UploaderPCInner(props: any): JSX.Element;
18
- export interface TcbImageProps {
19
- fileID?: string;
20
- isZoom?: boolean;
21
- onError?: (e: unknown) => void;
22
- }
23
- export declare const TcbImage: (props: TcbImageProps) => JSX.Element;
24
- export interface PropsType extends H5UploaderProps {
25
- tips?: string;
26
- value: string | string[];
27
- btnTitle?: string;
28
- uploadPath?: string;
29
- }
@@ -1,214 +0,0 @@
1
- import * as React from 'react';
2
- import { Upload, Button, Icon, message, ErrorTip, ImagePreview, ConfigProvider, } from 'tea-component';
3
- import classNames from '../../../utils/classnames';
4
- import { getCloudInstance, getTempFileURL } from '../../../utils/tcb';
5
- import { isCloudFileID, randomStr } from '../../../utils/platform';
6
- import isObjectEqual from '../../../utils/isObjectEqual';
7
- import { emptyObject } from '../../../utils/constant';
8
- // 默认组件类前缀
9
- export const CLASS_PREFIX = 'weda-uploader-pc';
10
- // 默认图片类型
11
- export const IMAGE_TYPES = [
12
- 'image/jpg',
13
- 'image/png',
14
- 'image/tif',
15
- 'image/bmp',
16
- 'image/jpeg',
17
- 'image/tiff',
18
- 'image/gif',
19
- ];
20
- /**
21
- * 上传图片-官方组件
22
- */
23
- // eslint-disable-next-line react/prop-types
24
- export function UploaderPC({ layout, className, id, style, title, tips, ...props }) {
25
- const cls = classNames({
26
- 'weda-ui': true,
27
- [CLASS_PREFIX]: true,
28
- [layout]: layout,
29
- [className]: className,
30
- });
31
- return (React.createElement("div", { className: cls, id: id, style: style },
32
- React.createElement("div", { className: `${CLASS_PREFIX}__header` },
33
- title && React.createElement("div", { className: `${CLASS_PREFIX}__title` }, title),
34
- tips && (React.createElement("div", { className: `${CLASS_PREFIX}__description` }, tips || ''))),
35
- React.createElement(UploaderPCInner, { ...props })));
36
- }
37
- export function UploaderPCInner(props) {
38
- const { tips = '', btnTitle = '上传图片', maxUploadCount = 9, maxSize = 10, value: defaultValue, // 需要兼容 cloud:和https: 协议,需要兼容 字符串和字符串数组
39
- acceptTypes = IMAGE_TYPES, uploadPath = 'weda-uploader', events = emptyObject, single = false, disabled = false, onChange, } = props;
40
- // 上传中
41
- const [uploading, setUploading] = React.useState(false);
42
- //上传进度
43
- const [progress, setProgress] = React.useState(0);
44
- // 文件列表
45
- const [fileIDList, setfileIDList] = React.useState([]);
46
- const fileRef = React.useRef([]);
47
- React.useEffect(() => {
48
- let initialValue = []
49
- .concat(defaultValue)
50
- .filter((d) => typeof d === 'string' && d !== '');
51
- if (single) {
52
- initialValue = initialValue[0] ? [initialValue[0]] : [];
53
- }
54
- setfileIDList(initialValue);
55
- }, [defaultValue]);
56
- // 值变化事件
57
- React.useEffect(() => {
58
- if (!isObjectEqual(fileRef.current, fileIDList)) {
59
- if (single) {
60
- const file = fileIDList[0] || '';
61
- onChange && onChange(file);
62
- events.change && events.change({ value: file });
63
- }
64
- else {
65
- onChange && onChange(fileIDList);
66
- events.change && events.change({ value: fileIDList });
67
- }
68
- fileRef.current = fileIDList;
69
- }
70
- });
71
- //验证上传文件类型是否合法
72
- const islegalType = (files, accepts) => {
73
- const illegalType = [];
74
- let isImage = true;
75
- for (const file of files) {
76
- if ((file === null || file === void 0 ? void 0 : file.type.split('/')[0]) !== 'image') {
77
- message.error({ content: '请上传图片' });
78
- isImage = false;
79
- break;
80
- }
81
- accepts.some((item) => item === (file === null || file === void 0 ? void 0 : file.type))
82
- ? null
83
- : illegalType.push(file === null || file === void 0 ? void 0 : file.type);
84
- }
85
- if (!isImage)
86
- return false;
87
- if (illegalType.length > 0) {
88
- message.error({
89
- content: '不支持上传' +
90
- Array.from(new Set(illegalType)).join(',') +
91
- '格式图片',
92
- });
93
- return false;
94
- }
95
- return true;
96
- };
97
- // 方法:上传前,判断图片大小、数量是否满足,取消默认组件的上传事件,用自定义的 tcb 上传方法
98
- const beforeHandle = (file, fileList, isAccepted, error) => {
99
- if (!islegalType(fileList, extraProps['accept']))
100
- return;
101
- if (!isAccepted) {
102
- try {
103
- const errorList = [];
104
- if (error.find((item) => (item === null || item === void 0 ? void 0 : item.code) === 'file-invalid-type')) {
105
- errorList.push('上传图片类型错误');
106
- }
107
- if (error.find((item) => (item === null || item === void 0 ? void 0 : item.code) === 'file-too-large')) {
108
- errorList.push(`上传图片大小不能超过${maxSize}M`);
109
- }
110
- message.error({ content: errorList.join(', ') });
111
- }
112
- catch (e) { }
113
- return false;
114
- }
115
- uploadTcb(file);
116
- return false;
117
- };
118
- // 自定义上传到 Tcb 的 COS
119
- const uploadTcb = (file) => {
120
- setUploading(true);
121
- getCloudInstance().then(async (tcb) => {
122
- try {
123
- const cloudPath = `${uploadPath}/${randomStr()}-${file === null || file === void 0 ? void 0 : file.name}`;
124
- const { fileID } = await tcb.uploadFile({
125
- cloudPath,
126
- filePath: file,
127
- onUploadProgress: onProgress,
128
- });
129
- fileID && setfileIDList((list) => [...list, fileID]);
130
- fileID && events.success && events.success({ value: fileID, file });
131
- }
132
- catch (err) {
133
- message.error({ content: `${err}` || '上传失败' });
134
- events.error && events.error(err);
135
- }
136
- finally {
137
- setUploading(false);
138
- setProgress(0);
139
- }
140
- });
141
- };
142
- // 计算上传进度
143
- const onProgress = (progressEvent) => {
144
- let percentCompleted = 0;
145
- try {
146
- percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
147
- percentCompleted < 100 ? percentCompleted : 100;
148
- }
149
- catch (e) { }
150
- setProgress(percentCompleted);
151
- };
152
- // 删除图片
153
- const deleteHandle = (fileID) => {
154
- setfileIDList((list) => list.filter((d) => d !== fileID));
155
- };
156
- // 转换后的属性
157
- const extraProps = {};
158
- extraProps['accept'] =
159
- acceptTypes.includes('image/*') || acceptTypes.length === 0
160
- ? IMAGE_TYPES
161
- : Array.from(new Set(acceptTypes));
162
- tips && (extraProps['title'] = tips);
163
- maxSize && (extraProps['maxSize'] = maxSize * 1024 * 1024);
164
- return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
165
- React.createElement("div", { className: "_weda-fn-upload-result" },
166
- fileIDList.map((d) => (React.createElement("div", { className: "_weda-fn-upload-result__item", key: d },
167
- React.createElement(TcbImage, { fileID: d }),
168
- React.createElement("div", { className: "_weda-fn-upload-result__op" },
169
- React.createElement(Button, { disabled: disabled, onClick: () => deleteHandle(d), className: `${CLASS_PREFIX}__btn` }, "\u5220\u9664"))))),
170
- uploading && (React.createElement("div", { className: "_weda-fn-upload-result__item" },
171
- React.createElement("div", { className: "_weda-fn-upload-result__status", key: "_place_image" },
172
- React.createElement(Icon, { type: "loading" }),
173
- !!progress && (React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" },
174
- "\u4E0A\u4F20",
175
- progress,
176
- "%..."))))),
177
- React.createElement("div", { className: `${CLASS_PREFIX}__input-box` }, disabled ? (React.createElement("li", { className: "_weda-fn-upload-result__item wedatea2td-disabled" },
178
- React.createElement("div", { className: "_weda-fn-upload-result__status" },
179
- React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
180
- React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle)))) : (((!single && fileIDList.length < maxUploadCount) ||
181
- (single && fileIDList.length < 1)) && ( // single 模式时,仅当数组为空时显示
182
- React.createElement(Upload, { ...extraProps, beforeUpload: beforeHandle },
183
- React.createElement("li", { className: "_weda-fn-upload-result__item _weda-fn-upload-result__item--upload" },
184
- React.createElement("div", { className: "_weda-fn-upload-result__status" },
185
- React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
186
- React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle))))))))));
187
- }
188
- export const TcbImage = (props) => {
189
- const { fileID, isZoom, ...rest } = props;
190
- const [src, setSrc] = React.useState('');
191
- const [isError, setIsError] = React.useState(false);
192
- React.useEffect(() => {
193
- const getSrc = async () => {
194
- try {
195
- const url = await getTempFileURL(fileID);
196
- const _src = encodeURI(url);
197
- _src ? setSrc(_src) : setIsError(true);
198
- }
199
- catch (e) {
200
- message.error({ content: '图片加载失败' });
201
- }
202
- };
203
- isCloudFileID(fileID) ? getSrc() : setSrc(fileID);
204
- }, [fileID]);
205
- return isError ? (React.createElement(ErrorTip, null)) : src ? (isZoom ? (React.createElement(ImagePreview, { key: fileID, className: `${CLASS_PREFIX}__image`, ...rest, src: src, previewSrc: src,
206
- /** @ts-expect-error tea imagepreview onError */
207
- onError: (e) => {
208
- setIsError(true);
209
- (props === null || props === void 0 ? void 0 : props.onError) && props.onError(e);
210
- } })) : (React.createElement("img", { key: fileID, className: `${CLASS_PREFIX}__image`, ...rest, src: src, onError: (e) => {
211
- setIsError(true);
212
- (props === null || props === void 0 ? void 0 : props.onError) && props.onError(e);
213
- } }))) : null;
214
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * 文件组件上传,区分 h5端/pc端
3
- */
4
- export default function UploaderFile(props: any): JSX.Element;
@@ -1,19 +0,0 @@
1
- /* eslint-disable react/prop-types */
2
- import * as React from 'react';
3
- import { usePlatform } from '../../../utils/platform';
4
- import { UploadFileH5 as UploaderH5 } from './uploadFile.h5';
5
- import { UploadFilePc } from './uploadFile.pc';
6
- import './index.css';
7
- /**
8
- * 文件组件上传,区分 h5端/pc端
9
- */
10
- export default function UploaderFile(props) {
11
- const platform = usePlatform();
12
- if ((props === null || props === void 0 ? void 0 : props.showType) === 'pc') {
13
- return React.createElement(UploadFilePc, { ...props });
14
- }
15
- if ((props === null || props === void 0 ? void 0 : props.showType) === 'h5') {
16
- return React.createElement(UploaderH5, { ...props });
17
- }
18
- return platform === 'h5' ? (React.createElement(UploaderH5, { ...props })) : (React.createElement(UploadFilePc, { ...props }));
19
- }
@@ -1,23 +0,0 @@
1
- /// <reference types="react" />
2
- import type { CommonFormPropsType } from '../types';
3
- export declare const FILES_TYPES: string[];
4
- export declare function UploadFileH5({ layout, id, style, labelVisible, label, requiredFlag, disabled, className, acceptTypes, tips, btnTitle, maxUploadCount, maxSize, deleteVisible, downloadVisible, value, // 需要兼容 cloud:和https: 协议,需要兼容字符串和字符串数组
5
- events, defaultValue, uploadPath, single, onChange, isEdit, }: IUploadFileH5): JSX.Element;
6
- export interface IUploadFileH5 extends CommonFormPropsType {
7
- className?: string;
8
- label?: string;
9
- tips?: string;
10
- btnTitle?: string;
11
- maxUploadCount?: number;
12
- deleteVisible?: boolean;
13
- downloadVisible?: boolean;
14
- acceptTypes?: Readonly<string[] | string>;
15
- disabled?: boolean;
16
- defaultValue?: string | string[];
17
- maxSize?: number;
18
- value?: Readonly<string | string[]>;
19
- uploadPath?: string;
20
- single?: boolean;
21
- onChange?: (v: any) => void;
22
- isEdit: boolean;
23
- }
@@ -1,337 +0,0 @@
1
- import * as React from 'react';
2
- import weui from '../../../utils/weui';
3
- import isObjectEqual from '../../../utils/isObjectEqual';
4
- import { ConfigProvider, Button, Icon, Text, List, Progress, Tooltip, } from 'tea-component';
5
- import { filterStrList, isCloudFileID, isHttpFileID, transSize, downloadFile, transFileCloudidToName, randomStr, } from '../../../utils/platform';
6
- import { getCloudInstance, getTempFileURL } from '../../../utils/tcb';
7
- import classNames from '../../../utils/classnames';
8
- import { renderDecorator } from '../renderDecorator';
9
- import { emptyArray, emptyObject } from '../../../utils/constant';
10
- // 默认组件类前缀
11
- const CLASS_PREFIX = 'weda-upload-file-mobile';
12
- // 默认图片类型
13
- export const FILES_TYPES = [
14
- '.doc',
15
- '.docx',
16
- '.xml',
17
- 'application/msword',
18
- 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
19
- ];
20
- // 上传状态字典
21
- const statusMap = {
22
- UPLOAD_STATUS_PENDING: { title: '等待上传', icon: 'pending' },
23
- UPLOAD_STATUS_LOADING: { title: '上传中', icon: 'loading' },
24
- UPLOAD_STATUS_SUCCESS: { title: '上传成功', icon: 'success' },
25
- UPLOAD_STATUS_ERROR: { title: '上传失败', icon: 'error' },
26
- };
27
- // 上传文件Context
28
- const FileContext = React.createContext(null);
29
- /**
30
- * 上传文件 H5 版本
31
- */
32
- const defaultStyle = { margin: '0,-5px' };
33
- export function UploadFileH5({
34
- // 系统属性
35
- layout, id = '', style = defaultStyle, labelVisible = true, label = '上传文件', requiredFlag = false, disabled = false, className = '', acceptTypes = emptyArray,
36
- // 组件属性
37
- tips = '', btnTitle = '点击上传', maxUploadCount = 9, maxSize = 10, deleteVisible = true, downloadVisible = true, value = emptyArray, // 需要兼容 cloud:和https: 协议,需要兼容字符串和字符串数组
38
- events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true, onChange = null, isEdit = true, }) {
39
- const [fileIDList, setfileIDList] = React.useState(filterStrList([].concat(defaultValue, value))); // 上传成功文件ID列表,fileID[]
40
- const [fileList, setFileList] = React.useState([]); // 上传中的文件列表,file[],file为原始文件 + uuid属性
41
- const [fileSizeObj, setFileSizeObj] = React.useState({}); // 管理上传文件大小 {uuid:size}
42
- // 两次默认值不同, 需要刷新
43
- const prevDefaultRef = React.useRef([]);
44
- const fileRef = React.useRef(fileIDList);
45
- React.useMemo(() => {
46
- //有有效默认值时不刷新,解决初次渲染默认值不显示问题
47
- if (defaultValue &&
48
- !isObjectEqual(prevDefaultRef.current, defaultValue) &&
49
- (JSON.stringify(prevDefaultRef.current) == '[]' ||
50
- !prevDefaultRef.current)) {
51
- prevDefaultRef.current = defaultValue;
52
- setfileIDList(filterStrList([].concat(defaultValue)));
53
- }
54
- }, [defaultValue]);
55
- React.useEffect(() => {
56
- var _a, _b, _c;
57
- // 外部 onChange 事件
58
- const pureFileIDList = fileIDList.filter((d) => isCloudFileID(d) || isHttpFileID(d));
59
- if (single) {
60
- const file = pureFileIDList[0] || '';
61
- file && onChange && onChange(file);
62
- (_a = events === null || events === void 0 ? void 0 : events.change) === null || _a === void 0 ? void 0 : _a.call(events, { value: file });
63
- }
64
- else {
65
- onChange && onChange(pureFileIDList);
66
- (_b = events === null || events === void 0 ? void 0 : events.change) === null || _b === void 0 ? void 0 : _b.call(events, { value: pureFileIDList });
67
- }
68
- if (!isObjectEqual(fileRef.current, fileIDList)) {
69
- (_c = events === null || events === void 0 ? void 0 : events.success) === null || _c === void 0 ? void 0 : _c.call(events, { value: pureFileIDList });
70
- fileRef.current = fileIDList;
71
- }
72
- }, [fileIDList]);
73
- // 外层组件类
74
- const cls = classNames({
75
- 'weda-ui': true,
76
- //'weui-cells': true,
77
- //'weui-cells_form': true,
78
- 'weui-cells_checkbox': true,
79
- [className]: className,
80
- });
81
- const accepts = React.useMemo(() => {
82
- return acceptTypes.includes('*') || acceptTypes.length === 0
83
- ? ['*']
84
- : Array.from(new Set(acceptTypes));
85
- }, [acceptTypes]);
86
- const islegalType = (files, accepts) => {
87
- const illegalType = [];
88
- for (const file of files) {
89
- accepts.some((item) => item === (file === null || file === void 0 ? void 0 : file.type))
90
- ? null
91
- : illegalType.push(file === null || file === void 0 ? void 0 : file.type);
92
- }
93
- if (illegalType.length > 0) {
94
- weui.alert('不支持上传' + Array.from(new Set(illegalType)).join(',') + '格式文件');
95
- return false;
96
- }
97
- return true;
98
- };
99
- // 上传后文件列表 fileIDList 改变事件,'add'|'delete'
100
- const handleChange = ({ fileID, uuid, type, size }) => {
101
- // 上传时新增事件
102
- if (type === 'add') {
103
- fileID && setFileSizeObj((obj) => ({ ...obj, [fileID]: size }));
104
- fileID && setfileIDList((fileIDList) => [...fileIDList, fileID]);
105
- }
106
- else {
107
- fileID &&
108
- setfileIDList((fileIDList) => fileIDList.filter((f) => f !== fileID));
109
- }
110
- uuid && setFileList((list) => list.filter((item) => uuid !== (item === null || item === void 0 ? void 0 : item._uuid)));
111
- };
112
- // 上传组件属性
113
- const uploadProps = {
114
- multiple: !single,
115
- };
116
- tips && (uploadProps['label'] = tips);
117
- maxSize && (uploadProps['maxSize'] = maxSize * 1024 * 1024);
118
- const btnDisabled = fileIDList.length >= maxUploadCount ||
119
- (single && fileIDList.length > 0) ||
120
- disabled;
121
- return renderDecorator(React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
122
- React.createElement(FileContext.Provider, { value: {
123
- uploadPath,
124
- downloadVisible,
125
- deleteVisible,
126
- onChange: handleChange,
127
- isEdit,
128
- events,
129
- fileSizeObj,
130
- } },
131
- React.createElement("div", { "data-testid": "uploadFileH5", className: cls, id: id, style: style },
132
- React.createElement("div", { className: classNames(`${CLASS_PREFIX}`) },
133
- isEdit && (React.createElement("div", { className: classNames(`${CLASS_PREFIX}__hd`, layout) },
134
- React.createElement("div", null, btnDisabled ? (React.createElement(Button, { type: "weak", className: classNames(`${CLASS_PREFIX}__btn--weak`), disabled: btnDisabled }, btnTitle)) : (React.createElement("div", null,
135
- React.createElement("input", { id: "uploaderInput", type: "file", "data-testid": "button-up", className: "weui-uploader-mobile__input", accept: accepts.join(','), multiple: !single, onChange: (e) => {
136
- const fileList = [...e.target.files];
137
- //校验逻辑与图片有出入,文件类型限制为全部时,不设限
138
- if (!(accepts.includes('*') ||
139
- accepts.includes('') ||
140
- accepts.length === 0) &&
141
- !islegalType(fileList, accepts))
142
- return;
143
- if (single && fileList.length > 1) {
144
- weui.alert(`上传文件总数不能超过1个`);
145
- return false;
146
- }
147
- if (fileList.length + fileIDList.length >
148
- maxUploadCount) {
149
- weui.alert(`上传文件总数不能超过${maxUploadCount}个`);
150
- return false;
151
- }
152
- if (maxSize &&
153
- fileList.some((f) => f.size > maxSize * 1024 * 1024)) {
154
- weui.alert(`请上传不超过${maxSize}M的文件`);
155
- return false;
156
- }
157
- if (fileList.some((f) => f.size > 1024 * 1024 * 1024)) {
158
- weui.alert(`请上传不超过1024M的文件`);
159
- return false;
160
- }
161
- fileList.forEach((f) => (f['_uuid'] = randomStr()));
162
- setFileList((list) => [...list, ...fileList]);
163
- } }),
164
- React.createElement("a", { type: "weak", className: "wedatea2td-btn wedatea2td-btn--weak", style: { fontSize: '1em' } }, "\u70B9\u51FB\u4E0A\u4F20"),
165
- !single && (React.createElement(Text, { className: `${CLASS_PREFIX}__tips` }, "\u652F\u6301\u6279\u91CF\u4E0A\u4F20"))))))),
166
- React.createElement("div", { className: `${CLASS_PREFIX}__bd` },
167
- React.createElement(List, null,
168
- fileIDList.map((d) => (React.createElement(List.Item, { key: d }, React.createElement(TcbFileEcho, { fileID: d, fileList: fileList, onChange: handleChange, disabled: disabled, deleteVisible: deleteVisible, downloadVisible: downloadVisible })))),
169
- fileList.map((item) => (React.createElement(List.Item, { key: item === null || item === void 0 ? void 0 : item._uuid }, React.createElement(TcbFileUpload, { disabled: disabled, file: item, downloadVisible: downloadVisible, deleteVisible: deleteVisible && !disabled })))))))))))({
170
- id,
171
- className: cls,
172
- style,
173
- label: labelVisible ? label : null,
174
- layout,
175
- multiCell: false,
176
- requiredFlag,
177
- });
178
- }
179
- /**
180
- * 基于 FileID 文件回显组件
181
- */
182
- const TcbFileEcho = ({ fileID, disabled }) => {
183
- const [src, setSrc] = React.useState('');
184
- const { fileSizeObj } = React.useContext(FileContext) || {};
185
- React.useEffect(() => {
186
- const fetchFileId = async (id) => {
187
- if (isCloudFileID(id)) {
188
- try {
189
- const fileSrc = await getTempFileURL(id);
190
- setSrc(fileSrc);
191
- }
192
- catch (e) { }
193
- }
194
- else {
195
- setSrc(id);
196
- }
197
- };
198
- fetchFileId(fileID);
199
- }, [fileID]);
200
- //上传文件名称
201
- const label = React.useMemo(() => {
202
- if (isCloudFileID(fileID)) {
203
- return transFileCloudidToName(fileID);
204
- }
205
- else {
206
- return fileID;
207
- }
208
- }, [fileID]);
209
- //上传文件列表展示
210
- return (React.createElement("div", { className: `${CLASS_PREFIX}__item` },
211
- React.createElement("div", { className: `${CLASS_PREFIX}__item-left` },
212
- React.createElement(UploadFileStatus, { title: label, size: fileSizeObj[fileID] || '--' })),
213
- React.createElement("div", { className: `${CLASS_PREFIX}__btn-group` },
214
- React.createElement(UploadFileAction, { disabled: disabled, status: "UPLOAD_STATUS_SUCCESS", fileID: fileID, src: src }))));
215
- };
216
- /**
217
- * 基于 File 上传文件过程组件
218
- */
219
- const TcbFileUpload = ({ file, disabled }) => {
220
- const { uploadPath, onChange, events } = React.useContext(FileContext) || {};
221
- const [percent, setPercent] = React.useState(0); // 上传进度
222
- const [status, setStatus] = React.useState('UPLOAD_STATUS_PENDING'); // 上传状态
223
- const cancleRef = React.useRef(''); // 取消的uuid
224
- // 上传文件相关属性
225
- const { size, title, uuid } = React.useMemo(() => {
226
- const size = transSize(file === null || file === void 0 ? void 0 : file.size);
227
- const title = (file === null || file === void 0 ? void 0 : file.name) || '';
228
- const uuid = file === null || file === void 0 ? void 0 : file._uuid;
229
- return { size, title, uuid };
230
- }, [file === null || file === void 0 ? void 0 : file._uuid]);
231
- React.useEffect(() => {
232
- handleUpload(file);
233
- }, [file === null || file === void 0 ? void 0 : file._uuid]);
234
- // 上传过程
235
- const handleUpload = async (file) => {
236
- var _a;
237
- const tcb = await getCloudInstance();
238
- try {
239
- setStatus('UPLOAD_STATUS_PENDING');
240
- const { fileID } = await tcb.uploadFile({
241
- cloudPath: `${uploadPath}/${randomStr()}-${file === null || file === void 0 ? void 0 : file.name}`,
242
- filePath: file,
243
- onUploadProgress: (progressEvent) => {
244
- let percent = 0;
245
- percent = Math.round((progressEvent.loaded * 100) / progressEvent.total);
246
- setStatus('UPLOAD_STATUS_LOADING');
247
- setPercent(percent < 100 ? percent : 100);
248
- },
249
- });
250
- !cancleRef.current && (onChange === null || onChange === void 0 ? void 0 : onChange({ fileID, type: 'add', uuid, size }));
251
- setStatus('UPLOAD_STATUS_SUCCESS');
252
- }
253
- catch (err) {
254
- setStatus('UPLOAD_STATUS_ERROR');
255
- (_a = events === null || events === void 0 ? void 0 : events.error) === null || _a === void 0 ? void 0 : _a.call(events, err);
256
- }
257
- };
258
- return (React.createElement("div", { className: `${CLASS_PREFIX}__item`, role: "TcbFileUpload" },
259
- React.createElement("div", { className: `${CLASS_PREFIX}__item-left` },
260
- React.createElement(UploadFileStatus, { status: status, percent: percent, size: size, title: title, percentSize: (((file === null || file === void 0 ? void 0 : file.size) / 1024) * percent) / 100 })),
261
- React.createElement("div", { className: `${CLASS_PREFIX}__btn-group` },
262
- React.createElement(UploadFileAction, { file: file, uuid: file === null || file === void 0 ? void 0 : file._uuid, status: status, onCancel: (uuid) => {
263
- cancleRef.current = uuid;
264
- onChange === null || onChange === void 0 ? void 0 : onChange({ type: 'delete', uuid });
265
- }, onReLoad: handleUpload, disabled: disabled }))));
266
- };
267
- /**
268
- * 上传文件状态组件
269
- */
270
- const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size, title = null, percentSize = 0, }) => {
271
- var _a, _b;
272
- const { isEdit } = React.useContext(FileContext) || {};
273
- //上传中、待上传状态
274
- if (status == 'UPLOAD_STATUS_LOADING' ||
275
- (status == 'UPLOAD_STATUS_PENDING' && percent)) {
276
- return (React.createElement(React.Fragment, null,
277
- React.createElement("div", { className: `${CLASS_PREFIX}__file-detail` },
278
- React.createElement(Text, { className: `${CLASS_PREFIX}__file-name` }, title),
279
- React.createElement("div", { className: `${CLASS_PREFIX}__file-status` },
280
- React.createElement("div", { className: `${CLASS_PREFIX}__file-status` },
281
- React.createElement(Progress, { percent: percent, theme: "default", strokeColor: '#0052D9', className: `${CLASS_PREFIX}__file-progress` })))),
282
- React.createElement("div", { className: `${CLASS_PREFIX}__file-foot` },
283
- React.createElement("div", null,
284
- React.createElement(Text, null,
285
- Math.floor(percentSize),
286
- "K/"),
287
- React.createElement(Text, null, size)),
288
- React.createElement(Text, null, status === 'UPLOAD_STATUS_PENDING' ? '等待上传' : '上传中'))));
289
- }
290
- return (React.createElement(React.Fragment, null,
291
- React.createElement("div", { className: `${CLASS_PREFIX}__file-detail` },
292
- React.createElement(Tooltip, { title: title },
293
- React.createElement(Text, { className: `${CLASS_PREFIX}__file-name` }, title)),
294
- isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__file-status` },
295
- React.createElement(Icon, { type: ((_a = statusMap[status]) === null || _a === void 0 ? void 0 : _a.icon) ||
296
- statusMap['UPLOAD_STATUS_PENDING'].icon }),
297
- React.createElement(Text, { className: `${CLASS_PREFIX}__file-status--msg` }, ((_b = statusMap[status]) === null || _b === void 0 ? void 0 : _b.title) ||
298
- statusMap['UPLOAD_STATUS_PENDING'].title)))),
299
- isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__file-foot` },
300
- React.createElement("div", null,
301
- React.createElement(Text, null, size))))));
302
- };
303
- /**
304
- * 操作列组件, onChange 从最外层 UploadFilePc 传进来
305
- * props: { status, fileID, uuid, src, onChange }
306
- */
307
- const UploadFileAction = ({ status = 'UPLOAD_STATUS_PENDING', fileID = '', uuid = '', src = '', file = null, onReLoad = null, onCancel = null, disabled, }) => {
308
- const { onChange, downloadVisible, deleteVisible, isEdit } = React.useContext(FileContext) || {};
309
- // 操作列按钮-删除
310
- const renderDelete = () => isEdit && (React.createElement(Button, { icon: "delete", onClick: () => onChange === null || onChange === void 0 ? void 0 : onChange({ fileID, uuid, type: 'delete' }), disabled: disabled }));
311
- // 操作列按钮-取消
312
- const renderCancel = () => isEdit && React.createElement(Button, { icon: "dismiss", onClick: () => onCancel === null || onCancel === void 0 ? void 0 : onCancel(uuid) });
313
- // 操作列按钮-重新上传
314
- const renderReLoad = () => isEdit && (React.createElement(Button, { icon: "refresh", onClick: () => {
315
- onReLoad === null || onReLoad === void 0 ? void 0 : onReLoad(file);
316
- } }));
317
- // 操作列按钮-下载
318
- const renderDownLoad = () => (React.createElement(Button, { icon: "download", onClick: () => downloadFile(src) }));
319
- switch (status) {
320
- case 'UPLOAD_STATUS_PENDING':
321
- return renderCancel();
322
- case 'UPLOAD_STATUS_LOADING':
323
- return renderCancel();
324
- case 'UPLOAD_STATUS_SUCCESS':
325
- return (React.createElement(React.Fragment, null,
326
- deleteVisible && renderDelete(),
327
- ' ',
328
- downloadVisible && renderDownLoad()));
329
- case 'UPLOAD_STATUS_ERROR':
330
- return (React.createElement(React.Fragment, null,
331
- deleteVisible && renderDelete(),
332
- " ",
333
- renderReLoad()));
334
- default:
335
- return null;
336
- }
337
- };
@@ -1,24 +0,0 @@
1
- /// <reference types="react" />
2
- import type { CommonFormPropsType } from '../types';
3
- import type { unknownFunction } from '../../../types';
4
- /**
5
- * 上传文件 PC 版本
6
- */
7
- export declare function UploadFilePc({ layout, id, style, labelVisible, label, requiredFlag, disabled, className, events, decorator, tips, btnTitle, maxUploadCount, maxSize, single, defaultValue, // 组件默认初始化值
8
- value, // 用于模型组件中 formily 的值管理
9
- acceptTypes, downloadVisible, deleteVisible, uploadPath, onChange, isEdit, }: IUploaderFilePc): JSX.Element;
10
- export interface IUploaderFilePc extends CommonFormPropsType {
11
- btnTitle?: string;
12
- maxUploadCount?: number;
13
- downloadVisible?: boolean;
14
- deleteVisible?: boolean;
15
- defaultValue?: Readonly<string | string[]>;
16
- maxSize?: number;
17
- single?: boolean;
18
- acceptTypes?: Readonly<string[]>;
19
- tips?: string;
20
- value?: Readonly<string | string[]>;
21
- uploadPath?: string;
22
- isEdit?: boolean;
23
- onChange?: unknownFunction;
24
- }