@cloudbase/weda-ui 0.2.6-alhpa.0 → 0.2.9

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 (379) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/package.json +5 -5
  3. package/src/configs/components/container.json +2 -1
  4. package/src/configs/components/form/input.json +6 -0
  5. package/src/configs/components/form/richText.json +2 -1
  6. package/src/configs/components/form/uploader.json +9 -4
  7. package/src/configs/components/image.json +2 -1
  8. package/src/configs/components/link.json +2 -1
  9. package/src/configs/components/richtextview.json +2 -1
  10. package/src/configs/components/scrollVeiw.json +2 -1
  11. package/src/configs/components/swiper.json +2 -1
  12. package/src/configs/components/tabs.json +31 -86
  13. package/src/configs/components/text.json +2 -1
  14. package/src/configs/index.js +3 -7
  15. package/src/index.js +2 -3
  16. package/src/mp/.gitignore +10 -0
  17. package/src/mp/components/form/input/index.js +5 -1
  18. package/src/mp/components/form/input/index.wxml +2 -1
  19. package/src/mp/components/form/select/index.js +2 -2
  20. package/src/mp/components/form/textarea/index.wxml +1 -0
  21. package/src/mp/components/form/uploader/index.js +48 -14
  22. package/src/mp/components/form/uploader/index.wxml +9 -2
  23. package/src/mp/components/image/index.js +57 -8
  24. package/src/mp/components/image/index.json +4 -1
  25. package/src/mp/components/image/index.wxml +4 -2
  26. package/src/mp/components/image/index.wxss +14 -0
  27. package/src/mp/components/richText/index.wxml +3 -1
  28. package/src/mp/components/tabs/index.js +22 -6
  29. package/src/mp/utils/deepEqual.js +42 -0
  30. package/src/web/actions/index.js +2 -4
  31. package/src/web/components/form/checkbox/index.jsx +8 -10
  32. package/src/web/components/form/enumSelect/MultipleSelect.jsx +12 -23
  33. package/src/web/components/form/enumSelect/NormalSelect.jsx +12 -12
  34. package/src/web/components/form/enumSelect/SelectContainer.jsx +43 -0
  35. package/src/web/components/form/enumSelect/hooks/index.js +7 -4
  36. package/src/web/components/form/enumSelect/props/propsTypes.js +7 -0
  37. package/src/web/components/form/formcell/index.jsx +1 -1
  38. package/src/web/components/form/input/index.jsx +16 -18
  39. package/src/web/components/form/radio/index.jsx +7 -7
  40. package/src/web/components/form/select/h5.jsx +1 -1
  41. package/src/web/components/form/select/region/{cities.json → cities.js} +2 -2
  42. package/src/web/components/form/select/region/index.js +3 -3
  43. package/src/web/components/form/select/region/{provinces.json → provinces.js} +2 -2
  44. package/src/web/components/form/select/region/{regions.json → regions.js} +2 -2
  45. package/src/web/components/form/switch/index.jsx +4 -9
  46. package/src/web/components/form/textarea/index.jsx +4 -12
  47. package/src/web/components/form/uploader/index.css +15 -0
  48. package/src/web/components/form/uploader/index.jsx +2 -2
  49. package/src/web/components/form/uploader/uploader.h5.jsx +237 -0
  50. package/src/web/components/form/uploader/{uploaderPc.jsx → uploader.pc.jsx} +69 -56
  51. package/src/web/components/image/image.jsx +79 -5
  52. package/src/web/components/image/index.css +17 -0
  53. package/src/web/components/image/index.jsx +1 -0
  54. package/src/web/components/index.js +27 -62
  55. package/src/web/components/richTextView/index.css +0 -10
  56. package/src/web/components/richTextView/index.jsx +1 -12
  57. package/src/web/components/tabs/{index.js → index.jsx} +3 -3
  58. package/src/web/components/tabs/{tabsH5.js → tabs.h5.jsx} +9 -47
  59. package/src/web/components/tabs/{tabsPc.js → tabs.pc.jsx} +13 -47
  60. package/src/web/components/uploaderView/index.jsx +1 -1
  61. package/src/web/index.js +2 -3
  62. package/src/web/utils/isObjectEqual.js +10 -1
  63. package/src/web/utils/useSyncValue.js +14 -0
  64. package/src/web/weda-ui.css +8 -0
  65. package/src/configs/components/form/enumSelect.json +0 -127
  66. package/src/configs/components/form/mapPosition.json +0 -33
  67. package/src/configs/components/markdown.json +0 -17
  68. package/src/mp/components/markdown/index.js +0 -27
  69. package/src/mp/components/markdown/index.json +0 -6
  70. package/src/mp/components/markdown/index.wxml +0 -1
  71. package/src/mp/components/markdown/towxml/audio-player/Audio.js +0 -99
  72. package/src/mp/components/markdown/towxml/audio-player/audio-player.js +0 -102
  73. package/src/mp/components/markdown/towxml/audio-player/audio-player.json +0 -5
  74. package/src/mp/components/markdown/towxml/audio-player/audio-player.wxml +0 -14
  75. package/src/mp/components/markdown/towxml/audio-player/audio-player.wxss +0 -175
  76. package/src/mp/components/markdown/towxml/audio-player/loading.svg +0 -1
  77. package/src/mp/components/markdown/towxml/config.js +0 -285
  78. package/src/mp/components/markdown/towxml/decode.js +0 -26
  79. package/src/mp/components/markdown/towxml/decode.json +0 -12
  80. package/src/mp/components/markdown/towxml/decode.wxml +0 -1
  81. package/src/mp/components/markdown/towxml/decode.wxss +0 -0
  82. package/src/mp/components/markdown/towxml/img/img.js +0 -98
  83. package/src/mp/components/markdown/towxml/img/img.json +0 -3
  84. package/src/mp/components/markdown/towxml/img/img.wxml +0 -1
  85. package/src/mp/components/markdown/towxml/img/img.wxss +0 -0
  86. package/src/mp/components/markdown/towxml/index.js +0 -19
  87. package/src/mp/components/markdown/towxml/latex/latex.js +0 -53
  88. package/src/mp/components/markdown/towxml/latex/latex.json +0 -5
  89. package/src/mp/components/markdown/towxml/latex/latex.wxml +0 -1
  90. package/src/mp/components/markdown/towxml/latex/latex.wxss +0 -0
  91. package/src/mp/components/markdown/towxml/parse/highlight/highlight.js +0 -729
  92. package/src/mp/components/markdown/towxml/parse/highlight/index.js +0 -7
  93. package/src/mp/components/markdown/towxml/parse/highlight/languages/bash.js +0 -91
  94. package/src/mp/components/markdown/towxml/parse/highlight/languages/c-like.js +0 -244
  95. package/src/mp/components/markdown/towxml/parse/highlight/languages/c.js +0 -20
  96. package/src/mp/components/markdown/towxml/parse/highlight/languages/css.js +0 -138
  97. package/src/mp/components/markdown/towxml/parse/highlight/languages/dart.js +0 -135
  98. package/src/mp/components/markdown/towxml/parse/highlight/languages/go.js +0 -57
  99. package/src/mp/components/markdown/towxml/parse/highlight/languages/htmlbars.js +0 -79
  100. package/src/mp/components/markdown/towxml/parse/highlight/languages/java.js +0 -126
  101. package/src/mp/components/markdown/towxml/parse/highlight/languages/javascript.js +0 -263
  102. package/src/mp/components/markdown/towxml/parse/highlight/languages/json.js +0 -51
  103. package/src/mp/components/markdown/towxml/parse/highlight/languages/less.js +0 -177
  104. package/src/mp/components/markdown/towxml/parse/highlight/languages/nginx.js +0 -103
  105. package/src/mp/components/markdown/towxml/parse/highlight/languages/php.js +0 -152
  106. package/src/mp/components/markdown/towxml/parse/highlight/languages/python-repl.js +0 -27
  107. package/src/mp/components/markdown/towxml/parse/highlight/languages/python.js +0 -146
  108. package/src/mp/components/markdown/towxml/parse/highlight/languages/scss.js +0 -137
  109. package/src/mp/components/markdown/towxml/parse/highlight/languages/shell.js +0 -23
  110. package/src/mp/components/markdown/towxml/parse/highlight/languages/typescript.js +0 -198
  111. package/src/mp/components/markdown/towxml/parse/highlight/languages/xml.js +0 -143
  112. package/src/mp/components/markdown/towxml/parse/highlight/style/github.wxss +0 -99
  113. package/src/mp/components/markdown/towxml/parse/highlight/style/monokai.wxss +0 -70
  114. package/src/mp/components/markdown/towxml/parse/index.js +0 -106
  115. package/src/mp/components/markdown/towxml/parse/markdown/index.js +0 -53
  116. package/src/mp/components/markdown/towxml/parse/markdown/markdown.js +0 -5834
  117. package/src/mp/components/markdown/towxml/parse/markdown/plugins/emoji.js +0 -1773
  118. package/src/mp/components/markdown/towxml/parse/markdown/plugins/ins.js +0 -120
  119. package/src/mp/components/markdown/towxml/parse/markdown/plugins/latex.js +0 -193
  120. package/src/mp/components/markdown/towxml/parse/markdown/plugins/mark.js +0 -120
  121. package/src/mp/components/markdown/towxml/parse/markdown/plugins/sub.js +0 -95
  122. package/src/mp/components/markdown/towxml/parse/markdown/plugins/sup.js +0 -95
  123. package/src/mp/components/markdown/towxml/parse/markdown/plugins/todo.js +0 -220
  124. package/src/mp/components/markdown/towxml/parse/markdown/plugins/yuml.js +0 -18
  125. package/src/mp/components/markdown/towxml/parse/parse2/Parser.js +0 -263
  126. package/src/mp/components/markdown/towxml/parse/parse2/Tokenizer.js +0 -507
  127. package/src/mp/components/markdown/towxml/parse/parse2/domhandler/index.js +0 -104
  128. package/src/mp/components/markdown/towxml/parse/parse2/domhandler/node.js +0 -169
  129. package/src/mp/components/markdown/towxml/parse/parse2/entities/decode.js +0 -54
  130. package/src/mp/components/markdown/towxml/parse/parse2/entities/decode_codepoint.js +0 -19
  131. package/src/mp/components/markdown/towxml/parse/parse2/entities/encode.js +0 -54
  132. package/src/mp/components/markdown/towxml/parse/parse2/entities/index.js +0 -30
  133. package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/decode.js +0 -31
  134. package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/entities.js +0 -2128
  135. package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/legacy.js +0 -109
  136. package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/xml.js +0 -2
  137. package/src/mp/components/markdown/towxml/parse/parse2/index.js +0 -8
  138. package/src/mp/components/markdown/towxml/style/main.wxss +0 -378
  139. package/src/mp/components/markdown/towxml/style/theme/dark.wxss +0 -73
  140. package/src/mp/components/markdown/towxml/style/theme/light.wxss +0 -63
  141. package/src/mp/components/markdown/towxml/table/table.js +0 -11
  142. package/src/mp/components/markdown/towxml/table/table.json +0 -6
  143. package/src/mp/components/markdown/towxml/table/table.wxml +0 -24
  144. package/src/mp/components/markdown/towxml/table/table.wxss +0 -0
  145. package/src/mp/components/markdown/towxml/todogroup/todogroup.js +0 -19
  146. package/src/mp/components/markdown/towxml/todogroup/todogroup.json +0 -6
  147. package/src/mp/components/markdown/towxml/todogroup/todogroup.wxml +0 -13
  148. package/src/mp/components/markdown/towxml/todogroup/todogroup.wxss +0 -3
  149. package/src/mp/components/markdown/towxml/towxml.js +0 -17
  150. package/src/mp/components/markdown/towxml/towxml.json +0 -6
  151. package/src/mp/components/markdown/towxml/towxml.wxml +0 -5
  152. package/src/mp/components/markdown/towxml/towxml.wxss +0 -8
  153. package/src/mp/components/markdown/towxml/yuml/yuml.js +0 -51
  154. package/src/mp/components/markdown/towxml/yuml/yuml.json +0 -5
  155. package/src/mp/components/markdown/towxml/yuml/yuml.wxml +0 -5
  156. package/src/mp/components/markdown/towxml/yuml/yuml.wxss +0 -0
  157. package/src/web/components/form/enumSelect/FormContainer.jsx +0 -41
  158. package/src/web/components/form/position/MapView.jsx +0 -124
  159. package/src/web/components/form/position/SelectModal.css +0 -3
  160. package/src/web/components/form/position/SelectModal.jsx +0 -112
  161. package/src/web/components/form/position/constants.js +0 -7
  162. package/src/web/components/form/position/index.jsx +0 -68
  163. package/src/web/components/form/uploader/uploaderH5.jsx +0 -196
  164. package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +0 -754
  165. package/src/web/components/markdown/index.jsx +0 -40
  166. package/src/web/wedatheme/.code.yml +0 -16
  167. package/src/web/wedatheme/.editorconfig +0 -9
  168. package/src/web/wedatheme/.eslintrc +0 -20
  169. package/src/web/wedatheme/.orange-ci.yml +0 -55
  170. package/src/web/wedatheme/.vscode/extensions.json +0 -3
  171. package/src/web/wedatheme/.vscode/settings.json +0 -11
  172. package/src/web/wedatheme/README.md +0 -50
  173. package/src/web/wedatheme/i18n/README.md +0 -4
  174. package/src/web/wedatheme/i18n/translation/index.js +0 -10
  175. package/src/web/wedatheme/i18n/translation/zh.js +0 -15
  176. package/src/web/wedatheme/jsconfig.json +0 -15
  177. package/src/web/wedatheme/mock/app.js +0 -42
  178. package/src/web/wedatheme/mock/history-context.js +0 -8
  179. package/src/web/wedatheme/mock/index.js +0 -3
  180. package/src/web/wedatheme/mock/layout/AppLayout.jsx +0 -28
  181. package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +0 -50
  182. package/src/web/wedatheme/mock/layout/index.js +0 -1
  183. package/src/web/wedatheme/package.json +0 -61
  184. package/src/web/wedatheme/public/index.html +0 -19
  185. package/src/web/wedatheme/src/app.js +0 -22
  186. package/src/web/wedatheme/src/components/README.md +0 -4
  187. package/src/web/wedatheme/src/configs/menu.js +0 -9
  188. package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +0 -402
  189. package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +0 -729
  190. package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +0 -18
  191. package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +0 -1276
  192. package/src/web/wedatheme/src/routes/wedatheme-index/index.js +0 -1
  193. package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +0 -3
  194. package/src/web/wedatheme/src/routes/weui2td/index.js +0 -1
  195. package/src/web/wedatheme/src/styles/_btn.scss +0 -24
  196. package/src/web/wedatheme/src/styles/_icon.scss +0 -653
  197. package/src/web/wedatheme/src/styles/_map.scss +0 -12
  198. package/src/web/wedatheme/src/styles/_middle.scss +0 -340
  199. package/src/web/wedatheme/src/styles/_upload.scss +0 -47
  200. package/src/web/wedatheme/src/styles/assets/alert-close.svg +0 -3
  201. package/src/web/wedatheme/src/styles/assets/and.svg +0 -12
  202. package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +0 -12
  203. package/src/web/wedatheme/src/styles/assets/arrowdown.svg +0 -12
  204. package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +0 -12
  205. package/src/web/wedatheme/src/styles/assets/arrowleft.svg +0 -12
  206. package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +0 -12
  207. package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +0 -12
  208. package/src/web/wedatheme/src/styles/assets/arrowright.svg +0 -12
  209. package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +0 -12
  210. package/src/web/wedatheme/src/styles/assets/arrowup.svg +0 -12
  211. package/src/web/wedatheme/src/styles/assets/bell-warning.svg +0 -3
  212. package/src/web/wedatheme/src/styles/assets/btnback.svg +0 -12
  213. package/src/web/wedatheme/src/styles/assets/calendar.svg +0 -12
  214. package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +0 -12
  215. package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +0 -12
  216. package/src/web/wedatheme/src/styles/assets/chartline-1.svg +0 -9
  217. package/src/web/wedatheme/src/styles/assets/chartline.svg +0 -9
  218. package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +0 -12
  219. package/src/web/wedatheme/src/styles/assets/chartpie.svg +0 -12
  220. package/src/web/wedatheme/src/styles/assets/check-1.svg +0 -8
  221. package/src/web/wedatheme/src/styles/assets/check-2.svg +0 -1
  222. package/src/web/wedatheme/src/styles/assets/check.svg +0 -8
  223. package/src/web/wedatheme/src/styles/assets/close-1.svg +0 -8
  224. package/src/web/wedatheme/src/styles/assets/close.svg +0 -8
  225. package/src/web/wedatheme/src/styles/assets/consult.svg +0 -8
  226. package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +0 -12
  227. package/src/web/wedatheme/src/styles/assets/convertip.svg +0 -12
  228. package/src/web/wedatheme/src/styles/assets/copy.svg +0 -12
  229. package/src/web/wedatheme/src/styles/assets/cur-active.svg +0 -12
  230. package/src/web/wedatheme/src/styles/assets/cur.svg +0 -12
  231. package/src/web/wedatheme/src/styles/assets/daily.svg +0 -13
  232. package/src/web/wedatheme/src/styles/assets/database.svg +0 -12
  233. package/src/web/wedatheme/src/styles/assets/datasheet.svg +0 -12
  234. package/src/web/wedatheme/src/styles/assets/delete-white.svg +0 -8
  235. package/src/web/wedatheme/src/styles/assets/delete.svg +0 -8
  236. package/src/web/wedatheme/src/styles/assets/detail.svg +0 -13
  237. package/src/web/wedatheme/src/styles/assets/dismiss.svg +0 -8
  238. package/src/web/wedatheme/src/styles/assets/download.svg +0 -12
  239. package/src/web/wedatheme/src/styles/assets/drop.svg +0 -15
  240. package/src/web/wedatheme/src/styles/assets/email-error.svg +0 -14
  241. package/src/web/wedatheme/src/styles/assets/email-warning.svg +0 -12
  242. package/src/web/wedatheme/src/styles/assets/email.svg +0 -14
  243. package/src/web/wedatheme/src/styles/assets/emailv.svg +0 -12
  244. package/src/web/wedatheme/src/styles/assets/error-1.svg +0 -8
  245. package/src/web/wedatheme/src/styles/assets/error-filled.svg +0 -3
  246. package/src/web/wedatheme/src/styles/assets/error.svg +0 -8
  247. package/src/web/wedatheme/src/styles/assets/externallink.svg +0 -12
  248. package/src/web/wedatheme/src/styles/assets/favorable.svg +0 -9
  249. package/src/web/wedatheme/src/styles/assets/filter.svg +0 -12
  250. package/src/web/wedatheme/src/styles/assets/firstpage.svg +0 -13
  251. package/src/web/wedatheme/src/styles/assets/folderclose.svg +0 -8
  252. package/src/web/wedatheme/src/styles/assets/folderopen.svg +0 -8
  253. package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +0 -12
  254. package/src/web/wedatheme/src/styles/assets/fullsreen.svg +0 -12
  255. package/src/web/wedatheme/src/styles/assets/globe-gray.svg +0 -12
  256. package/src/web/wedatheme/src/styles/assets/guide.svg +0 -9
  257. package/src/web/wedatheme/src/styles/assets/help.svg +0 -8
  258. package/src/web/wedatheme/src/styles/assets/hide.svg +0 -8
  259. package/src/web/wedatheme/src/styles/assets/info.svg +0 -8
  260. package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +0 -8
  261. package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +0 -3
  262. package/src/web/wedatheme/src/styles/assets/infoblue.svg +0 -8
  263. package/src/web/wedatheme/src/styles/assets/jump-black.svg +0 -12
  264. package/src/web/wedatheme/src/styles/assets/jump.svg +0 -12
  265. package/src/web/wedatheme/src/styles/assets/lastpage.svg +0 -13
  266. package/src/web/wedatheme/src/styles/assets/loading.svg +0 -12
  267. package/src/web/wedatheme/src/styles/assets/local.svg +0 -10
  268. package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +0 -6
  269. package/src/web/wedatheme/src/styles/assets/menu-fold.svg +0 -6
  270. package/src/web/wedatheme/src/styles/assets/minus.svg +0 -12
  271. package/src/web/wedatheme/src/styles/assets/monitor.svg +0 -12
  272. package/src/web/wedatheme/src/styles/assets/more.svg +0 -8
  273. package/src/web/wedatheme/src/styles/assets/multi-line.svg +0 -12
  274. package/src/web/wedatheme/src/styles/assets/news.svg +0 -3
  275. package/src/web/wedatheme/src/styles/assets/not.svg +0 -12
  276. package/src/web/wedatheme/src/styles/assets/notice.svg +0 -8
  277. package/src/web/wedatheme/src/styles/assets/pencil.svg +0 -12
  278. package/src/web/wedatheme/src/styles/assets/pending-1.svg +0 -8
  279. package/src/web/wedatheme/src/styles/assets/pending-gray.svg +0 -8
  280. package/src/web/wedatheme/src/styles/assets/pending.svg +0 -8
  281. package/src/web/wedatheme/src/styles/assets/percent-blue.svg +0 -16
  282. package/src/web/wedatheme/src/styles/assets/percent.svg +0 -16
  283. package/src/web/wedatheme/src/styles/assets/phone-error.svg +0 -11
  284. package/src/web/wedatheme/src/styles/assets/phone-warning.svg +0 -9
  285. package/src/web/wedatheme/src/styles/assets/phone.svg +0 -12
  286. package/src/web/wedatheme/src/styles/assets/phonev.svg +0 -9
  287. package/src/web/wedatheme/src/styles/assets/plus.svg +0 -12
  288. package/src/web/wedatheme/src/styles/assets/qq.svg +0 -11
  289. package/src/web/wedatheme/src/styles/assets/realname.svg +0 -8
  290. package/src/web/wedatheme/src/styles/assets/realnamev.svg +0 -9
  291. package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +0 -12
  292. package/src/web/wedatheme/src/styles/assets/refresh.svg +0 -12
  293. package/src/web/wedatheme/src/styles/assets/relationship-1.svg +0 -12
  294. package/src/web/wedatheme/src/styles/assets/relationship.svg +0 -12
  295. package/src/web/wedatheme/src/styles/assets/remind.svg +0 -8
  296. package/src/web/wedatheme/src/styles/assets/search.svg +0 -8
  297. package/src/web/wedatheme/src/styles/assets/setting.svg +0 -12
  298. package/src/web/wedatheme/src/styles/assets/shopcart.svg +0 -8
  299. package/src/web/wedatheme/src/styles/assets/show.svg +0 -8
  300. package/src/web/wedatheme/src/styles/assets/sort.svg +0 -12
  301. package/src/web/wedatheme/src/styles/assets/sortdown.svg +0 -12
  302. package/src/web/wedatheme/src/styles/assets/sortup.svg +0 -12
  303. package/src/web/wedatheme/src/styles/assets/success-1.svg +0 -8
  304. package/src/web/wedatheme/src/styles/assets/success-filled.svg +0 -3
  305. package/src/web/wedatheme/src/styles/assets/success.svg +0 -8
  306. package/src/web/wedatheme/src/styles/assets/table-1.svg +0 -12
  307. package/src/web/wedatheme/src/styles/assets/table.svg +0 -12
  308. package/src/web/wedatheme/src/styles/assets/tag.svg +0 -12
  309. package/src/web/wedatheme/src/styles/assets/time.svg +0 -12
  310. package/src/web/wedatheme/src/styles/assets/transfer.svg +0 -8
  311. package/src/web/wedatheme/src/styles/assets/trenddown.svg +0 -12
  312. package/src/web/wedatheme/src/styles/assets/trendup.svg +0 -12
  313. package/src/web/wedatheme/src/styles/assets/viewgrid.svg +0 -12
  314. package/src/web/wedatheme/src/styles/assets/viewlist.svg +0 -12
  315. package/src/web/wedatheme/src/styles/assets/warning-1.svg +0 -8
  316. package/src/web/wedatheme/src/styles/assets/warning-filled.svg +0 -3
  317. package/src/web/wedatheme/src/styles/assets/warning.svg +0 -8
  318. package/src/web/wedatheme/src/styles/assets/wechat-error.svg +0 -14
  319. package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +0 -12
  320. package/src/web/wedatheme/src/styles/assets/wechat.svg +0 -12
  321. package/src/web/wedatheme/src/styles/assets/wechatv.svg +0 -12
  322. package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +0 -4
  323. package/src/web/wedatheme/src/styles/assets/zoom-in.svg +0 -4
  324. package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +0 -4
  325. package/src/web/wedatheme/src/styles/assets/zoom-out.svg +0 -4
  326. package/src/web/wedatheme/src/styles/index.scss +0 -18
  327. package/src/web/wedatheme/src/styles/main.css +0 -166
  328. package/src/web/wedatheme/src/styles/theme/_alert.scss +0 -73
  329. package/src/web/wedatheme/src/styles/theme/_badge.scss +0 -38
  330. package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +0 -7
  331. package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +0 -8
  332. package/src/web/wedatheme/src/styles/theme/_bubble.scss +0 -24
  333. package/src/web/wedatheme/src/styles/theme/_button.scss +0 -212
  334. package/src/web/wedatheme/src/styles/theme/_card.scss +0 -12
  335. package/src/web/wedatheme/src/styles/theme/_cascader.scss +0 -43
  336. package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +0 -83
  337. package/src/web/wedatheme/src/styles/theme/_datepicker.scss +0 -36
  338. package/src/web/wedatheme/src/styles/theme/_dialog.scss +0 -39
  339. package/src/web/wedatheme/src/styles/theme/_divider.scss +0 -1
  340. package/src/web/wedatheme/src/styles/theme/_drawer.scss +0 -15
  341. package/src/web/wedatheme/src/styles/theme/_dropdown.scss +0 -53
  342. package/src/web/wedatheme/src/styles/theme/_form.scss +0 -38
  343. package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
  344. package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +0 -85
  345. package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +0 -16
  346. package/src/web/wedatheme/src/styles/theme/_link.scss +0 -14
  347. package/src/web/wedatheme/src/styles/theme/_list.scss +0 -41
  348. package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +0 -14
  349. package/src/web/wedatheme/src/styles/theme/_notification.scss +0 -27
  350. package/src/web/wedatheme/src/styles/theme/_pagination.scss +0 -22
  351. package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +0 -4
  352. package/src/web/wedatheme/src/styles/theme/_progress.scss +0 -28
  353. package/src/web/wedatheme/src/styles/theme/_region-select.scss +0 -17
  354. package/src/web/wedatheme/src/styles/theme/_search.scss +0 -18
  355. package/src/web/wedatheme/src/styles/theme/_segment.scss +0 -69
  356. package/src/web/wedatheme/src/styles/theme/_slider.scss +0 -18
  357. package/src/web/wedatheme/src/styles/theme/_status.scss +0 -4
  358. package/src/web/wedatheme/src/styles/theme/_steps.scss +0 -68
  359. package/src/web/wedatheme/src/styles/theme/_switch.scss +0 -11
  360. package/src/web/wedatheme/src/styles/theme/_table.scss +0 -44
  361. package/src/web/wedatheme/src/styles/theme/_tabs.scss +0 -44
  362. package/src/web/wedatheme/src/styles/theme/_tag-search.scss +0 -9
  363. package/src/web/wedatheme/src/styles/theme/_tag.scss +0 -48
  364. package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
  365. package/src/web/wedatheme/src/styles/theme/_toast.scss +0 -3
  366. package/src/web/wedatheme/src/styles/theme/_transfer.scss +0 -9
  367. package/src/web/wedatheme/src/styles/theme/_tree.scss +0 -11
  368. package/src/web/wedatheme/src/styles/theme/_upload.scss +0 -14
  369. package/src/web/wedatheme/src/styles/theme/_variables.scss +0 -140
  370. package/src/web/wedatheme/src/styles/theme/index.scss +0 -91
  371. package/src/web/wedatheme/style-package/README.md +0 -31
  372. package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +0 -627
  373. package/src/web/wedatheme/style-package/index.css +0 -3
  374. package/src/web/wedatheme/style-package/package.json +0 -15
  375. package/src/web/wedatheme/tea.config.js +0 -66
  376. package/src/web/wedatheme/webpack/css.config.js +0 -114
  377. package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +0 -23
  378. package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +0 -32
  379. package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +0 -66
@@ -18,7 +18,7 @@ import * as PropTypes from 'prop-types';
18
18
  // 默认组件类前缀
19
19
  export const CLASS_PREFIX = 'weda-uploader-pc';
20
20
  // 默认图片类型
21
- const IMAGE_TYPES = [
21
+ export const IMAGE_TYPES = [
22
22
  'image/jpg',
23
23
  'image/png',
24
24
  'image/tif',
@@ -31,7 +31,15 @@ const IMAGE_TYPES = [
31
31
  * 上传图片-官方组件
32
32
  */
33
33
  // eslint-disable-next-line react/prop-types
34
- export function UploaderPC({layout, className, id, style,title,tips, ...props }) {
34
+ export function UploaderPC({
35
+ layout,
36
+ className,
37
+ id,
38
+ style,
39
+ title,
40
+ tips,
41
+ ...props
42
+ }) {
35
43
  const cls = classNames({
36
44
  'weda-ui': true,
37
45
  [CLASS_PREFIX]: true,
@@ -40,25 +48,24 @@ export function UploaderPC({layout, className, id, style,title,tips, ...props })
40
48
  });
41
49
  return (
42
50
  <div className={cls} id={id} style={style}>
43
- <div className={`${CLASS_PREFIX}__header`}>
44
- {title && <div className={`${CLASS_PREFIX}__title`}>{title}</div>}
45
- {tips && (
46
- <div className={`${CLASS_PREFIX}__description`}>{tips || ''}</div>
47
- )}
48
- </div>
49
- <UploaderPCInner {...props} />
51
+ <div className={`${CLASS_PREFIX}__header`}>
52
+ {title && <div className={`${CLASS_PREFIX}__title`}>{title}</div>}
53
+ {tips && (
54
+ <div className={`${CLASS_PREFIX}__description`}>{tips || ''}</div>
55
+ )}
56
+ </div>
57
+ <UploaderPCInner {...props} />
50
58
  </div>
51
- );
59
+ );
52
60
  }
53
61
 
54
-
55
62
  export function UploaderPCInner(props) {
56
63
  let {
57
64
  tips = '',
58
65
  btnTitle = '上传图片',
59
66
  maxUploadCount = 9,
60
67
  maxSize = 10,
61
- defaultValue, // 需要兼容 cloud:和https: 协议,需要兼容 字符串和字符串数组
68
+ value: defaultValue, // 需要兼容 cloud:和https: 协议,需要兼容 字符串和字符串数组
62
69
  acceptTypes = IMAGE_TYPES,
63
70
  uploadPath = 'weda-uploader',
64
71
  uploadFileName = 'image',
@@ -67,8 +74,6 @@ export function UploaderPCInner(props) {
67
74
  onChange,
68
75
  } = props;
69
76
 
70
-
71
-
72
77
  // 上传中
73
78
  const [uploading, setUploading] = React.useState(false);
74
79
  //上传进度
@@ -77,13 +82,11 @@ export function UploaderPCInner(props) {
77
82
  const [fileIDList, setfileIDList] = React.useState([]);
78
83
  const prevValueRef = React.useRef();
79
84
  React.useEffect(() => {
80
- if(prevValueRef.current !== defaultValue) {
81
-
85
+ if (prevValueRef.current !== defaultValue) {
82
86
  let initialValue = []
83
- .concat(defaultValue)
84
- .filter((d) => typeof d === 'string' && d !== '');
87
+ .concat(defaultValue)
88
+ .filter((d) => typeof d === 'string' && d !== '');
85
89
  if (single) {
86
- maxUploadCount = 1;
87
90
  initialValue = initialValue[0] ? [initialValue[0]] : [];
88
91
  }
89
92
  setfileIDList(initialValue);
@@ -164,7 +167,7 @@ export function UploaderPCInner(props) {
164
167
  const deleteHandle = (fileID) => {
165
168
  setfileIDList((list) => list.filter((d) => d !== fileID));
166
169
  };
167
-
170
+
168
171
  // 转换后的属性
169
172
  const extraProps = {};
170
173
  extraProps['accept'] =
@@ -176,42 +179,52 @@ export function UploaderPCInner(props) {
176
179
 
177
180
  return (
178
181
  <ConfigProvider classPrefix="wedatea2td">
179
- <div className="_weda-fn-upload-result">
180
- {fileIDList.map((d) => (
181
- <div className="_weda-fn-upload-result__item" key={d}>
182
- <TcbImage fileID={d} />
183
- <div className="_weda-fn-upload-result__op">
184
- <Button
185
- onClick={() => deleteHandle(d)}
186
- className={`${CLASS_PREFIX}__btn`}
187
- >
188
- 删除
189
- </Button>
190
- </div>
182
+ <div className="_weda-fn-upload-result">
183
+ {fileIDList.map((d) => (
184
+ <div className="_weda-fn-upload-result__item" key={d}>
185
+ <TcbImage fileID={d} />
186
+ <div className="_weda-fn-upload-result__op">
187
+ <Button
188
+ onClick={() => deleteHandle(d)}
189
+ className={`${CLASS_PREFIX}__btn`}
190
+ >
191
+ 删除
192
+ </Button>
191
193
  </div>
192
- ))}
193
- {uploading && (
194
- <div className="_weda-fn-upload-result__item">
195
- <div className="_weda-fn-upload-result__status" key="_place_image">
196
- <Icon type="loading" />
197
- {!!progress && <span className="wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset">上传{progress}%...</span>}
198
- </div>
194
+ </div>
195
+ ))}
196
+ {uploading && (
197
+ <div className="_weda-fn-upload-result__item">
198
+ <div className="_weda-fn-upload-result__status" key="_place_image">
199
+ <Icon type="loading" />
200
+ {!!progress && (
201
+ <span className="wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset">
202
+ 上传{progress}%...
203
+ </span>
204
+ )}
199
205
  </div>
200
- )}
201
- <div className={`${CLASS_PREFIX}__input-box`}>
202
- {fileIDList.length < maxUploadCount &&
203
- <Upload {...extraProps} beforeUpload={beforeHandle}>
206
+ </div>
207
+ )}
208
+ <div className={`${CLASS_PREFIX}__input-box`}>
209
+ {(fileIDList.length < maxUploadCount ||
210
+ (single && fileIDList.length < 1)) && ( // single 模式时,仅当数组为空时显示
211
+ <Upload {...extraProps} beforeUpload={beforeHandle}>
204
212
  <li className="_weda-fn-upload-result__item _weda-fn-upload-result__item--upload">
205
- <div className="_weda-fn-upload-result__status">
206
- <i className="wedatea2td-icon wedatea2td-icon-plus" role="img" aria-label="plus"></i>
207
- <span className="wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset">{btnTitle}</span>
208
- </div>
209
- </li>
210
- </Upload>
211
- }
212
- </div>
213
+ <div className="_weda-fn-upload-result__status">
214
+ <i
215
+ className="wedatea2td-icon wedatea2td-icon-plus"
216
+ role="img"
217
+ aria-label="plus"
218
+ ></i>
219
+ <span className="wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset">
220
+ {btnTitle}
221
+ </span>
222
+ </div>
223
+ </li>
224
+ </Upload>
225
+ )}
213
226
  </div>
214
-
227
+ </div>
215
228
  </ConfigProvider>
216
229
  );
217
230
  }
@@ -229,7 +242,7 @@ export const TcbImage = (props) => {
229
242
  const _src = await getTempFileURL(fileID);
230
243
  _src ? setSrc(_src) : setIsError(true);
231
244
  } catch (e) {
232
- message.error('图片加载失败');
245
+ message.error({ content: '图片加载失败' });
233
246
  }
234
247
  };
235
248
  isCloudFileID(fileID) ? getSrc() : setSrc(fileID);
@@ -278,16 +291,16 @@ UploaderPCInner.propTypes = {
278
291
  uploadFileName: PropTypes.string, // 上传文件名称
279
292
  single: PropTypes.bool, // 单张上传还是多张上传,对应 onChange 参数为字符串还是字符串数组,value 在处理过程统一转为字符串数组
280
293
  events: PropTypes.objectOf(PropTypes.func), // 事件
281
- defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.string]), // 初始值,该参数需配合 formily 使用
294
+ value: PropTypes.oneOfType([PropTypes.array, PropTypes.string]), // 初始值,该参数需配合 formily 使用
282
295
  onChange: PropTypes.objectOf(PropTypes.func), // 值变化,该参数需配合 formily 使用
283
296
  style: PropTypes.object,
284
297
  id: PropTypes.string,
285
298
  layout: PropTypes.oneOf(['horizontal', 'vertical']),
286
- disabled: PropTypes.bool
299
+ disabled: PropTypes.bool,
287
300
  };
288
301
 
289
302
  TcbImage.propTypes = {
290
303
  fileID: PropTypes.string, // 云存储id
291
304
  isZoom: PropTypes.bool, // 是否点击放大
292
305
  onError: PropTypes.func, // 图片显示错误事件
293
- };
306
+ };
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import * as PropTypes from 'prop-types';
3
- import { usePlatform } from '../../utils/platform';
4
3
  import { ConfigProvider, ImagePreview } from 'tea-component';
4
+ import { usePlatform } from '../../utils/platform';
5
+ import { useGesture } from '@use-gesture/react';
5
6
 
6
7
  ImageInner.propTypes = {
7
8
  objectFit: PropTypes.string,
@@ -11,17 +12,21 @@ ImageInner.propTypes = {
11
12
  src: PropTypes.string,
12
13
  alt: PropTypes.string,
13
14
  lazyLoad: PropTypes.bool,
15
+ isError: PropTypes.bool,
14
16
  setIsError: PropTypes.func,
15
17
  maskClosable: PropTypes.bool,
16
18
  imgPreview: PropTypes.bool
17
19
  };
18
20
 
21
+ const failImgBase64 = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjUuMzIgMTYuMzU5N0MyNi4wNzY0IDE2LjM1OTcgMjYuODI1NCAxNi41MDg3IDI3LjUyNDMgMTYuNzk4MUMyOC4yMjMxIDE3LjA4NzYgMjguODU4MSAxNy41MTE5IDI5LjM5MjkgMTguMDQ2OEMyOS45Mjc4IDE4LjU4MTYgMzAuMzUyMSAxOS4yMTY2IDMwLjY0MTYgMTkuOTE1NEMzMC45MzEgMjAuNjE0MyAzMS4wOCAyMS4zNjMzIDMxLjA4IDIyLjExOTdDMzEuMDggMjIuODc2MSAzMC45MzEgMjMuNjI1MSAzMC42NDE2IDI0LjMyMzlDMzAuMzUyMSAyNS4wMjI4IDI5LjkyNzggMjUuNjU3OCAyOS4zOTI5IDI2LjE5MjZDMjguODU4MSAyNi43Mjc1IDI4LjIyMzEgMjcuMTUxOCAyNy41MjQzIDI3LjQ0MTJDMjYuODI1NCAyNy43MzA3IDI2LjA3NjQgMjcuODc5NyAyNS4zMiAyNy44Nzk3QzIzLjc5MjQgMjcuODc5NyAyMi4zMjczIDI3LjI3MjggMjEuMjQ3MSAyNi4xOTI2QzIwLjE2NjkgMjUuMTEyNCAxOS41NiAyMy42NDczIDE5LjU2IDIyLjExOTdDMTkuNTYgMjAuNTkyIDIwLjE2NjkgMTkuMTI3IDIxLjI0NzEgMTguMDQ2OEMyMi4zMjczIDE2Ljk2NjUgMjMuNzkyNCAxNi4zNTk3IDI1LjMyIDE2LjM1OTdaTTI4IDMuNTU5NjlWMTQuODc2OEMyNy4xNzc3IDE0LjU4NjYgMjYuMTkyIDE0LjQzODggMjUuMzIgMTQuNDM5N0MyNC4wMzEgMTQuNDM5NyAyMi44MTU3IDE0Ljc1NzEgMjEuNzQ4OCAxNS4zMTg0TDIwLjc5NTIgMTMuMTU5N0wxNi4wMjU5IDIwLjAyNzVMOC40NDU3NiAxNi40NDFMMy41NiAyMy4zOTk3SDE3Ljc0NjJDMTcuOTg2NyAyNC44MjkgMTguNjI4MiAyNi4xNjA2IDE5LjU5NTggMjcuMjM5N0gxVjMuNTU5NjlIMjhaTTI1Ljk2IDI0LjAzOTdIMjQuNjhWMjUuMzE5N0gyNS45NlYyNC4wMzk3Wk0yNS45NiAxOC45MTk3SDI0LjY4VjIzLjM5OTdIMjUuOTZWMTguOTE5N1pNNi4xMiAxMC41OTk3QzYuMTIgMTEuOTk4MSA3LjE5OTA0IDEzLjEwODUgOC42MDc2OCAxMy4xNTg0QzEwLjAyMDggMTMuMjA3NyAxMS4yNCAxMi4wNDggMTEuMjQgMTAuNTk5N0MxMS4yNCA5LjI0NjA5IDEwLjA2NDMgOC4wODU3NyA4Ljc1MjMyIDguMDQwOTdDNy4yOTU2OCA3Ljk5MTY5IDYuMTIgOS4xNTEzNyA2LjEyIDEwLjU5OTdaIiBmaWxsPSIjQkNDNEQwIj48L3BhdGg+Cjwvc3ZnPgo=';
22
+
19
23
  export function ImageInner({
20
24
  objectFit,
21
25
  style,
22
26
  className,
23
27
  alt,
24
28
  src,
29
+ isError,
25
30
  setIsError,
26
31
  events,
27
32
  lazyLoad,
@@ -35,7 +40,55 @@ export function ImageInner({
35
40
  setImgShow(false);
36
41
  }
37
42
  };
38
- if(platform === 'h5' || !imgPreview) {
43
+
44
+ const [showHeight, setShowHeight] = React.useState(0);
45
+ const realWidth = React.useRef(0);
46
+ const realHeight = React.useRef(0);
47
+ const [offsetHeight, setOffsetHeight] = React.useState(0);
48
+ const [translateX, setTranslateX]= React.useState(0);
49
+ const [translateY, setTranslateY]= React.useState(0);
50
+ const [previewScale, setPreviewScale] = React.useState(1);
51
+ React.useEffect(() => {
52
+ // 防止触发浏览器的放大缩小
53
+ const handler = e => e.preventDefault();
54
+ document.addEventListener('gesturestart', handler);
55
+ document.addEventListener('gesturechange', handler);
56
+ return () => {
57
+ document.removeEventListener('gesturestart', handler);
58
+ document.removeEventListener('gesturechange', handler);
59
+ };
60
+ }, []);
61
+
62
+ const bind = useGesture({
63
+ onClick: ({event}) => {
64
+ // 防止冒泡出发关闭预览
65
+ event.stopPropagation();
66
+ },
67
+ onPinch: ({offset}) => {
68
+ const [s] = offset;
69
+ setPreviewScale(s);
70
+ },
71
+ onDrag: ({offset, event}) => {
72
+ event.stopPropagation();
73
+ const [x, y] = offset;
74
+ setTranslateX(x);
75
+ setTranslateY(y);
76
+
77
+ },
78
+ }, {
79
+ drag: {
80
+ delay: true,
81
+ preventDefault: true,
82
+ },
83
+ pinch: {
84
+ scaleBounds: {min: 0.6, max: 5},
85
+ pointer: {
86
+ touch: true
87
+ }
88
+ }
89
+ });
90
+
91
+ if(platform === 'h5' || !imgPreview || isError) {
39
92
  return (
40
93
  <>
41
94
  <img
@@ -47,6 +100,11 @@ export function ImageInner({
47
100
  alt={alt}
48
101
  src={src}
49
102
  onLoad={(e) => {
103
+ /* @type {HTMLImageElement} */
104
+ const img = e.target;
105
+ const {naturalHeight, naturalWidth} = img;
106
+ realHeight.current = naturalHeight;
107
+ realWidth.current = naturalWidth;
50
108
  setIsError(false);
51
109
  events.load && events.load({}, { originEvent: e });
52
110
  }}
@@ -56,7 +114,16 @@ export function ImageInner({
56
114
  }}
57
115
  onClick={
58
116
  () => {
59
- if(imgPreview) {
117
+ if(imgPreview && !isError) {
118
+ setTranslateX(0);
119
+ setTranslateY(0);
120
+ setPreviewScale(1);
121
+ const windowHeight = window.innerHeight;
122
+ const windowWidth = window.innerWidth;
123
+ const ratio = (realWidth.current / realHeight.current);
124
+ const height = windowWidth / ratio;
125
+ setOffsetHeight(windowHeight / 2 - (height / 2));
126
+ setShowHeight(height);
60
127
  setImgShow(true);
61
128
  }
62
129
  }
@@ -68,8 +135,15 @@ export function ImageInner({
68
135
  <div onClick={() => setImgShow(false)} className="weda-img-modal-close-btn">
69
136
  <i className="weui-icon-clear" style={{color: 'white'}}></i>
70
137
  </div>
71
- <div className="weda-img-preview" style={{
72
- backgroundImage: `url(${src})`
138
+
139
+ {/* eslint-disable-next-line react/jsx-props-no-spreading */}
140
+ <div {...bind()} className="weda-img-preview" style={{
141
+ touchAction: 'none',
142
+ backgroundImage: `url(${src})`,
143
+ width: '100%',
144
+ height: showHeight,
145
+ marginTop: offsetHeight,
146
+ transform: `translate(${translateX}px, ${translateY}px) scale(${previewScale})`
73
147
  }}></div>
74
148
  </div>
75
149
  }
@@ -23,6 +23,7 @@
23
23
  right: 0;
24
24
  top: 0;
25
25
  bottom: 0;
26
+ z-index: 150;
26
27
  }
27
28
 
28
29
  .weda-img-modal-close-btn {
@@ -33,3 +34,19 @@
33
34
  z-index: 99;
34
35
  color: white;
35
36
  }
37
+
38
+ .weda-image.weda-image-error {
39
+ position: relative;
40
+ display: inline-block;
41
+ }
42
+
43
+ .weda-image:not([src]):before,
44
+ .weda-image-error::before {
45
+ content: '';
46
+ background: #f5f5f5 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjUuMzIgMTYuMzU5N0MyNi4wNzY0IDE2LjM1OTcgMjYuODI1NCAxNi41MDg3IDI3LjUyNDMgMTYuNzk4MUMyOC4yMjMxIDE3LjA4NzYgMjguODU4MSAxNy41MTE5IDI5LjM5MjkgMTguMDQ2OEMyOS45Mjc4IDE4LjU4MTYgMzAuMzUyMSAxOS4yMTY2IDMwLjY0MTYgMTkuOTE1NEMzMC45MzEgMjAuNjE0MyAzMS4wOCAyMS4zNjMzIDMxLjA4IDIyLjExOTdDMzEuMDggMjIuODc2MSAzMC45MzEgMjMuNjI1MSAzMC42NDE2IDI0LjMyMzlDMzAuMzUyMSAyNS4wMjI4IDI5LjkyNzggMjUuNjU3OCAyOS4zOTI5IDI2LjE5MjZDMjguODU4MSAyNi43Mjc1IDI4LjIyMzEgMjcuMTUxOCAyNy41MjQzIDI3LjQ0MTJDMjYuODI1NCAyNy43MzA3IDI2LjA3NjQgMjcuODc5NyAyNS4zMiAyNy44Nzk3QzIzLjc5MjQgMjcuODc5NyAyMi4zMjczIDI3LjI3MjggMjEuMjQ3MSAyNi4xOTI2QzIwLjE2NjkgMjUuMTEyNCAxOS41NiAyMy42NDczIDE5LjU2IDIyLjExOTdDMTkuNTYgMjAuNTkyIDIwLjE2NjkgMTkuMTI3IDIxLjI0NzEgMTguMDQ2OEMyMi4zMjczIDE2Ljk2NjUgMjMuNzkyNCAxNi4zNTk3IDI1LjMyIDE2LjM1OTdaTTI4IDMuNTU5NjlWMTQuODc2OEMyNy4xNzc3IDE0LjU4NjYgMjYuMTkyIDE0LjQzODggMjUuMzIgMTQuNDM5N0MyNC4wMzEgMTQuNDM5NyAyMi44MTU3IDE0Ljc1NzEgMjEuNzQ4OCAxNS4zMTg0TDIwLjc5NTIgMTMuMTU5N0wxNi4wMjU5IDIwLjAyNzVMOC40NDU3NiAxNi40NDFMMy41NiAyMy4zOTk3SDE3Ljc0NjJDMTcuOTg2NyAyNC44MjkgMTguNjI4MiAyNi4xNjA2IDE5LjU5NTggMjcuMjM5N0gxVjMuNTU5NjlIMjhaTTI1Ljk2IDI0LjAzOTdIMjQuNjhWMjUuMzE5N0gyNS45NlYyNC4wMzk3Wk0yNS45NiAxOC45MTk3SDI0LjY4VjIzLjM5OTdIMjUuOTZWMTguOTE5N1pNNi4xMiAxMC41OTk3QzYuMTIgMTEuOTk4MSA3LjE5OTA0IDEzLjEwODUgOC42MDc2OCAxMy4xNTg0QzEwLjAyMDggMTMuMjA3NyAxMS4yNCAxMi4wNDggMTEuMjQgMTAuNTk5N0MxMS4yNCA5LjI0NjA5IDEwLjA2NDMgOC4wODU3NyA4Ljc1MjMyIDguMDQwOTdDNy4yOTU2OCA3Ljk5MTY5IDYuMTIgOS4xNTEzNyA2LjEyIDEwLjU5OTdaIiBmaWxsPSIjQkNDNEQwIj48L3BhdGg+Cjwvc3ZnPgo=') no-repeat center / 50% 50%;
47
+ position: absolute;
48
+ left: 0;
49
+ top: 0;
50
+ width: 100%;
51
+ height: 100%;
52
+ }
@@ -54,6 +54,7 @@ export default function Image({
54
54
  className={cls}
55
55
  alt={alt}
56
56
  src={realSrc}
57
+ isError={isError}
57
58
  setIsError={setIsError}
58
59
  events={events}
59
60
  lazyLoad={lazyLoad}
@@ -1,71 +1,36 @@
1
1
  import '../wedatheme/style-package/index.css';
2
2
 
3
- import Button from './button';
4
- import Markdown from './markdown';
5
- import Text from './text';
6
- import Container from './container';
7
- import Image from './image';
8
- import Slot from './slot';
9
- import ScrollView from './scrollView';
10
- import Swiper from './swiper';
11
- import Modal from './modal';
12
- import RichText from './richText';
13
- import RichTextView from './richTextView';
14
- import Link from './link';
15
- import Drawer from './drawer';
16
- import UploaderView from './uploaderView';
3
+ export { default as Button } from './button';
4
+ export { default as Text } from './text';
5
+ export { default as Container } from './container';
6
+ export { default as Image } from './image';
7
+ export { default as Slot } from './slot';
8
+ export { default as ScrollView } from './scrollView';
9
+ export { default as Swiper } from './swiper';
10
+ export { default as Modal } from './modal';
11
+ export { default as RichText } from './richText';
12
+ export { default as RichTextView } from './richTextView';
13
+ export { default as Link } from './link';
14
+ export { default as Drawer } from './drawer';
15
+ export { default as UploaderView } from './uploaderView';
17
16
  // picker
18
- import Picker from './picker/picker';
19
- import DatePicker from './picker/datePicker';
20
- import TimePicker from './picker/timePicker';
17
+ export { default as Picker } from './picker/picker';
18
+ export { default as DatePicker } from './picker/datePicker';
19
+ export { default as TimePicker } from './picker/timePicker';
21
20
  // form
22
- import Form from './form/form';
23
- import Input from './form/input';
24
- import Textarea from './form/textarea';
25
- import Checkbox from './form/checkbox';
26
- import Radio from './form/radio';
27
- import Switch from './form/switch';
28
- import Select from './form/select';
29
- import Uploader from './form/uploader';
30
- import Tips from './form/tips';
31
- import Tabs from './tabs';
32
- import EnumSelect from './form/enumSelect';
33
- // import MapPosition from './form/position';
21
+ export { default as Form } from './form/form';
22
+ export { default as Input } from './form/input';
23
+ export { default as Textarea } from './form/textarea';
24
+ export { default as Checkbox } from './form/checkbox';
25
+ export { default as Radio } from './form/radio';
26
+ export { default as Switch } from './form/switch';
27
+ export { default as Select } from './form/select';
28
+ export { default as Uploader } from './form/uploader';
29
+ export { default as Tips } from './form/tips';
30
+ export { default as Tabs } from './tabs';
31
+ export { default as EnumSelect } from './form/enumSelect';
34
32
  // open
35
33
  // import Auth from './auth';
36
34
 
37
35
  import 'weui/dist/style/weui.css';
38
36
  import '../weda-ui.css';
39
-
40
- export default {
41
- Button,
42
- Markdown,
43
- Text,
44
- Container,
45
- Image,
46
- Picker,
47
- DatePicker,
48
- TimePicker,
49
- Input,
50
- Textarea,
51
- Radio,
52
- Checkbox,
53
- Switch,
54
- Form,
55
- Select,
56
- // Auth,
57
- Slot,
58
- Uploader,
59
- ScrollView,
60
- Swiper,
61
- Tips,
62
- Modal,
63
- RichText,
64
- RichTextView,
65
- UploaderView,
66
- Link,
67
- Drawer,
68
- Tabs,
69
- EnumSelect,
70
- // MapPosition,
71
- };
@@ -1,13 +1,3 @@
1
- .weda-RichTextView {
2
- width: 100%;
3
- }
4
-
5
- @media (min-width: 1024px) {
6
- .weda-RichTextView {
7
- height: 100px;
8
- }
9
- }
10
-
11
1
  .weda-RichTextView blockquote {
12
2
  margin: 0 0 10px;
13
3
  padding: 15px 20px;
@@ -86,15 +86,4 @@ RichTextView.propTypes = {
86
86
  */
87
87
  style: PropTypes.object,
88
88
  id: PropTypes.string
89
- };
90
-
91
- /**
92
- * 默认属性
93
- */
94
- RichTextView.defaultProps = {
95
- value: '',
96
- style: {
97
- width: '100%',
98
- height: '100%',
99
- },
100
- };
89
+ };
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { usePlatform } from '../../utils/platform';
3
- import TabsH5 from './tabsH5';
4
- import TabsPc from './tabsPc';
3
+ import TabsH5 from './tabs.h5';
4
+ import TabsPc from './tabs.pc';
5
5
 
6
6
  export default function Tabs(props) {
7
7
  const platform = usePlatform();
8
8
 
9
9
  return platform === 'h5' ? <TabsH5 {...props} /> : <TabsPc {...props} />;
10
- }
10
+ }
@@ -1,58 +1,19 @@
1
- import React, { useState, useMemo } from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import * as PropTypes from 'prop-types';
3
3
 
4
4
  import './index.css';
5
5
  import classNames from '../../utils/classnames';
6
+ import { useSyncValue } from '../../utils/useSyncValue';
6
7
 
7
8
  export default function TabsH5({
8
9
  tabs,
10
+ selectedIndex,
9
11
  events,
10
12
  className,
11
- panel1,
12
- panel2,
13
- panel3,
14
- panel4,
15
- panel5,
16
- panel6,
17
- panel7,
18
- panel8,
19
- panel9,
20
- panel10,
21
- panel11,
22
- panel12,
23
- panel13,
24
- panel14,
25
- panel15,
26
- panel16,
27
- panel17,
28
- panel18,
29
- panel19,
30
- panel20,
31
- style
13
+ style,
14
+ ...restProps
32
15
  }) {
33
- const cachePanel = {
34
- panel1,
35
- panel2,
36
- panel3,
37
- panel4,
38
- panel5,
39
- panel6,
40
- panel7,
41
- panel8,
42
- panel9,
43
- panel10,
44
- panel11,
45
- panel12,
46
- panel13,
47
- panel14,
48
- panel15,
49
- panel16,
50
- panel17,
51
- panel18,
52
- panel19,
53
- panel20
54
- };
55
- const [currentIndex, setCurrentIndex] = useState(0);
16
+ const [currentIndex, setCurrentIndex] = useSyncValue(selectedIndex);
56
17
  const stickyStyle = useMemo(() => {
57
18
  const length = tabs.length;
58
19
  return {
@@ -81,7 +42,7 @@ export default function TabsH5({
81
42
  key={name || index}
82
43
  onClick={(event) => {
83
44
  setCurrentIndex(index);
84
- events && events.change(tabs[index], { event });
45
+ events && events.change({id: index, label: title}, { event });
85
46
  }}
86
47
  >
87
48
  {title}
@@ -98,7 +59,7 @@ export default function TabsH5({
98
59
  <div className={classNames({
99
60
  'weda-tabs__panel': true,
100
61
  })}>
101
- {cachePanel[`panel${currentIndex + 1}`]}
62
+ {restProps[`panel${currentIndex + 1}`]}
102
63
  </div>
103
64
  </div>
104
65
  );
@@ -109,6 +70,7 @@ TabsH5.propTypes = {
109
70
  tabs: PropTypes.array,
110
71
  className: PropTypes.string,
111
72
  style: PropTypes.object,
73
+ selectedIndex: PropTypes.number,
112
74
  events: PropTypes.objectOf(PropTypes.func),
113
75
  panel1: PropTypes.node,
114
76
  panel2: PropTypes.node,