@cloudbase/weda-ui 3.3.0 → 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 (325) hide show
  1. package/dist/src/web/components/form/form/index.js +42 -38
  2. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +12 -4
  3. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.h5.js +6 -2
  4. package/dist/src/web/components/navigationBar/index.js +9 -4
  5. package/package.json +3 -3
  6. package/dist/configs/actions/showModal.json +0 -48
  7. package/dist/configs/actions/showToast.json +0 -41
  8. package/dist/configs/components/auth.json +0 -16
  9. package/dist/configs/components/button.json +0 -239
  10. package/dist/configs/components/calendar.json +0 -81
  11. package/dist/configs/components/carousel.json +0 -292
  12. package/dist/configs/components/chart/bar.json +0 -728
  13. package/dist/configs/components/chart/line.json +0 -681
  14. package/dist/configs/components/chart/pie.json +0 -500
  15. package/dist/configs/components/chart/statisticsCard.json +0 -376
  16. package/dist/configs/components/container.json +0 -50
  17. package/dist/configs/components/dataView.json +0 -239
  18. package/dist/configs/components/drawer.json +0 -115
  19. package/dist/configs/components/form/checkbox.json +0 -179
  20. package/dist/configs/components/form/departTreeSelect.json +0 -124
  21. package/dist/configs/components/form/form.json +0 -69
  22. package/dist/configs/components/form/input.json +0 -154
  23. package/dist/configs/components/form/location.json +0 -216
  24. package/dist/configs/components/form/radio.json +0 -203
  25. package/dist/configs/components/form/richText.json +0 -133
  26. package/dist/configs/components/form/select.json +0 -431
  27. package/dist/configs/components/form/switch.json +0 -58
  28. package/dist/configs/components/form/textarea.json +0 -116
  29. package/dist/configs/components/form/tips.json +0 -34
  30. package/dist/configs/components/form/uploader.json +0 -171
  31. package/dist/configs/components/form/uploaderFile.json +0 -158
  32. package/dist/configs/components/form/userTreeSelect.json +0 -128
  33. package/dist/configs/components/formdetail.json +0 -105
  34. package/dist/configs/components/graphicCard.json +0 -413
  35. package/dist/configs/components/image.json +0 -187
  36. package/dist/configs/components/link.json +0 -79
  37. package/dist/configs/components/listView.json +0 -378
  38. package/dist/configs/components/lottery.json +0 -163
  39. package/dist/configs/components/modal.json +0 -72
  40. package/dist/configs/components/navLayout.json +0 -368
  41. package/dist/configs/components/navigationBar.json +0 -62
  42. package/dist/configs/components/richtextview.json +0 -26
  43. package/dist/configs/components/scrollVeiw.json +0 -253
  44. package/dist/configs/components/slot.json +0 -17
  45. package/dist/configs/components/swiper.json +0 -90
  46. package/dist/configs/components/tabs.json +0 -122
  47. package/dist/configs/components/text.json +0 -95
  48. package/dist/configs/components/wedaVideo.json +0 -89
  49. package/dist/configs/components/wxOpenApi/phone.json +0 -127
  50. package/dist/configs/components/wxOpenApi/phoneCode.json +0 -109
  51. package/dist/configs/components/wxOpenApi/share.json +0 -160
  52. package/dist/configs/components/wxOpenApi/userInfo.json +0 -156
  53. package/dist/configs/index.d.ts +0 -103
  54. package/dist/configs/index.js +0 -111
  55. package/dist/docs/common/format.d.ts +0 -13
  56. package/dist/docs/common/format.js +0 -122
  57. package/dist/docs/common/tableView.d.ts +0 -30
  58. package/dist/docs/common/tableView.js +0 -159
  59. package/dist/index.d.ts +0 -2
  60. package/dist/index.js +0 -3
  61. package/dist/setupTests.d.ts +0 -1
  62. package/dist/setupTests.js +0 -14
  63. package/dist/src/web/components/chart/common/error-boundary.d.ts +0 -5
  64. package/dist/src/web/components/chart/common/error-boundary.js +0 -26
  65. package/dist/src/web/utils/getUserService.d.ts +0 -11
  66. package/dist/src/web/utils/getUserService.js +0 -156
  67. package/dist/src/web/utils/tmap.d.ts +0 -3
  68. package/dist/src/web/utils/tmap.js +0 -21
  69. package/dist/web/actions/index.d.ts +0 -2
  70. package/dist/web/actions/index.js +0 -2
  71. package/dist/web/actions/showModal/index.d.ts +0 -4
  72. package/dist/web/actions/showModal/index.js +0 -67
  73. package/dist/web/actions/showToast/index.d.ts +0 -1
  74. package/dist/web/actions/showToast/index.js +0 -3
  75. package/dist/web/components/button/index.d.ts +0 -32
  76. package/dist/web/components/button/index.js +0 -48
  77. package/dist/web/components/calendar/index.d.ts +0 -19
  78. package/dist/web/components/calendar/index.js +0 -189
  79. package/dist/web/components/calendar/util.d.ts +0 -13
  80. package/dist/web/components/calendar/util.js +0 -74
  81. package/dist/web/components/carousel/index.d.ts +0 -41
  82. package/dist/web/components/carousel/index.js +0 -244
  83. package/dist/web/components/chart/bar/index.d.ts +0 -41
  84. package/dist/web/components/chart/bar/index.js +0 -56
  85. package/dist/web/components/chart/common/config/bar.d.ts +0 -48
  86. package/dist/web/components/chart/common/config/bar.js +0 -49
  87. package/dist/web/components/chart/common/config/global.d.ts +0 -13
  88. package/dist/web/components/chart/common/config/global.js +0 -16
  89. package/dist/web/components/chart/common/config/line.d.ts +0 -46
  90. package/dist/web/components/chart/common/config/line.js +0 -49
  91. package/dist/web/components/chart/common/config/pie.d.ts +0 -29
  92. package/dist/web/components/chart/common/config/pie.js +0 -36
  93. package/dist/web/components/chart/common/core/eChartBar.d.ts +0 -68
  94. package/dist/web/components/chart/common/core/eChartBar.js +0 -198
  95. package/dist/web/components/chart/common/core/eChartBase.d.ts +0 -128
  96. package/dist/web/components/chart/common/core/eChartBase.js +0 -352
  97. package/dist/web/components/chart/common/core/eChartLine.d.ts +0 -62
  98. package/dist/web/components/chart/common/core/eChartLine.js +0 -170
  99. package/dist/web/components/chart/common/core/eChartPie.d.ts +0 -50
  100. package/dist/web/components/chart/common/core/eChartPie.js +0 -132
  101. package/dist/web/components/chart/common/core/type.d.ts +0 -35
  102. package/dist/web/components/chart/common/core/type.js +0 -9
  103. package/dist/web/components/chart/common/echarts.d.ts +0 -2
  104. package/dist/web/components/chart/common/echarts.js +0 -24
  105. package/dist/web/components/chart/common/useChart.d.ts +0 -8
  106. package/dist/web/components/chart/common/useChart.js +0 -60
  107. package/dist/web/components/chart/line/index.d.ts +0 -39
  108. package/dist/web/components/chart/line/index.js +0 -53
  109. package/dist/web/components/chart/pie/index.d.ts +0 -27
  110. package/dist/web/components/chart/pie/index.js +0 -40
  111. package/dist/web/components/chart/statisticsCard/index.d.ts +0 -85
  112. package/dist/web/components/chart/statisticsCard/index.js +0 -203
  113. package/dist/web/components/chart/statisticsCard/interface.d.ts +0 -13
  114. package/dist/web/components/chart/statisticsCard/interface.js +0 -1
  115. package/dist/web/components/container/index.d.ts +0 -6
  116. package/dist/web/components/container/index.js +0 -6
  117. package/dist/web/components/dataView/index.d.ts +0 -6
  118. package/dist/web/components/dataView/index.js +0 -8
  119. package/dist/web/components/dataView/interface.d.ts +0 -5
  120. package/dist/web/components/dataView/interface.js +0 -1
  121. package/dist/web/components/drawer/index.d.ts +0 -13
  122. package/dist/web/components/drawer/index.js +0 -12
  123. package/dist/web/components/form/checkbox/index.d.ts +0 -13
  124. package/dist/web/components/form/checkbox/index.js +0 -167
  125. package/dist/web/components/form/enumSelect/MultipleSelect.d.ts +0 -78
  126. package/dist/web/components/form/enumSelect/MultipleSelect.js +0 -52
  127. package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -83
  128. package/dist/web/components/form/enumSelect/NormalSelect.js +0 -52
  129. package/dist/web/components/form/enumSelect/SelectContainer.d.ts +0 -16
  130. package/dist/web/components/form/enumSelect/SelectContainer.js +0 -30
  131. package/dist/web/components/form/enumSelect/index.d.ts +0 -82
  132. package/dist/web/components/form/enumSelect/index.js +0 -6
  133. package/dist/web/components/form/enumSelect/props/defaultProps.d.ts +0 -34
  134. package/dist/web/components/form/enumSelect/props/defaultProps.js +0 -40
  135. package/dist/web/components/form/enumSelect/props/propsTypes.d.ts +0 -39
  136. package/dist/web/components/form/enumSelect/props/propsTypes.js +0 -47
  137. package/dist/web/components/form/form/index.d.ts +0 -32
  138. package/dist/web/components/form/form/index.js +0 -108
  139. package/dist/web/components/form/formcell/index.d.ts +0 -8
  140. package/dist/web/components/form/formcell/index.js +0 -40
  141. package/dist/web/components/form/input/index.d.ts +0 -14
  142. package/dist/web/components/form/input/index.js +0 -86
  143. package/dist/web/components/form/location/common/mapChoose.d.ts +0 -15
  144. package/dist/web/components/form/location/common/mapChoose.js +0 -495
  145. package/dist/web/components/form/location/common/mapView.d.ts +0 -19
  146. package/dist/web/components/form/location/common/mapView.js +0 -172
  147. package/dist/web/components/form/location/common/propsConfig.d.ts +0 -59
  148. package/dist/web/components/form/location/common/propsConfig.js +0 -50
  149. package/dist/web/components/form/location/common/selectModal.d.ts +0 -21
  150. package/dist/web/components/form/location/common/selectModal.js +0 -44
  151. package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -36
  152. package/dist/web/components/form/location/common/useLocationInfo.js +0 -104
  153. package/dist/web/components/form/location/components/LocationH5/location.h5.d.ts +0 -8
  154. package/dist/web/components/form/location/components/LocationH5/location.h5.js +0 -325
  155. package/dist/web/components/form/location/components/LocationPC/Header.d.ts +0 -12
  156. package/dist/web/components/form/location/components/LocationPC/Header.js +0 -43
  157. package/dist/web/components/form/location/components/LocationPC/location.PC.d.ts +0 -8
  158. package/dist/web/components/form/location/components/LocationPC/location.PC.js +0 -224
  159. package/dist/web/components/form/location/constants.d.ts +0 -2
  160. package/dist/web/components/form/location/constants.js +0 -3
  161. package/dist/web/components/form/location/index.d.ts +0 -1
  162. package/dist/web/components/form/location/index.js +0 -17
  163. package/dist/web/components/form/radio/index.d.ts +0 -11
  164. package/dist/web/components/form/radio/index.js +0 -115
  165. package/dist/web/components/form/renderDecorator.d.ts +0 -6
  166. package/dist/web/components/form/renderDecorator.js +0 -20
  167. package/dist/web/components/form/select/dropdown-select/ui.d.ts +0 -15
  168. package/dist/web/components/form/select/dropdown-select/ui.js +0 -55
  169. package/dist/web/components/form/select/h5.d.ts +0 -16
  170. package/dist/web/components/form/select/h5.js +0 -410
  171. package/dist/web/components/form/select/index.d.ts +0 -65
  172. package/dist/web/components/form/select/index.js +0 -232
  173. package/dist/web/components/form/select/region/index.d.ts +0 -6
  174. package/dist/web/components/form/select/region/index.js +0 -147
  175. package/dist/web/components/form/select/time.d.ts +0 -9
  176. package/dist/web/components/form/select/time.js +0 -146
  177. package/dist/web/components/form/select/use-options.d.ts +0 -26
  178. package/dist/web/components/form/select/use-options.js +0 -103
  179. package/dist/web/components/form/select/year.d.ts +0 -7
  180. package/dist/web/components/form/select/year.js +0 -72
  181. package/dist/web/components/form/switch/index.d.ts +0 -6
  182. package/dist/web/components/form/switch/index.js +0 -58
  183. package/dist/web/components/form/textarea/index.d.ts +0 -12
  184. package/dist/web/components/form/textarea/index.js +0 -66
  185. package/dist/web/components/form/tips/index.d.ts +0 -8
  186. package/dist/web/components/form/tips/index.js +0 -17
  187. package/dist/web/components/form/uploader/index.d.ts +0 -3
  188. package/dist/web/components/form/uploader/index.js +0 -42
  189. package/dist/web/components/form/uploader/uploader.h5.d.ts +0 -20
  190. package/dist/web/components/form/uploader/uploader.h5.js +0 -224
  191. package/dist/web/components/form/uploader/uploader.pc.d.ts +0 -29
  192. package/dist/web/components/form/uploader/uploader.pc.js +0 -214
  193. package/dist/web/components/form/uploaderFile/index.d.ts +0 -4
  194. package/dist/web/components/form/uploaderFile/index.js +0 -19
  195. package/dist/web/components/form/uploaderFile/uploadFile.h5.d.ts +0 -23
  196. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +0 -337
  197. package/dist/web/components/form/uploaderFile/uploadFile.pc.d.ts +0 -24
  198. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +0 -313
  199. package/dist/web/components/form/userOrgSelect/comTool.d.ts +0 -7
  200. package/dist/web/components/form/userOrgSelect/comTool.js +0 -89
  201. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.d.ts +0 -20
  202. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +0 -259
  203. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +0 -4
  204. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -153
  205. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
  206. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  207. package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
  208. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  209. package/dist/web/components/form/userOrgSelect/userOrgSelect.less +0 -643
  210. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -24
  211. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -276
  212. package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +0 -9
  213. package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.js +0 -229
  214. package/dist/web/components/form/userOrgSelect/utils.d.ts +0 -35
  215. package/dist/web/components/form/userOrgSelect/utils.js +0 -72
  216. package/dist/web/components/formdetail/index.d.ts +0 -28
  217. package/dist/web/components/formdetail/index.js +0 -170
  218. package/dist/web/components/graphicCard/index.d.ts +0 -31
  219. package/dist/web/components/graphicCard/index.js +0 -166
  220. package/dist/web/components/image/image.d.ts +0 -9
  221. package/dist/web/components/image/image.js +0 -119
  222. package/dist/web/components/image/index.d.ts +0 -13
  223. package/dist/web/components/image/index.js +0 -91
  224. package/dist/web/components/index.d.ts +0 -50
  225. package/dist/web/components/index.js +0 -97
  226. package/dist/web/components/link/index.d.ts +0 -24
  227. package/dist/web/components/link/index.js +0 -71
  228. package/dist/web/components/listView/index.d.ts +0 -7
  229. package/dist/web/components/listView/index.js +0 -286
  230. package/dist/web/components/listView/interface.d.ts +0 -127
  231. package/dist/web/components/listView/interface.js +0 -1
  232. package/dist/web/components/lottery/index.d.ts +0 -22
  233. package/dist/web/components/lottery/index.js +0 -391
  234. package/dist/web/components/lottery/lotteryUtil.d.ts +0 -23
  235. package/dist/web/components/lottery/lotteryUtil.js +0 -181
  236. package/dist/web/components/modal/index.d.ts +0 -17
  237. package/dist/web/components/modal/index.js +0 -11
  238. package/dist/web/components/modal/modal.h5.d.ts +0 -4
  239. package/dist/web/components/modal/modal.h5.js +0 -46
  240. package/dist/web/components/modal/modal.pc.d.ts +0 -3
  241. package/dist/web/components/modal/modal.pc.js +0 -31
  242. package/dist/web/components/navLayout/index.d.ts +0 -46
  243. package/dist/web/components/navLayout/index.js +0 -116
  244. package/dist/web/components/navigationBar/common.d.ts +0 -15
  245. package/dist/web/components/navigationBar/common.js +0 -127
  246. package/dist/web/components/navigationBar/h5Menu.d.ts +0 -14
  247. package/dist/web/components/navigationBar/h5Menu.js +0 -72
  248. package/dist/web/components/navigationBar/horizontalMenu.d.ts +0 -12
  249. package/dist/web/components/navigationBar/horizontalMenu.js +0 -99
  250. package/dist/web/components/navigationBar/index.d.ts +0 -13
  251. package/dist/web/components/navigationBar/index.js +0 -157
  252. package/dist/web/components/navigationBar/verticalMenu.d.ts +0 -13
  253. package/dist/web/components/navigationBar/verticalMenu.js +0 -38
  254. package/dist/web/components/phone/index.d.ts +0 -18
  255. package/dist/web/components/phone/index.js +0 -4
  256. package/dist/web/components/phoneCode/index.d.ts +0 -18
  257. package/dist/web/components/phoneCode/index.js +0 -4
  258. package/dist/web/components/picker/datePicker.d.ts +0 -10
  259. package/dist/web/components/picker/datePicker.js +0 -31
  260. package/dist/web/components/picker/picker.d.ts +0 -6
  261. package/dist/web/components/picker/picker.js +0 -45
  262. package/dist/web/components/picker/timePicker.d.ts +0 -7
  263. package/dist/web/components/picker/timePicker.js +0 -42
  264. package/dist/web/components/richText/const.d.ts +0 -1
  265. package/dist/web/components/richText/const.js +0 -2
  266. package/dist/web/components/richText/index.d.ts +0 -50
  267. package/dist/web/components/richText/index.js +0 -352
  268. package/dist/web/components/richTextView/index.d.ts +0 -7
  269. package/dist/web/components/richTextView/index.js +0 -44
  270. package/dist/web/components/scrollView/index.d.ts +0 -27
  271. package/dist/web/components/scrollView/index.js +0 -95
  272. package/dist/web/components/share/index.d.ts +0 -34
  273. package/dist/web/components/share/index.js +0 -4
  274. package/dist/web/components/slot/index.d.ts +0 -6
  275. package/dist/web/components/slot/index.js +0 -9
  276. package/dist/web/components/swiper/index.d.ts +0 -24
  277. package/dist/web/components/swiper/index.js +0 -153
  278. package/dist/web/components/tabs/index.d.ts +0 -13
  279. package/dist/web/components/tabs/index.js +0 -15
  280. package/dist/web/components/tabs/tabs.h5.d.ts +0 -4
  281. package/dist/web/components/tabs/tabs.h5.js +0 -42
  282. package/dist/web/components/tabs/tabs.pc.d.ts +0 -3
  283. package/dist/web/components/tabs/tabs.pc.js +0 -40
  284. package/dist/web/components/text/index.d.ts +0 -14
  285. package/dist/web/components/text/index.js +0 -17
  286. package/dist/web/components/uploaderFileView/index.d.ts +0 -10
  287. package/dist/web/components/uploaderFileView/index.js +0 -61
  288. package/dist/web/components/uploaderView/index.d.ts +0 -17
  289. package/dist/web/components/uploaderView/index.js +0 -48
  290. package/dist/web/components/userInfo/index.d.ts +0 -26
  291. package/dist/web/components/userInfo/index.js +0 -4
  292. package/dist/web/components/wedaVideo/index.d.ts +0 -17
  293. package/dist/web/components/wedaVideo/index.js +0 -160
  294. package/dist/web/index.d.ts +0 -8
  295. package/dist/web/index.js +0 -4
  296. package/dist/web/utils/classnames.d.ts +0 -2
  297. package/dist/web/utils/classnames.js +0 -37
  298. package/dist/web/utils/constant.d.ts +0 -23
  299. package/dist/web/utils/constant.js +0 -24
  300. package/dist/web/utils/debounce.d.ts +0 -2
  301. package/dist/web/utils/debounce.js +0 -92
  302. package/dist/web/utils/getLocalCounter.d.ts +0 -1
  303. package/dist/web/utils/getLocalCounter.js +0 -4
  304. package/dist/web/utils/getUserService.d.ts +0 -17
  305. package/dist/web/utils/getUserService.js +0 -148
  306. package/dist/web/utils/isObjectEqual.d.ts +0 -2
  307. package/dist/web/utils/isObjectEqual.js +0 -12
  308. package/dist/web/utils/loading-fallback.d.ts +0 -2
  309. package/dist/web/utils/loading-fallback.js +0 -2
  310. package/dist/web/utils/lodash.d.ts +0 -1
  311. package/dist/web/utils/lodash.js +0 -2
  312. package/dist/web/utils/platform.d.ts +0 -18
  313. package/dist/web/utils/platform.js +0 -193
  314. package/dist/web/utils/tcb.d.ts +0 -27
  315. package/dist/web/utils/tcb.js +0 -105
  316. package/dist/web/utils/tmap.d.ts +0 -3
  317. package/dist/web/utils/tmap.js +0 -21
  318. package/dist/web/utils/use-cloud-id-temp-url.d.ts +0 -1
  319. package/dist/web/utils/use-cloud-id-temp-url.js +0 -13
  320. package/dist/web/utils/useSetState.d.ts +0 -1
  321. package/dist/web/utils/useSetState.js +0 -8
  322. package/dist/web/utils/useSyncValue.d.ts +0 -4
  323. package/dist/web/utils/useSyncValue.js +0 -15
  324. package/dist/web/utils/weui.d.ts +0 -1
  325. package/dist/web/utils/weui.js +0 -2
@@ -1,153 +0,0 @@
1
- import * as React from 'react';
2
- import { useState, useEffect, useRef } from 'react';
3
- import classNames from '../../utils/classnames';
4
- import Swipe from 'react-easy-swipe';
5
- import { useDebouncedCallback, useEventListener, useResizeObserver, } from '@react-hookz/web';
6
- import './index.css';
7
- import { emptyObject } from '../../utils/constant';
8
- export default function Swiper({ children, className, style, autoplay = true, circular = true, vertical = false, indicatorDots, indicatorColor = 'rgba(200, 200, 200, 0.9)', indicatorActiveColor = 'rgba(0, 0, 0, 0.9)', duration = 500, interval = 5000, current = 0, events = emptyObject, id, }) {
9
- const itemCount = React.Children.count(children);
10
- current = Math.max(0, Math.min(itemCount - 1, current));
11
- const [currentIndex, setCurrentIndex] = useState(current);
12
- const [swipeStyle, setSwipeStyle] = useState(null);
13
- const [height, setHeight] = useState(0);
14
- const { change = () => { } } = events;
15
- useEffect(() => {
16
- if (autoplay) {
17
- // 自动切换
18
- // eslint-disable-next-line rulesdir/no-timer
19
- const timer = setInterval(() => {
20
- setIndex(currentIndex + 1);
21
- }, interval);
22
- return () => clearInterval(timer);
23
- }
24
- }, [currentIndex, autoplay, itemCount]);
25
- // 触发切换
26
- const pre = useRef({ index: currentIndex }).current;
27
- useEffect(() => {
28
- updateSwipeStyle(currentIndex, pre.index, itemCount);
29
- change({
30
- current: currentIndex,
31
- });
32
- return () => {
33
- pre.index = currentIndex;
34
- };
35
- }, [currentIndex, vertical]);
36
- const outerWrapRef = useRef();
37
- useEventListener(outerWrapRef, 'load', (e) => {
38
- setHeight(e.target.clientHeight);
39
- });
40
- const itemsClone = React.Children.map(children, (x, i) => {
41
- return (React.createElement("div", { className: "g-swiper-item", "data-index": i }, x));
42
- });
43
- const setIndex = (index) => {
44
- if (index >= itemCount) {
45
- index = 0;
46
- }
47
- if (index < 0) {
48
- index = itemCount - 1;
49
- }
50
- setCurrentIndex(index);
51
- };
52
- // 设置容器样式、动画
53
- // TODO fix settimeout mess
54
- const updateSwipeStyle = (to, cur, length) => {
55
- // 最后向前到最开始
56
- if (to === 0 && cur === length - 1) {
57
- circular &&
58
- setSwipeStyle({
59
- transform: `translate3d(0, 0, 0)`,
60
- });
61
- // 不知道
62
- // eslint-disable-next-line rulesdir/no-timer
63
- setTimeout(() => {
64
- setSwipeStyle({
65
- transform: vertical
66
- ? `translate3d(0, -100%, 0)`
67
- : `translate3d(-100%, 0, 0)`,
68
- transitionDuration: `${duration}ms`,
69
- });
70
- }, 50);
71
- return;
72
- }
73
- // 第一个后退到最后
74
- if (to === length - 1 && cur === 0) {
75
- circular &&
76
- setSwipeStyle({
77
- transform: vertical
78
- ? `translate3d(0, -${(to + 2) * 100}%, 0)`
79
- : `translate3d(-${(to + 2) * 100}%, 0, 0)`,
80
- });
81
- // eslint-disable-next-line rulesdir/no-timer
82
- setTimeout(() => {
83
- setSwipeStyle({
84
- transform: vertical
85
- ? `translate3d(0, -${(to + 1) * 100}%, 0)`
86
- : `translate3d(-${(to + 1) * 100}%, 0, 0)`,
87
- transitionDuration: `${duration}ms`,
88
- });
89
- }, 50);
90
- return;
91
- }
92
- const style = {
93
- transform: vertical
94
- ? `translate3d(0, -${(to + 1) * 100}%, 0)`
95
- : `translate3d(-${(to + 1) * 100}%, 0, 0)`,
96
- };
97
- if (to !== cur) {
98
- style.transitionDuration = `${duration}ms`;
99
- }
100
- setSwipeStyle(style);
101
- };
102
- return (React.createElement("div", { className: classNames('g-swiper weda-ui', className, {
103
- vertical: vertical,
104
- }), style: { height: height ? height : 'auto', ...style }, ref: outerWrapRef, id: id },
105
- itemCount > 0 ? (React.createElement(Swipe, { className: "g-swiper-list", style: swipeStyle, tolerance: 20, onSwipeLeft: () => {
106
- vertical || setIndex(currentIndex + 1);
107
- }, onSwipeRight: () => {
108
- vertical || setIndex(currentIndex - 1);
109
- }, onSwipeDown: () => {
110
- vertical && setIndex(currentIndex - 1);
111
- }, onSwipeUp: () => {
112
- vertical && setIndex(currentIndex + 1);
113
- } },
114
- itemsClone[itemCount - 1],
115
- React.Children.map(children, (x, i) => {
116
- return (React.createElement(SwiperItem, { height: height, setHeight: setHeight, currentIndex: currentIndex, index: i }, x));
117
- }),
118
- itemsClone[0])) : null,
119
- indicatorDots ? (React.createElement("div", { className: "g-swiper__pagination" }, React.Children.map(children, (x, i) => {
120
- return (React.createElement("a", { href: "#", className: "g-swiper__pagination-bulletm", style: {
121
- backgroundColor: currentIndex === i ? indicatorActiveColor : indicatorColor,
122
- }, onClick: (e) => {
123
- setIndex(i);
124
- e.preventDefault();
125
- }, "data-index": i }));
126
- }))) : (false),
127
- React.createElement("a", { href: "#", className: "g-swiper__turn-pre", onClick: (ev) => {
128
- ev.preventDefault();
129
- setIndex(currentIndex - 1);
130
- } }, "\u4E0A\u4E00\u9875"),
131
- React.createElement("a", { href: "#", className: "g-swiper__turn-next", onClick: (ev) => {
132
- ev.preventDefault();
133
- setIndex(currentIndex + 1);
134
- } }, "\u4E0B\u4E00\u9875")));
135
- }
136
- const SwiperItem = ({ height, setHeight, children, currentIndex, index }) => {
137
- const firstChildRef = useRef(null);
138
- const syncHeight = useDebouncedCallback((e) => {
139
- setHeight(e.contentRect.height);
140
- }, [setHeight], 500, 2000); // 必须debounce延迟,让resize完成后再设置高度
141
- // 因为有loading 所以得用resizeobserver
142
- useResizeObserver(firstChildRef, (e) => {
143
- if (currentIndex === index) {
144
- syncHeight(e);
145
- }
146
- });
147
- return (React.createElement("div", { className: classNames('g-swiper-item', {
148
- current: index === currentIndex,
149
- }), "data-index": index },
150
- React.createElement("div", { ref: firstChildRef, style: {
151
- height: height > 0 ? '100%' : 'auto',
152
- } }, children)));
153
- };
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- import type { CommonPropsType } from '../../types';
3
- export interface PropsType extends CommonPropsType {
4
- tabs: Readonly<{
5
- title: string;
6
- value: string;
7
- name?: string;
8
- }[]>;
9
- selectedIndex: number | string;
10
- isMultipleSlot: boolean;
11
- [key: string]: React.ReactNode;
12
- }
13
- export default function Tabs(props: PropsType): JSX.Element;
@@ -1,15 +0,0 @@
1
- import * as React from 'react';
2
- import { usePlatform } from '../../utils/platform';
3
- // import { fallback } from '../../utils/loading-fallback';
4
- import TabsH5 from './tabs.h5';
5
- import TabsPc from './tabs.pc';
6
- export default function Tabs(props) {
7
- const platform = usePlatform();
8
- if ((props === null || props === void 0 ? void 0 : props.showType) === 'pc') {
9
- return React.createElement(TabsPc, { ...props });
10
- }
11
- if ((props === null || props === void 0 ? void 0 : props.showType) === 'h5') {
12
- return React.createElement(TabsH5, { ...props });
13
- }
14
- return platform === 'h5' ? React.createElement(TabsH5, { ...props }) : React.createElement(TabsPc, { ...props });
15
- }
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import './index.css';
3
- import { PropsType } from './index';
4
- export default function TabsH5({ tabs, selectedIndex, events, className, style, isMultipleSlot, ...restProps }: PropsType): JSX.Element;
@@ -1,42 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import './index.css';
3
- import classNames from '../../utils/classnames';
4
- import { useSyncValue } from '../../utils/useSyncValue';
5
- import { useCustomCompareEffect, useSyncedRef } from '@react-hookz/web';
6
- import isObjectEqual from '../../utils/isObjectEqual';
7
- import { emptyArray } from '../../utils/constant';
8
- export default function TabsH5({ tabs = emptyArray, selectedIndex, events, className, style, isMultipleSlot = true, ...restProps }) {
9
- const [currentIndex, setCurrentIndex] = useSyncValue(typeof selectedIndex === 'string' ? parseInt(selectedIndex) : selectedIndex);
10
- const stickyStyle = useMemo(() => {
11
- const length = tabs.length;
12
- return {
13
- width: `${(1 / length) * 100}%`,
14
- transform: `translate3d( ${currentIndex * 100}%, 0, 0)`,
15
- };
16
- }, [tabs, currentIndex]);
17
- const eventRef = useSyncedRef(events);
18
- useCustomCompareEffect(() => {
19
- var _a, _b;
20
- eventRef.current.change({
21
- id: currentIndex,
22
- label: (_a = tabs[currentIndex]) === null || _a === void 0 ? void 0 : _a.title,
23
- value: (_b = tabs[currentIndex]) === null || _b === void 0 ? void 0 : _b.value,
24
- });
25
- }, [currentIndex, tabs], isObjectEqual);
26
- return (React.createElement("div", { "data-testid": "tabs", className: classNames('weda-tabs weda-ui', {
27
- [className]: className,
28
- }), style: style },
29
- React.createElement("div", { className: "weda-tabs__nav" }, tabs === null || tabs === void 0 ? void 0 :
30
- tabs.map(({ name, title }, index) => (React.createElement("div", { className: classNames('weda-tabs__nav-cell', {
31
- active: currentIndex === index,
32
- scroll: currentIndex > 5,
33
- }), key: name || index, onClick: () => {
34
- setCurrentIndex(index);
35
- } }, title))),
36
- React.createElement("div", { className: "weda-tabs__nav-sticky", style: stickyStyle })),
37
- React.createElement("div", { className: classNames({
38
- 'weda-tabs__panel': true,
39
- }) }, isMultipleSlot
40
- ? restProps[`panel${currentIndex + 1}`]
41
- : restProps['panel1'])));
42
- }
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import { PropsType } from './index';
3
- export default function TabsPc({ tabs, selectedIndex, events, className, style, isMultipleSlot, ...restProps }: PropsType): JSX.Element;
@@ -1,40 +0,0 @@
1
- import { useCustomCompareEffect, useSyncedRef } from '@react-hookz/web';
2
- import * as React from 'react';
3
- import { Tabs as TeaTabs, TabPanel, ConfigProvider } from 'tea-component';
4
- import classNames from '../../utils/classnames';
5
- import { emptyArray } from '../../utils/constant';
6
- import isObjectEqual from '../../utils/isObjectEqual';
7
- import { useSyncValue } from '../../utils/useSyncValue';
8
- export default function TabsPc({ tabs = emptyArray, selectedIndex, events, className, style, isMultipleSlot = true, ...restProps }) {
9
- const [activeIndex, setActiveIndex] = useSyncValue(selectedIndex);
10
- const _tabs = React.useMemo(() => {
11
- return (Array.isArray(tabs) &&
12
- tabs.length &&
13
- tabs.map((item, index) => {
14
- return {
15
- id: index.toString(),
16
- label: item.title,
17
- value: item.value,
18
- };
19
- }));
20
- }, [tabs]);
21
- const eventsRef = useSyncedRef(events);
22
- useCustomCompareEffect(() => {
23
- var _a, _b, _c;
24
- eventsRef.current &&
25
- eventsRef.current.change({
26
- id: (_a = _tabs[activeIndex]) === null || _a === void 0 ? void 0 : _a.id,
27
- label: (_b = _tabs[activeIndex]) === null || _b === void 0 ? void 0 : _b.label,
28
- value: (_c = _tabs[activeIndex]) === null || _c === void 0 ? void 0 : _c.value,
29
- });
30
- }, [activeIndex, _tabs], isObjectEqual);
31
- const onActive = (e) => {
32
- setActiveIndex(e.id);
33
- };
34
- return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
35
- React.createElement(TeaTabs, { style: style, tabs: _tabs, activeId: String(activeIndex), onActive: onActive, className: classNames('weda-tabs_pc', {
36
- [className]: className,
37
- }) }, _tabs === null || _tabs === void 0 ? void 0 : _tabs.map((item, index) => (React.createElement(TabPanel, { key: item.id, id: item.id }, isMultipleSlot
38
- ? restProps[`panel${index + 1}`]
39
- : restProps['panel1']))))));
40
- }
@@ -1,14 +0,0 @@
1
- /// <reference types="react" />
2
- import type { CommonPropsType, unknownFunction } from '../../types';
3
- import './index.css';
4
- export interface PropsType extends CommonPropsType {
5
- text: string;
6
- level: string;
7
- maxLines: number;
8
- space: boolean;
9
- userSelect: boolean;
10
- contenteditable: HTMLParagraphElement['contentEditable'];
11
- onInput?: unknownFunction;
12
- onBlur?: unknownFunction;
13
- }
14
- export default function Text({ text, maxLines, space, userSelect, style, className, events, id, level, contenteditable, onInput, onBlur, }: PropsType): JSX.Element;
@@ -1,17 +0,0 @@
1
- import * as React from 'react';
2
- import classNames from '../../utils/classnames';
3
- import './index.css';
4
- export default function Text({ text, maxLines, space, userSelect, style, className, events, id, level, contenteditable, onInput, onBlur, }) {
5
- const textStyle = {
6
- WebkitLineClamp: maxLines,
7
- whiteSpace: space ? 'pre-wrap' : 'pre-line',
8
- };
9
- if (!userSelect) {
10
- textStyle.userSelect = 'none';
11
- }
12
- const levelName = level === '0' || !level ? '' : `level_${level}`;
13
- const inlineStyle = React.useMemo(() => ({ ...textStyle, ...style }), [textStyle, style]);
14
- return (React.createElement("p", {
15
- //@ts-expect-error contentEditable type def sucks
16
- contentEditable: contenteditable, onInput: onInput, onBlur: onBlur, style: inlineStyle, className: classNames('weda-text', 'weda-ui', className, levelName), id: id, onClick: (e) => events.tap({}, { originEvent: e }) }, text));
17
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * 上传文件回显,传showType强制展示某端样式,否则根据平台自动判断
3
- */
4
- export default function UploaderFileView({ value, className, single, showType, ...rest }: {
5
- [x: string]: any;
6
- value: any;
7
- className: any;
8
- single?: boolean;
9
- showType: any;
10
- }): JSX.Element;
@@ -1,61 +0,0 @@
1
- import * as React from 'react';
2
- import { UploadFilePc } from '../form/uploaderFile/uploadFile.pc';
3
- import { UploadFileH5 } from '../form/uploaderFile/uploadFile.h5';
4
- import { filterStrList, isCloudFileID, downloadFile, usePlatform, transFileCloudidToName, } from '../../utils/platform';
5
- import { getTempFileURL } from '../../utils/tcb';
6
- import './index.css';
7
- const CLASS_PREFIX = 'weda-uploader-file-view';
8
- /**
9
- * 上传文件回显,传showType强制展示某端样式,否则根据平台自动判断
10
- */
11
- export default function UploaderFileView({ value, className, single = true, // 展示为单行 a 标签
12
- showType, // 展示端为 pc 还是 h5 样式
13
- ...rest }) {
14
- const fileIDList = filterStrList(value);
15
- if (single) {
16
- return React.createElement(FileView, { fileID: fileIDList[0] });
17
- }
18
- else {
19
- const platform = usePlatform();
20
- const showTypeMix = showType ? (showType === 'h5' ? 'h5' : 'pc') : platform;
21
- const uploadFileProps = {
22
- ...rest,
23
- className: `${CLASS_PREFIX} ${className}`,
24
- decorator: null,
25
- labelVisible: false,
26
- value: fileIDList,
27
- isEdit: false,
28
- };
29
- return showTypeMix === 'pc' ? (React.createElement(UploadFilePc, { ...uploadFileProps })) : (React.createElement(UploadFileH5, { ...uploadFileProps }));
30
- }
31
- }
32
- /**
33
- * 单个文件回显,用在表格里面
34
- */
35
- const FileView = ({ fileID }) => {
36
- const [src, setSrc] = React.useState('');
37
- React.useEffect(() => {
38
- const fetchFileId = async (id) => {
39
- if (isCloudFileID(id)) {
40
- try {
41
- const fileSrc = await getTempFileURL(id);
42
- setSrc(fileSrc);
43
- }
44
- catch (e) { }
45
- }
46
- else {
47
- setSrc(id);
48
- }
49
- };
50
- fetchFileId(fileID);
51
- }, [fileID]);
52
- const title = React.useMemo(() => {
53
- if (isCloudFileID(fileID)) {
54
- return transFileCloudidToName(fileID);
55
- }
56
- else {
57
- return fileID;
58
- }
59
- }, [fileID]);
60
- return (React.createElement("a", { title: title, onClick: () => downloadFile(src), className: `${CLASS_PREFIX}__single` }, title));
61
- };
@@ -1,17 +0,0 @@
1
- /// <reference types="react" />
2
- import './index.css';
3
- import type { CommonPropsType } from '../../types';
4
- /**
5
- * 图片上传-展示组件
6
- */
7
- export default function UploaderView({ srcList, // 兼容 cloud:和https: 协议,兼容 字符串和字符串数组
8
- alt, gutter, height, width, events, isZoom, isEmptyPlace, className, id, style, }: PropsType): JSX.Element;
9
- export interface PropsType extends CommonPropsType {
10
- srcList?: string[] | string;
11
- alt?: string;
12
- isZoom?: boolean;
13
- gutter?: number;
14
- height?: number;
15
- width?: number;
16
- isEmptyPlace?: boolean;
17
- }
@@ -1,48 +0,0 @@
1
- import * as React from 'react';
2
- import { TcbImage } from '../form/uploader/uploader.pc';
3
- import classNames from '../../utils/classnames';
4
- import './index.css';
5
- import { emptyObject } from '../../utils/constant';
6
- const CLASS_PREFIX = 'g-uploader-view';
7
- /**
8
- * 图片上传-展示组件
9
- */
10
- export default function UploaderView({ srcList, // 兼容 cloud:和https: 协议,兼容 字符串和字符串数组
11
- alt = '[加载失败]', gutter = 8, height = 100, width = 100, events = emptyObject, isZoom = true, isEmptyPlace = true, className, id, style, }) {
12
- const cls = classNames({
13
- [CLASS_PREFIX]: true,
14
- [className]: className,
15
- });
16
- // 成功事件,返回加载成功的链接
17
- const [successList, setSuccessList] = React.useState([]);
18
- // 失败事件,返回加载失败的链接
19
- const [errorList, setErrorList] = React.useState([]);
20
- React.useEffect(() => {
21
- events.load && events.load({ success: successList, error: errorList });
22
- }, [successList, errorList]);
23
- const boxStyle = {
24
- marginRight: gutter,
25
- marginBottom: gutter,
26
- height: height,
27
- width: width,
28
- };
29
- const values = []
30
- .concat(srcList)
31
- .filter((d) => typeof d === 'string' && d !== '');
32
- return (React.createElement("div", { className: cls, id: id, style: style },
33
- React.createElement("div", { className: `${CLASS_PREFIX}__image-list` },
34
- values.map((d, i) => {
35
- const imgProps = {
36
- fileID: d,
37
- className: `${CLASS_PREFIX}__image`,
38
- alt: alt,
39
- isZoom,
40
- onLoad: () => setSuccessList((list) => [...list, d]),
41
- onError: () => setErrorList((list) => [...list, d]),
42
- };
43
- return (React.createElement("div", { className: `${CLASS_PREFIX}__image-box`, key: `${d}-${i}`, style: boxStyle, title: d },
44
- React.createElement(TcbImage, { ...imgProps })));
45
- }),
46
- values.length === 0 && isEmptyPlace && (React.createElement("div", { className: `${CLASS_PREFIX}__image-box`, style: boxStyle },
47
- React.createElement("img", { className: `${CLASS_PREFIX}__image`, alt: "\u6682\u65E0\u56FE\u7247" }))))));
48
- }
@@ -1,26 +0,0 @@
1
- /// <reference types="react" />
2
- import type { CommonPropsType } from '../../types';
3
- declare const UserInfo: (props: PropsType) => JSX.Element;
4
- export interface PropsType extends CommonPropsType {
5
- /**
6
- * 按钮标题
7
- */
8
- text?: string;
9
- /**
10
- * 按钮风格
11
- */
12
- type?: 'primary' | 'warn' | 'wechat' | 'default';
13
- /**
14
- * 按钮大小
15
- */
16
- size?: 'default' | 'mini' | 'large';
17
- /**
18
- * 信息用途
19
- */
20
- usage?: string;
21
- /**
22
- * 语言
23
- */
24
- language?: string;
25
- }
26
- export default UserInfo;
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import Button from '../../components/button';
3
- const UserInfo = (props) => React.createElement(Button, { ...props });
4
- export default UserInfo;
@@ -1,17 +0,0 @@
1
- import * as React from 'react';
2
- import 'video.js/dist/video-js.css';
3
- import './index.css';
4
- import type { CommonPropsType } from '../../types';
5
- export interface VideoProps {
6
- videoDataSource: string;
7
- posterImage: string;
8
- autoPlay: boolean;
9
- loopPlay: boolean;
10
- mutePlay: boolean;
11
- controlBarStatus: boolean;
12
- startTime: number;
13
- endTime: number;
14
- }
15
- export declare type WedaVideoProps = Partial<CommonPropsType & VideoProps>;
16
- declare const WedaVideo: React.FC<WedaVideoProps>;
17
- export default WedaVideo;
@@ -1,160 +0,0 @@
1
- import * as React from 'react';
2
- import videojs from 'video.js';
3
- import 'video.js/dist/video-js.css';
4
- import './index.css';
5
- import { usePlatform, isCloudFileID, isInIde } from '../../utils/platform';
6
- import { getTempFileURL } from '../../utils/tcb';
7
- import classNames from '../../utils/classnames';
8
- import { ConfigProvider, Icon } from 'tea-component';
9
- const { useEffect, useRef, useMemo, useState } = React;
10
- const MimetypesKind = {
11
- opus: 'video/ogg',
12
- ogv: 'video/ogg',
13
- mp4: 'video/mp4',
14
- mov: 'video/mp4',
15
- m4v: 'video/mp4',
16
- mkv: 'video/x-matroska',
17
- m4a: 'audio/mp4',
18
- mp3: 'audio/mpeg',
19
- aac: 'audio/aac',
20
- caf: 'audio/x-caf',
21
- flac: 'audio/flac',
22
- oga: 'audio/ogg',
23
- wav: 'audio/wav',
24
- m3u8: 'application/x-mpegURL',
25
- jpg: 'image/jpeg',
26
- jpeg: 'image/jpeg',
27
- gif: 'image/gif',
28
- png: 'image/png',
29
- svg: 'image/svg+xml',
30
- webp: 'image/webp',
31
- };
32
- const CLASS_PREFIX = 'weda-ui_video';
33
- const WedaVideo = ({ className, style, id, videoDataSource, posterImage, autoPlay, loopPlay, mutePlay, controlBarStatus, startTime, endTime, }) => {
34
- const platform = usePlatform();
35
- const cls = classNames({
36
- [className]: className,
37
- [CLASS_PREFIX]: true,
38
- [`${CLASS_PREFIX}-h5`]: platform === 'h5',
39
- 'weda-ui_video_control': !controlBarStatus,
40
- });
41
- const videoRef = useRef(null);
42
- const playerRef = useRef(null);
43
- const [realSrc, setRealSrc] = useState(null);
44
- const [videoModalStatus, setVideoModalStatus] = useState(true);
45
- const [videoErrMsg, setVideoErrMsg] = useState('');
46
- const videoType = useMemo(() => {
47
- return realSrc === null || realSrc === void 0 ? void 0 : realSrc.substring(realSrc.lastIndexOf('.') + 1).toLowerCase();
48
- }, [realSrc]);
49
- useEffect(() => {
50
- async function getCloudUrl(fileID) {
51
- if (isCloudFileID(fileID)) {
52
- try {
53
- const fileSrc = await getTempFileURL(fileID);
54
- setVideoErrMsg('');
55
- setRealSrc(fileSrc);
56
- }
57
- catch (err) {
58
- console.error('getCloudUrl error', err);
59
- setVideoErrMsg('获取云文件资源失败');
60
- setRealSrc('');
61
- }
62
- }
63
- else {
64
- setRealSrc(videoDataSource);
65
- }
66
- }
67
- getCloudUrl(videoDataSource);
68
- }, [videoDataSource]);
69
- useEffect(() => {
70
- const videoElement = videoRef.current;
71
- if (!playerRef.current) {
72
- const videoOptions = {
73
- poster: posterImage,
74
- autoplay: autoPlay,
75
- bigPlayButton: true,
76
- loop: loopPlay,
77
- muted: mutePlay,
78
- controls: controlBarStatus,
79
- language: 'zh-CN',
80
- fluid: true,
81
- controlBar: {
82
- children: [
83
- { name: 'playToggle' },
84
- { name: 'currentTimeDisplay' },
85
- { name: 'progressControl' },
86
- { name: 'durationDisplay' },
87
- {
88
- name: 'volumePanel',
89
- inline: false, // 不使用水平方式
90
- },
91
- { name: 'FullscreenToggle' }, // 全屏按钮
92
- ],
93
- },
94
- sources: [
95
- {
96
- src: realSrc || 'no',
97
- type: MimetypesKind[videoType] || 'video/mp4',
98
- },
99
- ],
100
- };
101
- playerRef.current = videojs(videoElement, videoOptions, () => {
102
- players.currentTime(startTime); //指定播放时间
103
- setVideoModalStatus(false);
104
- setVideoErrMsg('');
105
- });
106
- const players = playerRef.current;
107
- // 指定结束时间
108
- if (endTime) {
109
- players.on('timeupdate', () => {
110
- //播放时间改变
111
- const currentTime = players.currentTime();
112
- if (startTime >= endTime)
113
- return;
114
- if (currentTime > endTime) {
115
- players.currentTime(startTime);
116
- // eslint-disable-next-line rulesdir/no-timer
117
- setTimeout(() => {
118
- !loopPlay && players.pause();
119
- }, 200);
120
- }
121
- });
122
- }
123
- players.on('canplaythrough', function () {
124
- setVideoModalStatus(false);
125
- setVideoErrMsg('');
126
- });
127
- players.on('error', function () {
128
- let errorMsg = `视频资源加载出错,错误信息:${players === null || players === void 0 ? void 0 : players.error().message}`;
129
- const pattern = new RegExp('^(((https?)://)|/resources/)[^\\s]+$');
130
- if (isInIde() &&
131
- !pattern.test(videoDataSource) &&
132
- !isCloudFileID(videoDataSource)) {
133
- errorMsg = '请在预览区查看视频效果';
134
- }
135
- console.log('player error', errorMsg);
136
- setVideoErrMsg(errorMsg);
137
- setVideoModalStatus(true);
138
- });
139
- }
140
- }, [videoRef]);
141
- useEffect(() => {
142
- // 切换视频源
143
- if (playerRef.current && videoType) {
144
- const srcOption = [
145
- {
146
- src: realSrc,
147
- type: MimetypesKind[videoType],
148
- },
149
- ];
150
- playerRef.current.src(srcOption);
151
- playerRef.current.load(realSrc);
152
- }
153
- }, [realSrc]);
154
- return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
155
- React.createElement("div", { className: cls, id: id, style: style, "data-testid": "wedaVideo" },
156
- React.createElement("div", { "data-vjs-player": true },
157
- React.createElement("video", { ref: videoRef, className: `video-js vjs-big-play-centered ${CLASS_PREFIX}__video-wrap` })),
158
- videoModalStatus && (React.createElement("div", { className: `${CLASS_PREFIX}__video-loading` }, realSrc === null ? React.createElement(Icon, { type: "loading" }) : videoErrMsg)))));
159
- };
160
- export default WedaVideo;