@cloudbase/weda-ui 0.2.9 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/package.json +61 -40
  2. package/src/.DS_Store +0 -0
  3. package/src/configs/.DS_Store +0 -0
  4. package/src/configs/components/button.json +7 -3
  5. package/src/configs/components/form/richText.json +1 -1
  6. package/src/configs/components/form/uploader.json +29 -1
  7. package/src/configs/components/form/uploaderFile.json +158 -0
  8. package/src/configs/components/image.json +12 -3
  9. package/src/configs/components/link.json +3 -3
  10. package/src/configs/components/richtextview.json +2 -2
  11. package/src/configs/components/scrollVeiw.json +5 -5
  12. package/src/configs/components/swiper.json +6 -6
  13. package/src/configs/components/tabs.json +3 -3
  14. package/src/configs/components/text.json +39 -4
  15. package/src/configs/index.js +5 -3
  16. package/src/mp/components/button/index.js +1 -0
  17. package/src/mp/components/button/index.wxss +8 -0
  18. package/src/mp/components/form/select/index.js +18 -0
  19. package/src/mp/components/form/uploader/index.js +26 -29
  20. package/src/mp/components/form/uploaderFile/index.js +247 -0
  21. package/src/mp/components/form/uploaderFile/index.json +9 -0
  22. package/src/mp/components/form/uploaderFile/index.wxml +46 -0
  23. package/src/mp/components/form/uploaderFile/index.wxss +104 -0
  24. package/src/mp/components/text/index.js +33 -0
  25. package/src/mp/components/text/index.wxml +1 -1
  26. package/src/mp/components/text/index.wxss +18 -0
  27. package/src/mp/index.json +1 -0
  28. package/src/mp/utils/platform.js +20 -0
  29. package/src/mp/utils/tcb.js +11 -0
  30. package/src/web/.DS_Store +0 -0
  31. package/src/web/actions/showModal/{index.jsx → index.tsx} +53 -3
  32. package/src/web/components/auth/index.js +2 -2
  33. package/src/web/components/button/index.css +9 -0
  34. package/src/web/components/button/{index.jsx → index.tsx} +27 -41
  35. package/src/web/components/container/{index.jsx → index.tsx} +6 -10
  36. package/src/web/components/drawer/index.tsx +57 -0
  37. package/src/web/components/form/checkbox/{index.jsx → index.tsx} +24 -48
  38. package/src/web/components/form/enumSelect/MultipleSelect.jsx +1 -6
  39. package/src/web/components/form/enumSelect/{NormalSelect.jsx → NormalSelect.tsx} +3 -14
  40. package/src/web/components/form/form/index.tsx +48 -0
  41. package/src/web/components/form/formcell/{index.jsx → index.tsx} +6 -13
  42. package/src/web/components/form/input/index.css +4 -0
  43. package/src/web/components/form/input/{index.jsx → index.tsx} +33 -67
  44. package/src/web/components/form/radio/{index.jsx → index.tsx} +19 -42
  45. package/src/web/components/form/{renderDecorator.jsx → renderDecorator.tsx} +1 -3
  46. package/src/web/components/form/select/{h5.jsx → h5.tsx} +18 -62
  47. package/src/web/components/form/select/{index.jsx → index.tsx} +51 -94
  48. package/src/web/components/form/select/region/{cities.js → cities.ts} +1 -1
  49. package/src/web/components/form/select/region/{index.js → index.ts} +3 -3
  50. package/src/web/components/form/select/region/{provinces.js → provinces.ts} +1 -1
  51. package/src/web/components/form/select/region/{regions.js → regions.ts} +1 -1
  52. package/src/web/components/form/select/time.jsx +2 -2
  53. package/src/web/components/form/switch/{index.jsx → index.tsx} +30 -47
  54. package/src/web/components/form/textarea/{index.jsx → index.tsx} +22 -55
  55. package/src/web/components/form/tips/{index.jsx → index.tsx} +8 -22
  56. package/src/web/components/form/types.d.ts +12 -0
  57. package/src/web/components/form/uploader/{index.jsx → index.tsx} +16 -14
  58. package/src/web/components/form/uploader/{uploader.h5.jsx → uploader.h5.tsx} +67 -57
  59. package/src/web/components/form/uploader/{uploader.pc.jsx → uploader.pc.tsx} +26 -43
  60. package/src/web/components/form/uploaderFile/fail.svg +12 -0
  61. package/src/web/components/form/uploaderFile/index.css +423 -0
  62. package/src/web/components/form/uploaderFile/index.jsx +30 -0
  63. package/src/web/components/form/uploaderFile/pending.svg +18 -0
  64. package/src/web/components/form/uploaderFile/success.svg +12 -0
  65. package/src/web/components/form/uploaderFile/uploadFile.h5.jsx +562 -0
  66. package/src/web/components/form/uploaderFile/uploadFile.pc.jsx +487 -0
  67. package/src/web/components/image/{image.jsx → image.tsx} +8 -21
  68. package/src/web/components/image/{index.jsx → index.tsx} +22 -37
  69. package/src/web/components/index.js +36 -1
  70. package/src/web/components/link/{index.jsx → index.tsx} +19 -36
  71. package/src/web/components/modal/{index.jsx → index.tsx} +24 -10
  72. package/src/web/components/picker/{datePicker.jsx → datePicker.tsx} +11 -12
  73. package/src/web/components/picker/{picker.jsx → picker.tsx} +7 -10
  74. package/src/web/components/picker/{timePicker.jsx → timePicker.tsx} +8 -16
  75. package/src/web/components/richText/{const.js → const.ts} +0 -0
  76. package/src/web/components/richText/index.jsx +5 -2
  77. package/src/web/components/richTextView/index.tsx +67 -0
  78. package/src/web/components/scrollView/{index.jsx → index.tsx} +18 -33
  79. package/src/web/components/slot/{index.jsx → index.tsx} +8 -9
  80. package/src/web/components/swiper/index.css +1 -1
  81. package/src/web/components/swiper/{index.jsx → index.tsx} +66 -73
  82. package/src/web/components/tabs/index.tsx +33 -0
  83. package/src/web/components/tabs/{tabs.h5.jsx → tabs.h5.tsx} +4 -33
  84. package/src/web/components/tabs/{tabs.pc.jsx → tabs.pc.tsx} +5 -39
  85. package/src/web/components/text/index.css +18 -0
  86. package/src/web/components/text/index.tsx +69 -0
  87. package/src/web/components/uploaderFileView/index.css +11 -0
  88. package/src/web/components/uploaderFileView/index.jsx +75 -0
  89. package/src/web/components/uploaderView/{index.jsx → index.tsx} +12 -15
  90. package/src/web/types.d.ts +20 -0
  91. package/src/web/utils/constant.js +2 -0
  92. package/src/web/utils/loading-fallback.tsx +2 -0
  93. package/src/web/utils/platform.js +77 -6
  94. package/src/web/utils/tcb.js +0 -8
  95. package/src/web/utils/useSetState.ts +14 -0
  96. package/src/web/utils/useSyncValue.ts +17 -0
  97. package/src/web/wedatheme/.code.yml +16 -0
  98. package/src/web/wedatheme/.editorconfig +9 -0
  99. package/src/web/wedatheme/.eslintrc +20 -0
  100. package/src/web/wedatheme/.git +1 -0
  101. package/src/web/wedatheme/.gitignore +5 -0
  102. package/src/web/wedatheme/.npmrc +1 -0
  103. package/src/web/wedatheme/.orange-ci.yml +55 -0
  104. package/src/web/wedatheme/.vscode/extensions.json +3 -0
  105. package/src/web/wedatheme/.vscode/settings.json +11 -0
  106. package/src/web/wedatheme/README.md +50 -0
  107. package/src/web/wedatheme/i18n/README.md +4 -0
  108. package/src/web/wedatheme/i18n/translation/index.js +10 -0
  109. package/src/web/wedatheme/i18n/translation/zh.js +15 -0
  110. package/src/web/wedatheme/jsconfig.json +15 -0
  111. package/src/web/wedatheme/mock/app.js +42 -0
  112. package/src/web/wedatheme/mock/history-context.js +8 -0
  113. package/src/web/wedatheme/mock/index.js +3 -0
  114. package/src/web/wedatheme/mock/layout/AppLayout.jsx +28 -0
  115. package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +50 -0
  116. package/src/web/wedatheme/mock/layout/index.js +1 -0
  117. package/src/web/wedatheme/package-lock.json +14335 -0
  118. package/src/web/wedatheme/package.json +61 -0
  119. package/src/web/wedatheme/public/index.html +19 -0
  120. package/src/web/wedatheme/src/app.js +22 -0
  121. package/src/web/wedatheme/src/components/README.md +4 -0
  122. package/src/web/wedatheme/src/configs/menu.js +9 -0
  123. package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +402 -0
  124. package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +729 -0
  125. package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +18 -0
  126. package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +1276 -0
  127. package/src/web/wedatheme/src/routes/wedatheme-index/index.js +1 -0
  128. package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +3 -0
  129. package/src/web/wedatheme/src/routes/weui2td/index.js +1 -0
  130. package/src/web/wedatheme/src/styles/_btn.scss +24 -0
  131. package/src/web/wedatheme/src/styles/_icon.scss +653 -0
  132. package/src/web/wedatheme/src/styles/_map.scss +12 -0
  133. package/src/web/wedatheme/src/styles/_middle.scss +340 -0
  134. package/src/web/wedatheme/src/styles/_upload.scss +47 -0
  135. package/src/web/wedatheme/src/styles/assets/alert-close.svg +3 -0
  136. package/src/web/wedatheme/src/styles/assets/and.svg +12 -0
  137. package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +12 -0
  138. package/src/web/wedatheme/src/styles/assets/arrowdown.svg +12 -0
  139. package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +12 -0
  140. package/src/web/wedatheme/src/styles/assets/arrowleft.svg +12 -0
  141. package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +12 -0
  142. package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +12 -0
  143. package/src/web/wedatheme/src/styles/assets/arrowright.svg +12 -0
  144. package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +12 -0
  145. package/src/web/wedatheme/src/styles/assets/arrowup.svg +12 -0
  146. package/src/web/wedatheme/src/styles/assets/bell-warning.svg +3 -0
  147. package/src/web/wedatheme/src/styles/assets/btnback.svg +12 -0
  148. package/src/web/wedatheme/src/styles/assets/calendar.svg +12 -0
  149. package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +12 -0
  150. package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +12 -0
  151. package/src/web/wedatheme/src/styles/assets/chartline-1.svg +9 -0
  152. package/src/web/wedatheme/src/styles/assets/chartline.svg +9 -0
  153. package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +12 -0
  154. package/src/web/wedatheme/src/styles/assets/chartpie.svg +12 -0
  155. package/src/web/wedatheme/src/styles/assets/check-1.svg +8 -0
  156. package/src/web/wedatheme/src/styles/assets/check-2.svg +1 -0
  157. package/src/web/wedatheme/src/styles/assets/check.svg +8 -0
  158. package/src/web/wedatheme/src/styles/assets/close-1.svg +8 -0
  159. package/src/web/wedatheme/src/styles/assets/close.svg +8 -0
  160. package/src/web/wedatheme/src/styles/assets/consult.svg +8 -0
  161. package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +12 -0
  162. package/src/web/wedatheme/src/styles/assets/convertip.svg +12 -0
  163. package/src/web/wedatheme/src/styles/assets/copy.svg +12 -0
  164. package/src/web/wedatheme/src/styles/assets/cur-active.svg +12 -0
  165. package/src/web/wedatheme/src/styles/assets/cur.svg +12 -0
  166. package/src/web/wedatheme/src/styles/assets/daily.svg +13 -0
  167. package/src/web/wedatheme/src/styles/assets/database.svg +12 -0
  168. package/src/web/wedatheme/src/styles/assets/datasheet.svg +12 -0
  169. package/src/web/wedatheme/src/styles/assets/delete-white.svg +8 -0
  170. package/src/web/wedatheme/src/styles/assets/delete.svg +8 -0
  171. package/src/web/wedatheme/src/styles/assets/detail.svg +13 -0
  172. package/src/web/wedatheme/src/styles/assets/dismiss.svg +8 -0
  173. package/src/web/wedatheme/src/styles/assets/download.svg +12 -0
  174. package/src/web/wedatheme/src/styles/assets/drop.svg +15 -0
  175. package/src/web/wedatheme/src/styles/assets/email-error.svg +14 -0
  176. package/src/web/wedatheme/src/styles/assets/email-warning.svg +12 -0
  177. package/src/web/wedatheme/src/styles/assets/email.svg +14 -0
  178. package/src/web/wedatheme/src/styles/assets/emailv.svg +12 -0
  179. package/src/web/wedatheme/src/styles/assets/error-1.svg +8 -0
  180. package/src/web/wedatheme/src/styles/assets/error-filled.svg +3 -0
  181. package/src/web/wedatheme/src/styles/assets/error.svg +8 -0
  182. package/src/web/wedatheme/src/styles/assets/externallink.svg +12 -0
  183. package/src/web/wedatheme/src/styles/assets/favorable.svg +9 -0
  184. package/src/web/wedatheme/src/styles/assets/filter.svg +12 -0
  185. package/src/web/wedatheme/src/styles/assets/firstpage.svg +13 -0
  186. package/src/web/wedatheme/src/styles/assets/folderclose.svg +8 -0
  187. package/src/web/wedatheme/src/styles/assets/folderopen.svg +8 -0
  188. package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +12 -0
  189. package/src/web/wedatheme/src/styles/assets/fullsreen.svg +12 -0
  190. package/src/web/wedatheme/src/styles/assets/globe-gray.svg +12 -0
  191. package/src/web/wedatheme/src/styles/assets/guide.svg +9 -0
  192. package/src/web/wedatheme/src/styles/assets/help.svg +8 -0
  193. package/src/web/wedatheme/src/styles/assets/hide.svg +8 -0
  194. package/src/web/wedatheme/src/styles/assets/info.svg +8 -0
  195. package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +8 -0
  196. package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +3 -0
  197. package/src/web/wedatheme/src/styles/assets/infoblue.svg +8 -0
  198. package/src/web/wedatheme/src/styles/assets/jump-black.svg +12 -0
  199. package/src/web/wedatheme/src/styles/assets/jump.svg +12 -0
  200. package/src/web/wedatheme/src/styles/assets/lastpage.svg +13 -0
  201. package/src/web/wedatheme/src/styles/assets/loading.svg +12 -0
  202. package/src/web/wedatheme/src/styles/assets/local.svg +10 -0
  203. package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +6 -0
  204. package/src/web/wedatheme/src/styles/assets/menu-fold.svg +6 -0
  205. package/src/web/wedatheme/src/styles/assets/minus.svg +12 -0
  206. package/src/web/wedatheme/src/styles/assets/monitor.svg +12 -0
  207. package/src/web/wedatheme/src/styles/assets/more.svg +8 -0
  208. package/src/web/wedatheme/src/styles/assets/multi-line.svg +12 -0
  209. package/src/web/wedatheme/src/styles/assets/news.svg +3 -0
  210. package/src/web/wedatheme/src/styles/assets/not.svg +12 -0
  211. package/src/web/wedatheme/src/styles/assets/notice.svg +8 -0
  212. package/src/web/wedatheme/src/styles/assets/pencil.svg +12 -0
  213. package/src/web/wedatheme/src/styles/assets/pending-1.svg +8 -0
  214. package/src/web/wedatheme/src/styles/assets/pending-gray.svg +8 -0
  215. package/src/web/wedatheme/src/styles/assets/pending.svg +8 -0
  216. package/src/web/wedatheme/src/styles/assets/percent-blue.svg +16 -0
  217. package/src/web/wedatheme/src/styles/assets/percent.svg +16 -0
  218. package/src/web/wedatheme/src/styles/assets/phone-error.svg +11 -0
  219. package/src/web/wedatheme/src/styles/assets/phone-warning.svg +9 -0
  220. package/src/web/wedatheme/src/styles/assets/phone.svg +12 -0
  221. package/src/web/wedatheme/src/styles/assets/phonev.svg +9 -0
  222. package/src/web/wedatheme/src/styles/assets/plus.svg +12 -0
  223. package/src/web/wedatheme/src/styles/assets/qq.svg +11 -0
  224. package/src/web/wedatheme/src/styles/assets/realname.svg +8 -0
  225. package/src/web/wedatheme/src/styles/assets/realnamev.svg +9 -0
  226. package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +12 -0
  227. package/src/web/wedatheme/src/styles/assets/refresh.svg +12 -0
  228. package/src/web/wedatheme/src/styles/assets/relationship-1.svg +12 -0
  229. package/src/web/wedatheme/src/styles/assets/relationship.svg +12 -0
  230. package/src/web/wedatheme/src/styles/assets/remind.svg +8 -0
  231. package/src/web/wedatheme/src/styles/assets/search.svg +8 -0
  232. package/src/web/wedatheme/src/styles/assets/setting.svg +12 -0
  233. package/src/web/wedatheme/src/styles/assets/shopcart.svg +8 -0
  234. package/src/web/wedatheme/src/styles/assets/show.svg +8 -0
  235. package/src/web/wedatheme/src/styles/assets/sort.svg +12 -0
  236. package/src/web/wedatheme/src/styles/assets/sortdown.svg +12 -0
  237. package/src/web/wedatheme/src/styles/assets/sortup.svg +12 -0
  238. package/src/web/wedatheme/src/styles/assets/success-1.svg +8 -0
  239. package/src/web/wedatheme/src/styles/assets/success-filled.svg +3 -0
  240. package/src/web/wedatheme/src/styles/assets/success.svg +8 -0
  241. package/src/web/wedatheme/src/styles/assets/table-1.svg +12 -0
  242. package/src/web/wedatheme/src/styles/assets/table.svg +12 -0
  243. package/src/web/wedatheme/src/styles/assets/tag.svg +12 -0
  244. package/src/web/wedatheme/src/styles/assets/time.svg +12 -0
  245. package/src/web/wedatheme/src/styles/assets/transfer.svg +8 -0
  246. package/src/web/wedatheme/src/styles/assets/trenddown.svg +12 -0
  247. package/src/web/wedatheme/src/styles/assets/trendup.svg +12 -0
  248. package/src/web/wedatheme/src/styles/assets/viewgrid.svg +12 -0
  249. package/src/web/wedatheme/src/styles/assets/viewlist.svg +12 -0
  250. package/src/web/wedatheme/src/styles/assets/warning-1.svg +8 -0
  251. package/src/web/wedatheme/src/styles/assets/warning-filled.svg +3 -0
  252. package/src/web/wedatheme/src/styles/assets/warning.svg +8 -0
  253. package/src/web/wedatheme/src/styles/assets/wechat-error.svg +14 -0
  254. package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +12 -0
  255. package/src/web/wedatheme/src/styles/assets/wechat.svg +12 -0
  256. package/src/web/wedatheme/src/styles/assets/wechatv.svg +12 -0
  257. package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +4 -0
  258. package/src/web/wedatheme/src/styles/assets/zoom-in.svg +4 -0
  259. package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +4 -0
  260. package/src/web/wedatheme/src/styles/assets/zoom-out.svg +4 -0
  261. package/src/web/wedatheme/src/styles/index.scss +18 -0
  262. package/src/web/wedatheme/src/styles/main.css +166 -0
  263. package/src/web/wedatheme/src/styles/theme/_alert.scss +73 -0
  264. package/src/web/wedatheme/src/styles/theme/_badge.scss +38 -0
  265. package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +7 -0
  266. package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +8 -0
  267. package/src/web/wedatheme/src/styles/theme/_bubble.scss +24 -0
  268. package/src/web/wedatheme/src/styles/theme/_button.scss +212 -0
  269. package/src/web/wedatheme/src/styles/theme/_card.scss +12 -0
  270. package/src/web/wedatheme/src/styles/theme/_cascader.scss +43 -0
  271. package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +83 -0
  272. package/src/web/wedatheme/src/styles/theme/_datepicker.scss +36 -0
  273. package/src/web/wedatheme/src/styles/theme/_dialog.scss +39 -0
  274. package/src/web/wedatheme/src/styles/theme/_divider.scss +1 -0
  275. package/src/web/wedatheme/src/styles/theme/_drawer.scss +15 -0
  276. package/src/web/wedatheme/src/styles/theme/_dropdown.scss +53 -0
  277. package/src/web/wedatheme/src/styles/theme/_form.scss +38 -0
  278. package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
  279. package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +85 -0
  280. package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +16 -0
  281. package/src/web/wedatheme/src/styles/theme/_link.scss +14 -0
  282. package/src/web/wedatheme/src/styles/theme/_list.scss +41 -0
  283. package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +14 -0
  284. package/src/web/wedatheme/src/styles/theme/_notification.scss +27 -0
  285. package/src/web/wedatheme/src/styles/theme/_pagination.scss +22 -0
  286. package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +4 -0
  287. package/src/web/wedatheme/src/styles/theme/_progress.scss +28 -0
  288. package/src/web/wedatheme/src/styles/theme/_region-select.scss +17 -0
  289. package/src/web/wedatheme/src/styles/theme/_search.scss +18 -0
  290. package/src/web/wedatheme/src/styles/theme/_segment.scss +69 -0
  291. package/src/web/wedatheme/src/styles/theme/_slider.scss +18 -0
  292. package/src/web/wedatheme/src/styles/theme/_status.scss +4 -0
  293. package/src/web/wedatheme/src/styles/theme/_steps.scss +68 -0
  294. package/src/web/wedatheme/src/styles/theme/_switch.scss +11 -0
  295. package/src/web/wedatheme/src/styles/theme/_table.scss +44 -0
  296. package/src/web/wedatheme/src/styles/theme/_tabs.scss +44 -0
  297. package/src/web/wedatheme/src/styles/theme/_tag-search.scss +9 -0
  298. package/src/web/wedatheme/src/styles/theme/_tag.scss +48 -0
  299. package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
  300. package/src/web/wedatheme/src/styles/theme/_toast.scss +3 -0
  301. package/src/web/wedatheme/src/styles/theme/_transfer.scss +9 -0
  302. package/src/web/wedatheme/src/styles/theme/_tree.scss +11 -0
  303. package/src/web/wedatheme/src/styles/theme/_upload.scss +14 -0
  304. package/src/web/wedatheme/src/styles/theme/_variables.scss +140 -0
  305. package/src/web/wedatheme/src/styles/theme/index.scss +91 -0
  306. package/src/web/wedatheme/style-package/README.md +31 -0
  307. package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +627 -0
  308. package/src/web/wedatheme/style-package/index.css +3 -0
  309. package/src/web/wedatheme/style-package/package.json +15 -0
  310. package/src/web/wedatheme/tea.config.js +66 -0
  311. package/src/web/wedatheme/webpack/css.config.js +114 -0
  312. package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +23 -0
  313. package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +32 -0
  314. package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +66 -0
  315. package/src/configs/components/button.svg +0 -18
  316. package/src/web/components/drawer/index.jsx +0 -64
  317. package/src/web/components/form/enumSelect/hooks/index.js +0 -49
  318. package/src/web/components/form/form/index.jsx +0 -76
  319. package/src/web/components/richTextView/index.jsx +0 -89
  320. package/src/web/components/tabs/index.jsx +0 -10
  321. package/src/web/components/text/index.jsx +0 -71
  322. package/src/web/utils/useSyncValue.js +0 -14
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 文件字节转换
3
+ */
4
+ export const transSize = (size) => {
5
+ const b = parseInt(size) || 0;
6
+ const getBig = (d) => Math.ceil(d / 1024) || 0;
7
+ if (b < 1024) {
8
+ return `${size}B`;
9
+ }
10
+ const k = getBig(size);
11
+ if (k < 1024) {
12
+ return `${k}K`;
13
+ }
14
+ const m = getBig(k);
15
+ if (m < 1024) {
16
+ return `${m}M`;
17
+ }
18
+ const g = getBig(m);
19
+ return `${g}G`;
20
+ };
@@ -1,3 +1,14 @@
1
1
  export async function getCloudInstance() {
2
2
  return await getApp().app.cloud.getCloudInstance();
3
3
  }
4
+
5
+ /**
6
+ * 获取单个临时链接
7
+ * 单个cos文件,返回字符串
8
+ * 多个cos文件,返回 {fileID: src} 这样的对象
9
+ */
10
+ export async function getTempFileURL(data) {
11
+ if (getApp().app.cloud.getTempFileURL) {
12
+ return await getApp().app.cloud.getTempFileURL(data);
13
+ }
14
+ }
Binary file
@@ -1,6 +1,56 @@
1
+ import * as ReactDOM from 'react-dom';
1
2
  import * as React from 'react';
2
- import { Modal, Button, Text } from 'tea-component';
3
- import 'tea-component/es/tea.css';
3
+ import { forwardRef, useState, useEffect, useImperativeHandle } from 'react';
4
+ import { Modal, Button, Text, ModalProps, ConfigProvider } from 'tea-component';
5
+ import type { ModalShowHandle, ModalShowOptions } from 'tea-component/lib/modal/ModalShow';
6
+
7
+
8
+ interface ModalShowInstance {
9
+ setVisible: React.Dispatch<React.SetStateAction<boolean>>;
10
+ }
11
+
12
+ const ModalShow = forwardRef(function ModalShow(
13
+ props: ModalProps,
14
+ ref: React.Ref<ModalShowInstance>
15
+ ) {
16
+ const [visible, setVisible] = useState(false);
17
+
18
+ // 渲染之后,马上显示
19
+ useEffect(() => {
20
+ setVisible(true);
21
+ }, []);
22
+
23
+ // 实例 ref 到外部
24
+ useImperativeHandle(ref, () => ({ setVisible }));
25
+
26
+ return <Modal {...props} visible={visible} />;
27
+ });
28
+
29
+
30
+ function show(options: ModalShowOptions): ModalShowHandle {
31
+ const el = document.createElement("div");
32
+
33
+ const instanceRef = React.createRef<ModalShowInstance>();
34
+
35
+ ReactDOM.render(
36
+ <ConfigProvider classPrefix="wedatea2td">
37
+ <ModalShow
38
+ {...options}
39
+ ref={instanceRef}
40
+ onExited={() => ReactDOM.unmountComponentAtNode(el)}
41
+ />
42
+ </ConfigProvider>,
43
+ el
44
+ );
45
+
46
+ return {
47
+ destroy: () => {
48
+ if (instanceRef.current) {
49
+ instanceRef.current.setVisible(false);
50
+ }
51
+ },
52
+ };
53
+ }
4
54
 
5
55
  export default async function showModal({ data }) {
6
56
  const {
@@ -19,7 +69,7 @@ export default async function showModal({ data }) {
19
69
  return new Promise((resolve) => {
20
70
  const base = { cancel: false, confirm: false, content: null };
21
71
 
22
- const modal = Modal.show({
72
+ const modal = show({
23
73
  caption: title,
24
74
  children: (
25
75
  <>
@@ -17,7 +17,7 @@ export default function Auth({ className }) {
17
17
  [className]: className,
18
18
  });
19
19
 
20
- const [authState, setAuthState] = React.useState(AUTHSTATE.SignIn);
20
+ const [authState, setAuthState] = React.useState(AUTHSTATE.SIGNIN);
21
21
  const [user, setUser] = React.useState({});
22
22
  const [tcb, setTcb] = React.useState(undefined);
23
23
 
@@ -42,7 +42,7 @@ export default function Auth({ className }) {
42
42
  // console.log('<<<<<<<wedaaaa', tcb);
43
43
 
44
44
  return tcb ? (
45
- authState === AUTHSTATE.SignedIn && user ? (
45
+ authState === AUTHSTATE.SIGNEDIN && user ? (
46
46
  <div className={cls}>
47
47
  <header className="tcb-header">
48
48
  {/* Hello, {user.uid} */}
@@ -9,3 +9,12 @@
9
9
  .weda-button.weda-button-mini {
10
10
  font-size: smaller;
11
11
  }
12
+ .weda-button.weda-button-large {
13
+ font-size: large;
14
+ display: block;
15
+ padding-left: 14px;
16
+ padding-right: 14px;
17
+ text-align: center;
18
+ width: 100%;
19
+ }
20
+
@@ -1,14 +1,13 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
- import { Button as TeaButton, ConfigProvider } from 'tea-component';
2
+ import { Button as TeaButton, ButtonProps, ConfigProvider } from 'tea-component';
4
3
  import classNames from '../../utils/classnames';
4
+ import { usePlatform } from '../../utils/platform';
5
+ import { CommonPropsType, unknownFunction } from '../../types';
5
6
 
6
7
  import './index.css';
7
8
 
8
- import { usePlatform } from '../../utils/platform';
9
-
10
9
  // 不用 react-weui 而直接用底层实现的原因是 react-weui 不能支持表单类型
11
- export default function Button({
10
+ const Button = ({
12
11
  text = '按钮',
13
12
  size = 'default',
14
13
  type = 'primary',
@@ -16,16 +15,17 @@ export default function Button({
16
15
  formType,
17
16
  loading = false,
18
17
  disabled = false,
19
- events = {},
18
+ events = ({} as Record<string, unknownFunction>),
20
19
  className,
21
20
  style,
22
21
  id,
23
- }) {
24
- const platform = usePlatform();
25
- const isH5 = platform === 'h5';
22
+ }: PropsType) => {
23
+ const platform: string = usePlatform();
24
+ const isH5: boolean = platform === 'h5';
26
25
  const cls = classNames({
27
26
  'weda-ui': true,
28
27
  'weda-button': true,
28
+ 'weda-button-large': size === 'large',
29
29
  'weda-button-mini': size === 'mini',
30
30
  'weui-btn': isH5,
31
31
  'weui-btn_mini': isH5 && size === 'mini',
@@ -57,8 +57,6 @@ export default function Button({
57
57
  );
58
58
  }
59
59
 
60
- let teaType = type;
61
- if(teaType === 'warn') teaType = 'error';
62
60
  return (
63
61
  <ConfigProvider classPrefix="wedatea2td">
64
62
  <TeaButton
@@ -66,7 +64,7 @@ return (
66
64
  onClick={onClick}
67
65
  disabled={disabled}
68
66
  htmlType={formType}
69
- type={teaType}
67
+ type={toTeaButtonType(type)}
70
68
  style={style}
71
69
  className={cls}
72
70
  id={id}
@@ -77,52 +75,40 @@ return (
77
75
  );
78
76
  }
79
77
 
80
- Button.propTypes = {
78
+ function toTeaButtonType(type: PropsType['type'] ): ButtonProps['type'] {
79
+ if(type === 'primary') return type;
80
+ if(type === 'warn') return 'error';
81
+ if(type === 'default') return 'primary';
82
+ return 'primary';
83
+ }
84
+
85
+ export interface PropsType extends CommonPropsType {
81
86
  /**
82
87
  * 内容
83
88
  */
84
- text: PropTypes.string,
85
-
89
+ text?: string;
86
90
  /**
87
91
  * 样式类型
88
92
  */
89
- type: PropTypes.oneOf(['primary', 'warn', 'default']),
90
-
93
+ type?: "primary" | "warn" | "default";
91
94
  /**
92
95
  * 大小
93
96
  */
94
- size: PropTypes.oneOf(['default', 'mini']),
95
-
97
+ size?: "default" | "mini" | "large";
96
98
  /**
97
99
  * 是否禁用
98
100
  */
99
- disabled: PropTypes.bool,
100
-
101
+ disabled?: boolean;
101
102
  /**
102
103
  * 加载中
103
104
  */
104
- loading: PropTypes.bool,
105
-
106
- /**
107
- * 组件事件
108
- */
109
- events: PropTypes.objectOf(PropTypes.func),
105
+ loading?: boolean;
110
106
 
111
107
  /**
112
108
  * 用于 form 类型
113
109
  */
114
- formType: PropTypes.oneOf(['button', 'submit', 'reset']),
115
-
116
- className: PropTypes.string,
117
- contentSlot: PropTypes.string,
118
- style: PropTypes.object,
119
- id: PropTypes.string,
120
- };
110
+ formType?: "button" | "submit" | "reset";
111
+ contentSlot?: string;
112
+ }
121
113
 
122
- /**
123
- * 默认属性
124
- */
125
- Button.defaultProps = {
126
- type: 'primary',
127
- size: 'default',
128
- };
114
+ export default Button;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
2
+ import { CommonPropsType } from '../../types';
3
3
  import classNames from '../../utils/classnames';
4
4
 
5
5
  export default function Container({
@@ -9,7 +9,7 @@ export default function Container({
9
9
  className,
10
10
  style,
11
11
  id
12
- }) {
12
+ }: PropsType) {
13
13
  return (
14
14
  <div
15
15
  role="container"
@@ -29,11 +29,7 @@ export default function Container({
29
29
  );
30
30
  }
31
31
 
32
- Container.propTypes = {
33
- className: PropTypes.string,
34
- children: PropTypes.any,
35
- title: PropTypes.string,
36
- events: PropTypes.objectOf(PropTypes.func),
37
- id: PropTypes.string,
38
- style: PropTypes.object
39
- };
32
+ export interface PropsType extends CommonPropsType {
33
+ title?: string;
34
+
35
+ }
@@ -0,0 +1,57 @@
1
+ import * as React from 'react';
2
+ import { ConfigProvider, Drawer, DrawerProps } from 'tea-component';
3
+ import { CommonPropsType } from '../../types';
4
+
5
+ const TeaDrawer = ({
6
+ size,
7
+ title,
8
+ style,
9
+ events,
10
+ visible,
11
+ subtitle,
12
+ showMask,
13
+ className,
14
+ placement,
15
+ extraSlot,
16
+ footerSlot,
17
+ childrenSlot,
18
+ disableCloseIcon,
19
+ outerClickClosable,
20
+ }: PropsType) => {
21
+ const eventsList = {
22
+ onClose: () => events?.onClose && events.onClose({}),
23
+ onExited: () => events?.onExited && events.onExited({}),
24
+ };
25
+ return (
26
+ <ConfigProvider classPrefix="wedatea2td">
27
+ <Drawer
28
+ size={size}
29
+ title={title}
30
+ style={style}
31
+ visible={visible}
32
+ extra={extraSlot}
33
+ footer={footerSlot}
34
+ subtitle={subtitle}
35
+ showMask={showMask}
36
+ className={className}
37
+ placement={placement}
38
+ disableCloseIcon={disableCloseIcon}
39
+ outerClickClosable={outerClickClosable}
40
+ {...eventsList}
41
+ >
42
+ {childrenSlot}
43
+ </Drawer>
44
+ </ConfigProvider>
45
+ );
46
+ };
47
+
48
+ export interface PropsType extends CommonPropsType, Pick<DrawerProps, 'size'|'title'|'showMask'|'placement'|'disableCloseIcon'|'outerClickClosable'|'subtitle'> {
49
+ visible: boolean;
50
+ title?: string;
51
+ extraSlot?: React.ReactNode;
52
+ footerSlot?: React.ReactNode;
53
+ childrenSlot?: React.ReactNode;
54
+ }
55
+
56
+ export default TeaDrawer;
57
+ export { TeaDrawer };
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
  import { Checkbox as TeaCheckbox, ConfigProvider } from 'tea-component';
4
3
 
5
4
  import classNames from '../../../utils/classnames';
@@ -8,23 +7,24 @@ import isObjectEqual from '../../../utils/isObjectEqual';
8
7
  import fromEntries from 'object.fromentries';
9
8
  import { usePlatform } from '../../../utils/platform';
10
9
  import { renderDecorator } from '../renderDecorator';
10
+ import { CommonFormPropsType } from '../types';
11
11
 
12
12
  export default function Checkbox({
13
13
  // 系统属性
14
14
  id,
15
15
  className,
16
16
  style,
17
- events,
17
+ events = {},
18
18
  // 组件属性
19
- name,
20
- label,
19
+ name = 'formCheckbox',
20
+ label = '标题',
21
21
  labelVisible = true,
22
- range,
23
- layout,
24
- disabled,
25
- requiredFlag,
22
+ range = [],
23
+ layout = 'horizontal',
24
+ disabled = false,
25
+ requiredFlag = false,
26
26
  decorator
27
- }) {
27
+ }: PropsType) {
28
28
  const cls = classNames({
29
29
  'weda-ui': true,
30
30
  'weda-checkbox': true,
@@ -45,7 +45,7 @@ export default function Checkbox({
45
45
  : range.filter(({checked}) => checked).map(({value}) => value)
46
46
  );
47
47
  // 两次range不同时, 需要刷新checkedItems
48
- const prevRangeRef = React.useRef();
48
+ const prevRangeRef = React.useRef<object[]>();
49
49
  React.useEffect(() => {
50
50
  if (!isObjectEqual(prevRangeRef.current, range)) {
51
51
  prevRangeRef.current = range;
@@ -64,15 +64,17 @@ export default function Checkbox({
64
64
  e.stopPropagation();
65
65
  const checked = !checkedItems[value];
66
66
  const newMap = Object.assign({}, checkedItems, { [value]: checked });
67
- setCheckedItems(newMap);
68
- events.change(
69
- {
70
- value: Object.entries(newMap)
71
- .filter(([, checked]) => checked)
72
- .map(([value]) => value),
73
- },
74
- { originEvent: e }
75
- );
67
+ if (!disabled) {
68
+ setCheckedItems(newMap);
69
+ events.change(
70
+ {
71
+ value: Object.entries(newMap)
72
+ .filter(([, checked]) => checked)
73
+ .map(([value]) => value),
74
+ },
75
+ { originEvent: e }
76
+ );
77
+ }
76
78
  };
77
79
  return onChange;
78
80
  };
@@ -164,32 +166,6 @@ export default function Checkbox({
164
166
  );
165
167
  }
166
168
 
167
- Checkbox.propTypes = {
168
- // 系统属性
169
- id: PropTypes.string,
170
- className: PropTypes.string,
171
- style: PropTypes.string,
172
- events: PropTypes.objectOf(PropTypes.func),
173
- // 组件属性
174
- name: PropTypes.string,
175
- label: PropTypes.string,
176
- labelVisible: PropTypes.bool,
177
- range: PropTypes.array,
178
- layout: PropTypes.oneOf(['horizontal', 'vertical']),
179
- disabled: PropTypes.bool,
180
- requiredFlag: PropTypes.bool,
181
- decorator: PropTypes.oneOfType([PropTypes.array, PropTypes.node])
182
- };
183
-
184
- Checkbox.defaultProps = {
185
- // 系统属性
186
- events: {},
187
- // 组件属性
188
- name: 'formCheckbox',
189
- label: '标题',
190
- labelVisible: true,
191
- range: [],
192
- layout: 'horizontal',
193
- disabled: false,
194
- requiredFlag: false,
195
- };
169
+ export interface PropsType extends CommonFormPropsType {
170
+ range?: {label: string, value: any; [key: string]: any}[];
171
+ }
@@ -5,7 +5,6 @@ import SelectContainer from './SelectContainer';
5
5
 
6
6
  import { normalProps } from './props/defaultProps';
7
7
  import { propTypes } from './props/propsTypes';
8
- import useOptions from './hooks';
9
8
 
10
9
  const MultipleSelect = ({
11
10
  // 系统属性
@@ -31,14 +30,10 @@ const MultipleSelect = ({
31
30
  virtual,
32
31
  searchable,
33
32
  size,
33
+ options,
34
34
  // 业务属性
35
- enumType,
36
- customEnum,
37
- optionId,
38
35
  isModelApp,
39
36
  }) => {
40
- const options = useOptions({ enumType, optionId, customEnum });
41
-
42
37
  const onSelectChange = (values) => {
43
38
  // @ts-ignore
44
39
  events.change && events.change({ value: values });
@@ -5,19 +5,11 @@ import SelectContainer from './SelectContainer';
5
5
 
6
6
  import { multipleProps } from './props/defaultProps';
7
7
  import { propTypes } from './props/propsTypes';
8
- import useOptions from './hooks';
8
+ import { useSyncValue } from '../../../utils/useSyncValue';
9
9
 
10
10
  const { useState, useEffect } = React;
11
11
 
12
- const useValue = (value) => {
13
- const [selectedValue, setSelectedValue] = useState('');
14
12
 
15
- useEffect(() => {
16
- setSelectedValue(value);
17
- }, [value]);
18
-
19
- return [selectedValue, setSelectedValue];
20
- };
21
13
 
22
14
  const NormalSelect = ({
23
15
  // 系统属性
@@ -42,14 +34,11 @@ const NormalSelect = ({
42
34
  virtual,
43
35
  searchable,
44
36
  size,
37
+ options,
45
38
  // 业务属性
46
- enumType,
47
- customEnum,
48
- optionId,
49
39
  isModelApp,
50
40
  }) => {
51
- const options = useOptions({ enumType, optionId, customEnum });
52
- const [selectedValue, setSelectedValue] = useValue(value);
41
+ const [selectedValue, setSelectedValue] = useSyncValue(value);
53
42
 
54
43
  const onSelectChange = (value) => {
55
44
  // @ts-ignore
@@ -0,0 +1,48 @@
1
+ import * as React from 'react';
2
+ import classNames from '../../../utils/classnames';
3
+ import './index.css';
4
+ import {ConfigProvider, Form as TeaForm} from 'tea-component';
5
+ import { usePlatform } from '../../../utils/platform';
6
+ import { CommonFormPropsType } from '../types';
7
+
8
+ export default function Form({
9
+ // 系统属性
10
+ className,
11
+ // 组件属性
12
+ // title,
13
+ // description,
14
+ // tips,
15
+ contentSlot,
16
+ // buttonSlot,
17
+ style,
18
+ id,
19
+ }) {
20
+ const platform = usePlatform();
21
+ const cls = classNames({
22
+ 'weda-ui': true,
23
+ 'weda-form': true,
24
+ 'weui-form': platform === 'h5',
25
+ [className]: className,
26
+ });
27
+ if(platform === 'pc') {
28
+ return (
29
+ <ConfigProvider classPrefix="wedatea2td">
30
+ {/** @ts-expect-error tea form id */}
31
+ <TeaForm className={cls} style={style} id={id}>
32
+ {contentSlot}
33
+ </TeaForm>
34
+ </ConfigProvider>
35
+ );
36
+ }
37
+ return (
38
+ <div className={cls} style={style} id={id}>
39
+ <div className="weui-cells__group weui-cells__group_form">
40
+ {contentSlot}
41
+ </div>
42
+ </div>
43
+ );
44
+ }
45
+
46
+ export interface PropsType extends CommonFormPropsType {
47
+ contentSlot?: any;
48
+ }
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
 
4
3
  import classNames from '../../../utils/classnames';
5
4
  import './index.css';
6
5
  import { usePlatform } from '../../../utils/platform';
7
6
  import { ConfigProvider, Form as TeaForm } from 'tea-component';
7
+ import { CommonFormPropsType } from '../types';
8
8
 
9
9
  export default function FormCell({
10
10
  className,
@@ -15,7 +15,7 @@ export default function FormCell({
15
15
  multiCell,
16
16
  requiredFlag,
17
17
  size
18
- }) {
18
+ }: PropsType) {
19
19
  const platform = usePlatform();
20
20
  const isFlex = layout !== 'vertical';
21
21
 
@@ -78,14 +78,7 @@ export default function FormCell({
78
78
  );
79
79
  }
80
80
 
81
- FormCell.propTypes = {
82
- className: PropTypes.string,
83
- style: PropTypes.object,
84
- label: PropTypes.string,
85
- labelVisible: PropTypes.bool,
86
- layout: PropTypes.string,
87
- children: PropTypes.any,
88
- multiCell: PropTypes.bool,
89
- requiredFlag: PropTypes.bool,
90
- size: PropTypes.string
91
- };
81
+ export interface PropsType extends CommonFormPropsType {
82
+ multiCell?: boolean;
83
+ size?: string;
84
+ }
@@ -0,0 +1,4 @@
1
+ .wedatea2td-input {
2
+ background-color: transparent;
3
+ border: none;
4
+ }