@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
@@ -1,4 +1,5 @@
1
1
  import { getCloudInstance } from '../../../utils/tcb';
2
+ import deepEqual from '../../../utils/deepEqual';
2
3
 
3
4
  Component({
4
5
  options: {
@@ -7,7 +8,8 @@ Component({
7
8
  lifetimes: {
8
9
  attached() {
9
10
  this.setData({
10
- urls: this.properties.defaultValue
11
+ urls: this.properties.defaultValue,
12
+ files: this.properties.defaultValue.map(url => ({url}))
11
13
  });
12
14
  }
13
15
  },
@@ -31,12 +33,21 @@ Component({
31
33
  defaultValue: {
32
34
  type: Array,
33
35
  value: []
36
+ },
37
+ single: {
38
+ type: Boolean,
39
+ value: false
40
+ },
41
+ maxSize: {
42
+ type: Number,
43
+ value: 10
34
44
  }
35
45
  },
36
46
  data: {
47
+ maxCount: 0,
37
48
  files: [],
38
49
  urls: [],
39
- uploadFile: async (files) => {
50
+ uploadFile: async function (files) {
40
51
  // 文件上传的函数,返回一个promise
41
52
  const uploadPath = 'weda-uploader';
42
53
 
@@ -51,8 +62,11 @@ Component({
51
62
  return { fileID: uploadRes.fileID };
52
63
  });
53
64
  const uploadFileList = await Promise.all(uploadPromise);
54
- const urls = uploadFileList.map((file) => file.fileID);
55
- return { urls, tempUrls: files.tempFilePaths };
65
+ const cloudUrls = uploadFileList.map((file) => file.fileID);
66
+ // 这里返回的东西会在uploadSuccess回调函数中获取到
67
+ // https://github.com/wechat-miniprogram/weui-miniprogram/blob/a3630575910302e3b94e69fcef266d2b509de650/src/components/uploader/uploader.ts#L149
68
+ // 写死的从返回值的 .urls 获取展示用的url来用。一定要将tempFilePaths透传下去,否则会重新加载然后出现闪白
69
+ return { urls: files.tempFilePaths, cloudUrls };
56
70
  }
57
71
  },
58
72
  methods: {
@@ -61,7 +75,7 @@ Component({
61
75
  this.triggerEvent('error', e.detail);
62
76
  },
63
77
  uploadSuccess: async function (e) {
64
- const urls = e.detail.urls; // uploadFile 获取返回值
78
+ const urls = e.detail.cloudUrls; // uploadFile 获取返回值
65
79
  // 小程序自带tempURL 不需要调用 tcb.getTempFileURL 获取
66
80
  this.triggerEvent(
67
81
  'success',
@@ -70,22 +84,42 @@ Component({
70
84
  }
71
85
  );
72
86
  this.setData({
73
- files: this.data.files.concat(e.detail.tempUrls.map(url => ({url}))),
87
+ files: this.data.files.concat(e.detail.urls.map(url => ({url}))),
74
88
  urls: [...this.data.urls, ...urls]
75
89
  });
76
90
 
77
91
  },
92
+ onDelete: function(e) {
93
+ this.setData({
94
+ files: this.data.files.filter((v, index) => e.detail.index !== index),
95
+ urls: this.data.urls.filter((v, index) => e.detail.index !== index)
96
+ });
97
+ }
78
98
  },
79
99
  observers: {
80
- 'defaultValue': function(value) {
81
- // change value
82
- if(!value || value.length === 0) {
83
- this.setData({files: []});
84
- this.setData({urls: []});
85
- }
100
+ // 'defaultValue': function(value) {
101
+ // if(!deepEqual(value, this.data.urls)) {
102
+ // if(!Array.isArray(value)) {
103
+ // value = [value].filter(v => v.length > 0);
104
+ // }
105
+ // this.setData({
106
+ // files: value.map(f => ({url: f})),
107
+ // urls: value
108
+ // });
109
+ // }
110
+ // },
111
+ 'maxUploadCount, single': function(maxUploadCount, single) {
112
+ const maxCount = single ? 1 : maxUploadCount;
113
+ this.setData({
114
+ maxCount
115
+ });
86
116
  },
87
117
  'urls': function (urls) {
88
- this.triggerEvent('change', {value: urls});
118
+ let value = urls;
119
+ if(this.properties.single) {
120
+ value = urls[0] ?? '';
121
+ }
122
+ this.triggerEvent('change', {value});
89
123
  }
90
124
  }
91
- });
125
+ });
@@ -1,8 +1,15 @@
1
1
  <mp-cells>
2
2
  <mp-cell>
3
- <mp-uploader files="{{files}}" showDelete="{{false}}" ext-class="{{layout}}" bindfail="uploadError" bindsuccess="uploadSuccess" select="{{selectFile}}" upload="{{uploadFile}}" maxCount="{{maxUploadCount}}" title="{{title}}" tips="{{tips}}"></mp-uploader>
3
+ <mp-uploader max-size="{{maxSize * 1024 * 1024}}" files="{{files}}" showDelete="{{true}}" ext-class="{{layout}}" bindfail="uploadError" bindsuccess="uploadSuccess" select="{{selectFile}}" upload="{{uploadFile}}" maxCount="{{maxCount}}" title="{{title}}" tips="{{tips}}" binddelete="onDelete"></mp-uploader>
4
4
  </mp-cell>
5
5
  </mp-cells>
6
6
  <!-- uploader delete 实际代码接受 showDelete
7
7
  https://developers.weixin.qq.com/community/develop/doc/000a4e7b9cc158c110aa3961056400
8
- -->
8
+ -->
9
+
10
+ <!-- bind开头的是事件handler,wxml模版中不能带 `{{}}`
11
+ ```
12
+ <mp-uploader files="{{files}}" showDelete="{{true}}" ext-class="{{layout}}" bindfail="uploadError" bindsuccess="uploadSuccess" select="{{selectFile}}" upload="{{uploadFile}}" maxCount="{{maxUploadCount}}" title="{{title}}" tips="{{tips}}" binddelete="onDelete"></mp-uploader>
13
+ ```
14
+ upload 是函数带{{}}, bindtelete直接传函数名字符串
15
+ -->
@@ -1,5 +1,3 @@
1
- import handleEvents from '../../utils/handleEvents';
2
-
3
1
  Component({
4
2
  options: {
5
3
  virtualHost: true,
@@ -48,17 +46,55 @@ Component({
48
46
  }
49
47
  },
50
48
  methods: {
51
- ...handleEvents([
52
- { name: 'load', title: '加载成功' },
53
- { name: 'error', title: '加载失败' },
54
- ]),
49
+ load: function(e) {
50
+ this.triggerEvent('error', e.detail);
51
+ this.setData({
52
+ realHeight: e.detail.height,
53
+ realWidth: e.detail.width
54
+ });
55
+ },
56
+ error: function(e) {
57
+ this.setData({
58
+ isError: true,
59
+ clsx: this.properties.className + 'weda-image-error'
60
+ });
61
+ this.triggerEvent('error', e.detail);
62
+ },
55
63
  onImgTap: function() {
56
- if(this.properties.imgPreview) {
64
+ if(this.properties.imgPreview && !this.data.isError) {
65
+ // 计算图片预览展示高度
66
+ const {windowWidth, windowHeight} = wx.getSystemInfoSync();
67
+ const showHeight = windowWidth / (this.data.realWidth / this.data.realHeight);
68
+ const offsetHeight = windowHeight / 2 - (showHeight / 2);
57
69
  this.setData({
58
- showImg: true
70
+ showImg: true,
71
+ zoom: 1,
72
+ previewTranslateY: 0,
73
+ previewTranslateX: 0,
74
+ showHeight,
75
+ offsetHeight
59
76
  });
60
77
  }
61
78
  },
79
+ onPinch: function(ev) {
80
+ let zoom = ev.detail.zoom;
81
+ // zoom = this.data.zoom * zoom;
82
+ if(zoom > 5) {
83
+ zoom = 5;
84
+ }
85
+ if(zoom < 0.6) {
86
+ zoom = 0.6;
87
+ }
88
+ this.setData({
89
+ zoom
90
+ });
91
+ },
92
+ onPressMove: function(ev) {
93
+ this.setData({
94
+ previewTranslateX: this.data.previewTranslateX + ev.detail.deltaX,
95
+ previewTranslateY: this.data.previewTranslateY + ev.detail.deltaY
96
+ });
97
+ },
62
98
  onMaskClick: function() {
63
99
  if(this.properties.maskClosable) {
64
100
  this.setData({
@@ -76,8 +112,21 @@ Component({
76
112
  showImg: false,
77
113
  realSrc: '',
78
114
  imgMode: 'scaleToFill',
115
+ clsx: '',
116
+ isError: false,
117
+ zoom: 1,
118
+ previewTranslateX: 0,
119
+ previewTranslateY: 0,
120
+ realHeight: 0,
121
+ realWidth: 0
79
122
  },
80
123
  observers: {
124
+ className: function() {
125
+ const className = this.properties.className;
126
+ this.setData({
127
+ clsx: className
128
+ });
129
+ },
81
130
  src: function () {
82
131
  const { src = '' } = this.properties;
83
132
  let { app } = getApp();
@@ -1,4 +1,7 @@
1
1
  {
2
2
  "component": true,
3
- "styleIsolation": "shared"
3
+ "styleIsolation": "shared",
4
+ "usingComponents": {
5
+ "gesture": "miniprogram-gesture/gesture"
6
+ }
4
7
  }
@@ -1,6 +1,6 @@
1
1
  <image
2
2
  style="{{style}}"
3
- class="weda-ui weda-image {{className}}"
3
+ class="weda-ui weda-image {{clsx}}"
4
4
  src="{{realSrc}}"
5
5
  alt="{{alt}}"
6
6
  mode="{{imgMode}}"
@@ -14,5 +14,7 @@
14
14
  <view bindtap="onCloseClick" class="weda-img-modal-close-btn">
15
15
  <icon type="clear" size="23" color="white"></icon>
16
16
  </view>
17
- <view class="weda-img-preview" style="background-image: url('{{realSrc}}');"></view>
17
+ <gesture bindpinch="onPinch" catchtap="onTapImgPreview" bindpressMove="onPressMove">
18
+ <view class="weda-img-preview" style="margin-top:{{offsetHeight}}px;width: 100%;height:{{showHeight}}px;background-image: url('{{realSrc}}');transform: scale({{zoom}}) translateX({{previewTranslateX}}px) translateY({{previewTranslateY}}px);"></view>
19
+ </gesture>
18
20
  </view>
@@ -30,3 +30,17 @@
30
30
  display: inline-block;
31
31
  z-index: 99;
32
32
  }
33
+
34
+ .weda-image-error {
35
+ position: relative;
36
+ }
37
+
38
+ .weda-image-error::before {
39
+ content: '';
40
+ background: #f5f5f5 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjUuMzIgMTYuMzU5N0MyNi4wNzY0IDE2LjM1OTcgMjYuODI1NCAxNi41MDg3IDI3LjUyNDMgMTYuNzk4MUMyOC4yMjMxIDE3LjA4NzYgMjguODU4MSAxNy41MTE5IDI5LjM5MjkgMTguMDQ2OEMyOS45Mjc4IDE4LjU4MTYgMzAuMzUyMSAxOS4yMTY2IDMwLjY0MTYgMTkuOTE1NEMzMC45MzEgMjAuNjE0MyAzMS4wOCAyMS4zNjMzIDMxLjA4IDIyLjExOTdDMzEuMDggMjIuODc2MSAzMC45MzEgMjMuNjI1MSAzMC42NDE2IDI0LjMyMzlDMzAuMzUyMSAyNS4wMjI4IDI5LjkyNzggMjUuNjU3OCAyOS4zOTI5IDI2LjE5MjZDMjguODU4MSAyNi43Mjc1IDI4LjIyMzEgMjcuMTUxOCAyNy41MjQzIDI3LjQ0MTJDMjYuODI1NCAyNy43MzA3IDI2LjA3NjQgMjcuODc5NyAyNS4zMiAyNy44Nzk3QzIzLjc5MjQgMjcuODc5NyAyMi4zMjczIDI3LjI3MjggMjEuMjQ3MSAyNi4xOTI2QzIwLjE2NjkgMjUuMTEyNCAxOS41NiAyMy42NDczIDE5LjU2IDIyLjExOTdDMTkuNTYgMjAuNTkyIDIwLjE2NjkgMTkuMTI3IDIxLjI0NzEgMTguMDQ2OEMyMi4zMjczIDE2Ljk2NjUgMjMuNzkyNCAxNi4zNTk3IDI1LjMyIDE2LjM1OTdaTTI4IDMuNTU5NjlWMTQuODc2OEMyNy4xNzc3IDE0LjU4NjYgMjYuMTkyIDE0LjQzODggMjUuMzIgMTQuNDM5N0MyNC4wMzEgMTQuNDM5NyAyMi44MTU3IDE0Ljc1NzEgMjEuNzQ4OCAxNS4zMTg0TDIwLjc5NTIgMTMuMTU5N0wxNi4wMjU5IDIwLjAyNzVMOC40NDU3NiAxNi40NDFMMy41NiAyMy4zOTk3SDE3Ljc0NjJDMTcuOTg2NyAyNC44MjkgMTguNjI4MiAyNi4xNjA2IDE5LjU5NTggMjcuMjM5N0gxVjMuNTU5NjlIMjhaTTI1Ljk2IDI0LjAzOTdIMjQuNjhWMjUuMzE5N0gyNS45NlYyNC4wMzk3Wk0yNS45NiAxOC45MTk3SDI0LjY4VjIzLjM5OTdIMjUuOTZWMTguOTE5N1pNNi4xMiAxMC41OTk3QzYuMTIgMTEuOTk4MSA3LjE5OTA0IDEzLjEwODUgOC42MDc2OCAxMy4xNTg0QzEwLjAyMDggMTMuMjA3NyAxMS4yNCAxMi4wNDggMTEuMjQgMTAuNTk5N0MxMS4yNCA5LjI0NjA5IDEwLjA2NDMgOC4wODU3NyA4Ljc1MjMyIDguMDQwOTdDNy4yOTU2OCA3Ljk5MTY5IDYuMTIgOS4xNTEzNyA2LjEyIDEwLjU5OTdaIiBmaWxsPSIjQkNDNEQwIj48L3BhdGg+Cjwvc3ZnPgo=') no-repeat center / 50% 50%;
41
+ position: absolute;
42
+ left: 0;
43
+ top: 0;
44
+ width: 100%;
45
+ height: 100%;
46
+ }
@@ -1 +1,3 @@
1
- <rich-text className="{{className}}" style="{{style}}" nodes="{{__html}}"></rich-text>
1
+ <view class="weda-ui {{className}}" style="{{style}}">
2
+ <rich-text nodes="{{__html}}"></rich-text>
3
+ </view>
@@ -7,13 +7,20 @@ Component({
7
7
  },
8
8
 
9
9
  properties: {
10
- tabs: Array,
11
- scrollCellId: ''
10
+ tabs: { type: Array, value: [] },
11
+ scrollCellId: {
12
+ type: String,
13
+ value: '',
14
+ },
15
+ selectedIndex: {
16
+ type: Number,
17
+ value: 0
18
+ }
12
19
  },
13
20
 
14
21
  data: {
15
22
  currentIndex: 0,
16
- stickyStyle: null
23
+ stickyStyle: null,
17
24
  },
18
25
 
19
26
  methods: {
@@ -21,14 +28,23 @@ Component({
21
28
  const { tabs } = this.data;
22
29
  const { index } = e.target.dataset;
23
30
  this.setData({
24
- currentIndex: index
31
+ currentIndex: index,
25
32
  });
26
-
33
+ this.triggerEvent('change', {id: index, label: tabs[index].title});
27
34
  if (tabs.length > 5) {
28
35
  this.setData({
29
- scrollCellId: `cell-${ Math.max(index - 2, 0) }`
36
+ scrollCellId: `cell-${Math.max(index - 2, 0)}`,
30
37
  });
31
38
  }
32
39
  },
40
+ },
41
+ observers: {
42
+ 'selectedIndex': function(selectedIndex) {
43
+ if(selectedIndex !== this.data.currentIndex) {
44
+ this.setData({
45
+ currentIndex: selectedIndex
46
+ });
47
+ }
48
+ }
33
49
  }
34
50
  });
@@ -0,0 +1,42 @@
1
+ function equal(a, b) {
2
+ if (a === b) return true;
3
+
4
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
5
+ if (a.constructor !== b.constructor) return false;
6
+
7
+ var length, i, keys;
8
+ if (Array.isArray(a)) {
9
+ length = a.length;
10
+ if (length != b.length) return false;
11
+ for (i = length; i-- !== 0;)
12
+ if (!equal(a[i], b[i])) return false;
13
+ return true;
14
+ }
15
+
16
+
17
+
18
+ if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
19
+ if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
20
+ if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
21
+
22
+ keys = Object.keys(a);
23
+ length = keys.length;
24
+ if (length !== Object.keys(b).length) return false;
25
+
26
+ for (i = length; i-- !== 0;)
27
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
28
+
29
+ for (i = length; i-- !== 0;) {
30
+ var key = keys[i];
31
+
32
+ if (!equal(a[key], b[key])) return false;
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // true if both NaN, false otherwise
39
+ return a!==a && b!==b;
40
+ }
41
+
42
+ export default equal;
@@ -1,4 +1,2 @@
1
- import showToast from './showToast';
2
- import showModal from './showModal';
3
-
4
- export default { showToast, showModal };
1
+ export { default as showToast } from './showToast';
2
+ export { default as showModal } from './showModal';
@@ -5,7 +5,6 @@ import { Checkbox as TeaCheckbox, ConfigProvider } from 'tea-component';
5
5
  import classNames from '../../../utils/classnames';
6
6
  import getLocalCounter from '../../../utils/getLocalCounter';
7
7
  import isObjectEqual from '../../../utils/isObjectEqual';
8
- import FormCell from '../formcell';
9
8
  import fromEntries from 'object.fromentries';
10
9
  import { usePlatform } from '../../../utils/platform';
11
10
  import { renderDecorator } from '../renderDecorator';
@@ -62,6 +61,7 @@ export default function Checkbox({
62
61
  */
63
62
  const getChangeHandler = function (value) {
64
63
  const onChange = function (e) {
64
+ e.stopPropagation();
65
65
  const checked = !checkedItems[value];
66
66
  const newMap = Object.assign({}, checkedItems, { [value]: checked });
67
67
  setCheckedItems(newMap);
@@ -78,36 +78,34 @@ export default function Checkbox({
78
78
  };
79
79
 
80
80
  // 现在低码组件往源码组件传入的id不唯一, 暂时使用hashcode替代
81
- const hashcode = getLocalCounter();
81
+ const hashcode = React.useMemo(() => getLocalCounter(), []);
82
82
  let checkboxElement;
83
83
  if(platform === 'h5') {
84
84
  checkboxElement = range.map(({ label, value }, index) => {
85
85
  const _id = `checkbox-${hashcode}-${index}`;
86
86
  const _name = `checkbox-${hashcode}-${name}`;
87
87
  return (
88
- <label
89
- className={subCls}
90
- htmlFor={_id}
88
+ <div
91
89
  key={_id}
92
- onClick={getChangeHandler(value)}
90
+ onClickCapture={getChangeHandler(value)}
91
+ className={subCls}
93
92
  >
94
93
  <div className="weui-cell__hd">
95
94
  <input
96
95
  type="checkbox"
97
96
  className="weui-check"
98
97
  value={value}
99
- name={_name}
100
98
  id={_id}
101
- defaultChecked={checkedItems[value]}
99
+ name={_name}
100
+ checked={checkedItems[value]}
102
101
  disabled={disabled}
103
- onClick={(e) => e.stopPropagation()}
104
102
  />
105
103
  <i className="weui-icon-checked"></i>
106
104
  </div>
107
105
  <div className="weui-cell__bd">
108
106
  <p>{label}</p>
109
107
  </div>
110
- </label>
108
+ </div>
111
109
  );
112
110
  });
113
111
  } else {
@@ -1,14 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { SelectMultiple } from 'tea-component';
3
3
 
4
- import FormContainer from './FormContainer';
4
+ import SelectContainer from './SelectContainer';
5
5
 
6
6
  import { normalProps } from './props/defaultProps';
7
7
  import { propTypes } from './props/propsTypes';
8
8
  import useOptions from './hooks';
9
9
 
10
- const { useRef } = React;
11
-
12
10
  const MultipleSelect = ({
13
11
  // 系统属性
14
12
  id,
@@ -20,6 +18,7 @@ const MultipleSelect = ({
20
18
  labelVisible,
21
19
  layout,
22
20
  requiredFlag,
21
+ decorator,
23
22
  // tea组件属性
24
23
  value,
25
24
  placeholder,
@@ -38,26 +37,13 @@ const MultipleSelect = ({
38
37
  optionId,
39
38
  isModelApp,
40
39
  }) => {
41
- const defaultValue = Array.isArray(value) ? value.map((i) => i?.key) : [];
42
40
  const options = useOptions({ enumType, optionId, customEnum });
43
- const selectValueRef = useRef(value);
44
41
 
45
- const onSelectChange = (_values, context) => {
46
- const currentSelectValue = selectValueRef.current?.concat();
47
- const { name, title, value } = context?.check || {};
48
- if (value) {
49
- currentSelectValue.push({ key: name, name: title });
50
- } else {
51
- const index = currentSelectValue?.findIndex(
52
- (i) => i?.key?.toString() === name
53
- );
54
- currentSelectValue.splice(index, 1);
55
- }
56
- selectValueRef.current = currentSelectValue;
42
+ const onSelectChange = (values) => {
57
43
  // @ts-ignore
58
- events.change && events.change({ value: currentSelectValue });
44
+ events.change && events.change({ value: values });
59
45
  if (onChange) {
60
- onChange(currentSelectValue);
46
+ onChange(values);
61
47
  }
62
48
  };
63
49
 
@@ -72,7 +58,7 @@ const MultipleSelect = ({
72
58
  matchButtonWidth,
73
59
  searchable,
74
60
  size,
75
- defaultValue,
61
+ defaultValue: value || [],
76
62
  allOption,
77
63
  staging: false,
78
64
  virtual,
@@ -82,17 +68,20 @@ const MultipleSelect = ({
82
68
  return <SelectMultiple {...multipleSelectProps} />;
83
69
  }
84
70
  return (
85
- <FormContainer
71
+ <SelectContainer
86
72
  style={style}
87
73
  className={className}
88
- label={labelVisible ? label : null}
74
+ label={label}
75
+ labelVisible={labelVisible}
89
76
  layout={layout}
90
77
  // @ts-ignore
91
78
  multiCell={false}
92
79
  requiredFlag={requiredFlag}
80
+ decorator={decorator}
81
+ id={id}
93
82
  >
94
83
  <SelectMultiple {...multipleSelectProps} />
95
- </FormContainer>
84
+ </SelectContainer>
96
85
  );
97
86
  };
98
87
  MultipleSelect.propTypes = {
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Select } from 'tea-component';
3
3
 
4
- import FormContainer from './FormContainer';
4
+ import SelectContainer from './SelectContainer';
5
5
 
6
6
  import { multipleProps } from './props/defaultProps';
7
7
  import { propTypes } from './props/propsTypes';
@@ -30,6 +30,7 @@ const NormalSelect = ({
30
30
  labelVisible,
31
31
  layout,
32
32
  requiredFlag,
33
+ decorator,
33
34
  // tea组件属性
34
35
  value,
35
36
  placeholder,
@@ -48,18 +49,14 @@ const NormalSelect = ({
48
49
  isModelApp,
49
50
  }) => {
50
51
  const options = useOptions({ enumType, optionId, customEnum });
51
- const [selectedValue, setSelectedValue] = useValue(value?.key);
52
+ const [selectedValue, setSelectedValue] = useValue(value);
52
53
 
53
- const onSelectChange = (value, context) => {
54
- const realValue = {
55
- key: value,
56
- name: context?.option?.text,
57
- };
54
+ const onSelectChange = (value) => {
58
55
  // @ts-ignore
59
56
  setSelectedValue(value);
60
- events.change && events.change({ value: realValue });
57
+ events.change && events.change({ value });
61
58
  if (onChange) {
62
- onChange(realValue);
59
+ onChange(value || '');
63
60
  }
64
61
  };
65
62
 
@@ -82,17 +79,20 @@ const NormalSelect = ({
82
79
  return <Select {...singleSelectProps} />;
83
80
  }
84
81
  return (
85
- <FormContainer
82
+ <SelectContainer
86
83
  style={style}
87
84
  className={className}
88
- label={labelVisible ? label : null}
85
+ label={label}
86
+ labelVisible={labelVisible}
89
87
  layout={layout}
90
88
  // @ts-ignore
91
89
  multiCell={false}
92
90
  requiredFlag={requiredFlag}
91
+ decorator={decorator}
92
+ id={id}
93
93
  >
94
94
  <Select {...singleSelectProps} />
95
- </FormContainer>
95
+ </SelectContainer>
96
96
  );
97
97
  };
98
98
  NormalSelect.propTypes = {
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import classNames from '../../../utils/classnames';
3
+ import { selectContainerPropsTypes } from './props/propsTypes';
4
+ import { renderDecorator } from '../renderDecorator';
5
+
6
+ const SelectContainer = ({
7
+ style,
8
+ className,
9
+ // weda 组件属性
10
+ id,
11
+ label,
12
+ labelVisible,
13
+ layout,
14
+ requiredFlag,
15
+ decorator,
16
+ children,
17
+ }) => {
18
+ const cls = classNames({
19
+ 'weda-ui': true,
20
+ [className]: className,
21
+ });
22
+ const subCls = classNames({
23
+ 'weui-cell': true,
24
+ 'weui-cell_active': true,
25
+ 'weui-cell_form': true,
26
+ 'weui-cell_disabled': true,
27
+ });
28
+ const SelectComponent = <div className={subCls}>{children}</div>;
29
+ return renderDecorator(
30
+ SelectComponent,
31
+ decorator
32
+ )({
33
+ id,
34
+ className: cls,
35
+ style,
36
+ label: labelVisible ? label : null,
37
+ layout,
38
+ multiCell: false,
39
+ requiredFlag,
40
+ });
41
+ };
42
+ SelectContainer.propTypes = selectContainerPropsTypes;
43
+ export default SelectContainer;
@@ -5,7 +5,7 @@ const GENERAL_OPTION = 'general-option';
5
5
  const CUSTOM = 'custom';
6
6
 
7
7
  const handleOptionsDetailList = (response) => {
8
- const config = response?.Config ?? '[]';
8
+ const config = response?.Data?.Config ?? '[]';
9
9
  return JSON.parse(config)?.map((item) => ({
10
10
  value: item?.key,
11
11
  text: item?.value,
@@ -20,9 +20,12 @@ export default function useOptions({ enumType, optionId, customEnum }) {
20
20
  const getOptionsDetailList = async (optionId) => {
21
21
  try {
22
22
  const response = await getDescribeGeneralOptionsDetailList({
23
- action: 'DescribeGeneralOptionsDetail',
24
- data: {
25
- OptId: optionId,
23
+ methodName: 'callDesignApi',
24
+ params: {
25
+ action: 'DescribeGeneralOptionsDetail',
26
+ data: {
27
+ Id: optionId,
28
+ },
26
29
  },
27
30
  });
28
31
  const options = handleOptionsDetailList(response);
@@ -40,4 +40,11 @@ export const propTypes = {
40
40
  export const formContainerPropsTypes = {
41
41
  ...commonPropsTypes,
42
42
  children: PropTypes.element,
43
+ decorator: PropTypes.element,
44
+ };
45
+
46
+ export const selectContainerPropsTypes = {
47
+ ...commonPropsTypes,
48
+ children: PropTypes.element,
49
+ decorator: PropTypes.element,
43
50
  };
@@ -80,7 +80,7 @@ export default function FormCell({
80
80
 
81
81
  FormCell.propTypes = {
82
82
  className: PropTypes.string,
83
- style: PropTypes.string,
83
+ style: PropTypes.object,
84
84
  label: PropTypes.string,
85
85
  labelVisible: PropTypes.bool,
86
86
  layout: PropTypes.string,