@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
@@ -1,9 +1,9 @@
1
1
  import React, { useMemo } from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
 
4
3
  import './index.css';
5
4
  import classNames from '../../utils/classnames';
6
5
  import { useSyncValue } from '../../utils/useSyncValue';
6
+ import {PropsType} from './index';
7
7
 
8
8
  export default function TabsH5({
9
9
  tabs,
@@ -12,7 +12,7 @@ export default function TabsH5({
12
12
  className,
13
13
  style,
14
14
  ...restProps
15
- }) {
15
+ }: PropsType) {
16
16
  const [currentIndex, setCurrentIndex] = useSyncValue(selectedIndex);
17
17
  const stickyStyle = useMemo(() => {
18
18
  const length = tabs.length;
@@ -23,7 +23,7 @@ export default function TabsH5({
23
23
  }, [tabs, currentIndex]);
24
24
 
25
25
  return (
26
- <div className={classNames("weda-tabs weda-ui", {
26
+ <div data-testid="tabs" className={classNames("weda-tabs weda-ui", {
27
27
  [className]: className
28
28
  })} style={style}>
29
29
  <div className="weda-tabs__nav">
@@ -63,33 +63,4 @@ export default function TabsH5({
63
63
  </div>
64
64
  </div>
65
65
  );
66
- }
67
-
68
-
69
- TabsH5.propTypes = {
70
- tabs: PropTypes.array,
71
- className: PropTypes.string,
72
- style: PropTypes.object,
73
- selectedIndex: PropTypes.number,
74
- events: PropTypes.objectOf(PropTypes.func),
75
- panel1: PropTypes.node,
76
- panel2: PropTypes.node,
77
- panel3: PropTypes.node,
78
- panel4: PropTypes.node,
79
- panel5: PropTypes.node,
80
- panel6: PropTypes.node,
81
- panel7: PropTypes.node,
82
- panel8: PropTypes.node,
83
- panel9: PropTypes.node,
84
- panel10: PropTypes.node,
85
- panel11: PropTypes.node,
86
- panel12: PropTypes.node,
87
- panel13: PropTypes.node,
88
- panel14: PropTypes.node,
89
- panel15: PropTypes.node,
90
- panel16: PropTypes.node,
91
- panel17: PropTypes.node,
92
- panel18: PropTypes.node,
93
- panel19: PropTypes.node,
94
- panel20: PropTypes.node,
95
- };
66
+ }
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
2
  import { Tabs as TeaTabs, TabPanel, ConfigProvider } from 'tea-component';
4
3
  import classNames from '../../utils/classnames';
5
4
  import { useSyncValue } from '../../utils/useSyncValue';
5
+ import { PropsType } from './index';
6
6
 
7
7
 
8
8
  export default function TabsPc({
@@ -12,28 +12,23 @@ export default function TabsPc({
12
12
  className,
13
13
  style,
14
14
  ...restProps
15
- }) {
15
+ }: PropsType) {
16
16
 
17
17
  const [activeIndex, setActiveIndex] = useSyncValue(selectedIndex);
18
18
  const _tabs = Array.isArray(tabs) && tabs.length && tabs.map((item, index) => {
19
19
  return {
20
- id: index,
20
+ id: index.toString(),
21
21
  label: item.title
22
22
  };
23
23
  });
24
24
 
25
-
26
-
27
- // React.useEffect(() => {
28
- // console.log('render');
29
- // });
30
25
  const onActive = (e) => {
31
26
  setActiveIndex(e.id);
32
27
  events && events.change(e);
33
28
  };
34
29
  return (
35
30
  <ConfigProvider classPrefix="wedatea2td">
36
- <TeaTabs style={style} tabs={_tabs} activeId={activeIndex} onActive={onActive} className={classNames(
31
+ <TeaTabs style={style} tabs={_tabs} activeId={String(activeIndex)} onActive={onActive} className={classNames(
37
32
  "weda-tabs_pc",
38
33
  {
39
34
  [className]: className
@@ -44,7 +39,6 @@ export default function TabsPc({
44
39
  <TabPanel
45
40
  key={item.id}
46
41
  id={item.id}
47
- label={item.label}
48
42
  >
49
43
  {restProps[`panel${index + 1}`]}
50
44
  </TabPanel>
@@ -53,32 +47,4 @@ export default function TabsPc({
53
47
  </TeaTabs>
54
48
  </ConfigProvider>
55
49
  );
56
- }
57
-
58
- TabsPc.propTypes = {
59
- tabs: PropTypes.array,
60
- className: PropTypes.string,
61
- selectedIndex: PropTypes.number,
62
- style: PropTypes.object,
63
- events: PropTypes.objectOf(PropTypes.func),
64
- panel1: PropTypes.node,
65
- panel2: PropTypes.node,
66
- panel3: PropTypes.node,
67
- panel4: PropTypes.node,
68
- panel5: PropTypes.node,
69
- panel6: PropTypes.node,
70
- panel7: PropTypes.node,
71
- panel8: PropTypes.node,
72
- panel9: PropTypes.node,
73
- panel10: PropTypes.node,
74
- panel11: PropTypes.node,
75
- panel12: PropTypes.node,
76
- panel13: PropTypes.node,
77
- panel14: PropTypes.node,
78
- panel15: PropTypes.node,
79
- panel16: PropTypes.node,
80
- panel17: PropTypes.node,
81
- panel18: PropTypes.node,
82
- panel19: PropTypes.node,
83
- panel20: PropTypes.node,
84
- };
50
+ }
@@ -6,3 +6,21 @@
6
6
  /* -webkit-line-clamp: 1;
7
7
  white-space: pre-line; */
8
8
  }
9
+ .weda-text.level_1 {
10
+ font-size: 64px !important;
11
+ }
12
+ .weda-text.level_2 {
13
+ font-size: 56px !important;
14
+ }
15
+ .weda-text.level_3 {
16
+ font-size: 48px !important;
17
+ }
18
+ .weda-text.level_4 {
19
+ font-size: 40px !important;
20
+ }
21
+ .weda-text.level_5 {
22
+ font-size: 32px !important;
23
+ }
24
+ .weda-text.level_6 {
25
+ font-size: 24px !important;
26
+ }
@@ -0,0 +1,69 @@
1
+ import * as React from 'react';
2
+ import classNames from '../../utils/classnames';
3
+ import { CommonPropsType, unknownFunction } from '../../types';
4
+ import './index.css';
5
+
6
+ export interface PropsType extends CommonPropsType {
7
+ text: string,
8
+ level: string,
9
+ maxLines: number,
10
+ space: boolean,
11
+ userSelect: boolean,
12
+ textAlign: string,
13
+ textColor: string,
14
+ contenteditable: HTMLParagraphElement['contentEditable'],
15
+ onInput: unknownFunction,
16
+ onBlur: unknownFunction
17
+
18
+ }
19
+ export default function Text({
20
+ text = '文本内容',
21
+ maxLines = 2,
22
+ space = false,
23
+ userSelect = true,
24
+ textAlign = '',
25
+ textColor = '',
26
+ style = {},
27
+ className,
28
+ events,
29
+ id,
30
+ level = '0',
31
+ contenteditable,
32
+ onInput,
33
+ onBlur
34
+ }: PropsType) {
35
+ const textStyle: React.CSSProperties = {
36
+ WebkitLineClamp: maxLines,
37
+ whiteSpace: space ? 'pre-wrap' : 'pre-line',
38
+ };
39
+
40
+ if (!userSelect) {
41
+ textStyle.userSelect = 'none';
42
+ }
43
+ const levelName = level === '0' ? '' : `level_${level}`;
44
+
45
+ // 添加文本颜色属性
46
+ let style2 = {};
47
+ if (textColor !== "") {
48
+ style2 = {color: textColor};
49
+ }
50
+
51
+ // 添加对齐属性
52
+ if (textAlign !== "") {
53
+ style2 = {...style2, textAlign};
54
+ }
55
+ return (
56
+ <p
57
+ //@ts-expect-error contentEditable type def sucks
58
+ contentEditable={contenteditable}
59
+ onInput={onInput}
60
+ onBlur={onBlur}
61
+ style={{ ...style, ...textStyle, ...style2 }}
62
+ className={classNames('weda-text', 'weda-ui', className, levelName)}
63
+ id={id}
64
+ onClick={(e) => events.tap({}, { originEvent: e })}
65
+ >
66
+ {text}
67
+ </p>
68
+ );
69
+ }
@@ -0,0 +1,11 @@
1
+ a.weda-file-view-pc__single{
2
+ display: inline-block;
3
+ vertical-align: middle;
4
+ white-space: nowrap;
5
+ overflow: hidden;
6
+ text-overflow: ellipsis;
7
+ max-width: 100%;
8
+ }
9
+ a.weda-file-view-pc__single:hover{
10
+ text-decoration: underline;
11
+ }
@@ -0,0 +1,75 @@
1
+ import * as React from 'react';
2
+ import { UploadFilePc } from '../form/uploaderFile/uploadFile.pc';
3
+ import {
4
+ filterStrList,
5
+ isCloudFileID,
6
+ downloadFile,
7
+ } from '../../utils/platform';
8
+ import { getTempFileURL } from '../../utils/tcb';
9
+ import './index.css';
10
+
11
+ const CLASS_PREFIX = 'weda-file-view-pc';
12
+
13
+ /**
14
+ * 上传文件回显
15
+ * single 表示单个文件回显
16
+ */
17
+ export default function UploaderFileView({
18
+ value,
19
+ className,
20
+ single = true,
21
+ ...rest
22
+ }) {
23
+ const fileIDList = filterStrList(value);
24
+ if(single){
25
+ return <FileView fileID={fileIDList[0]}/>
26
+ }else{
27
+ return (
28
+ <UploadFilePc
29
+ className={`${CLASS_PREFIX} ${className}`}
30
+ decorator={null}
31
+ {...rest}
32
+ value={fileIDList}
33
+ isEdit={false}
34
+ />
35
+ )
36
+ }
37
+ }
38
+
39
+ /**
40
+ * 单个文件回显
41
+ */
42
+ const FileView = ({ fileID }) => {
43
+ const [src, setSrc] = React.useState('');
44
+
45
+ React.useEffect(() => {
46
+ const fetchFileId = async (id) => {
47
+ if (isCloudFileID(id)) {
48
+ try {
49
+ const fileSrc = await getTempFileURL(id);
50
+ setSrc(fileSrc);
51
+ } catch (e) {}
52
+ } else {
53
+ setSrc(id);
54
+ }
55
+ };
56
+ fetchFileId(fileID);
57
+ }, [fileID]);
58
+
59
+ const title = React.useMemo(() => {
60
+ if (isCloudFileID(fileID)) {
61
+ const uuidReg = /file-[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}-/;
62
+ const lastIndex = `${fileID}`.lastIndexOf('/');
63
+ const name = `${fileID}`.slice(lastIndex + 1);
64
+ const title = name.replace(uuidReg, '');
65
+ return title;
66
+ } else {
67
+ return fileID;
68
+ }
69
+ }, [fileID]);
70
+ return (
71
+ <a title={title} onClick={() => downloadFile(src)} className={`${CLASS_PREFIX}__single`}>
72
+ {title}
73
+ </a>
74
+ )
75
+ };
@@ -3,6 +3,7 @@ import * as PropTypes from 'prop-types';
3
3
  import { TcbImage } from '../form/uploader/uploader.pc';
4
4
  import classNames from '../../utils/classnames';
5
5
  import './index.css';
6
+ import { CommonPropsType } from '../../types';
6
7
 
7
8
  const CLASS_PREFIX = 'g-uploader-view';
8
9
 
@@ -20,8 +21,8 @@ export default function UploaderView({
20
21
  isEmptyPlace = true,
21
22
  className,
22
23
  id,
23
- style
24
- }) {
24
+ style,
25
+ }: PropsType) {
25
26
  const cls = classNames({
26
27
  [CLASS_PREFIX]: true,
27
28
  [className]: className,
@@ -80,16 +81,12 @@ export default function UploaderView({
80
81
  );
81
82
  }
82
83
 
83
- UploaderView.propTypes = {
84
- srcList: PropTypes.oneOfType([PropTypes.array, PropTypes.string]), // 图片 src 列表
85
- alt: PropTypes.string, // 替代文字
86
- isZoom: PropTypes.bool, // 能否点击放大
87
- gutter: PropTypes.number, // 图片间距
88
- height: PropTypes.number, // 图片最大高度
89
- width: PropTypes.number, // 图片最大宽度
90
- isEmptyPlace: PropTypes.bool, // 是否展示空值
91
- events: PropTypes.objectOf(PropTypes.func), // 组件事件
92
- className: PropTypes.string, // 类,修改测试story,测试2
93
- id: PropTypes.string,
94
- style: PropTypes.object
95
- };
84
+ export interface PropsType extends CommonPropsType {
85
+ srcList?: string[] | string;
86
+ alt?: string; // 替代文字
87
+ isZoom?: boolean; // 能否点击放大
88
+ gutter?: number; // 图片间距
89
+ height?: number; // 图片最大高度
90
+ width?: number; // 图片最大宽度
91
+ isEmptyPlace?: boolean; // 是否显示空值
92
+ }
@@ -0,0 +1,20 @@
1
+ /// <reference types="resize-observer-browser" />
2
+
3
+ import * as React from "react";
4
+ export type unknownFunction = (...args: unknown[]) => unknown
5
+ export interface CommonPropsType {
6
+ style?: React.CSSProperties,
7
+ id?: string,
8
+ events?: Record<string, unknownFunction>;
9
+ className?: string,
10
+ children?: React.ReactNode | undefined
11
+ }
12
+
13
+
14
+ declare global {
15
+ var app: any
16
+ interface Window {
17
+ app: any;
18
+ }
19
+
20
+ }
@@ -3,3 +3,5 @@ export const TitleType = {
3
3
  TOP: 'top',
4
4
  NONE: 'none',
5
5
  };
6
+
7
+ export const LOAD_ERR_IMG_BASE64 = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjUuMzIgMTYuMzU5N0MyNi4wNzY0IDE2LjM1OTcgMjYuODI1NCAxNi41MDg3IDI3LjUyNDMgMTYuNzk4MUMyOC4yMjMxIDE3LjA4NzYgMjguODU4MSAxNy41MTE5IDI5LjM5MjkgMTguMDQ2OEMyOS45Mjc4IDE4LjU4MTYgMzAuMzUyMSAxOS4yMTY2IDMwLjY0MTYgMTkuOTE1NEMzMC45MzEgMjAuNjE0MyAzMS4wOCAyMS4zNjMzIDMxLjA4IDIyLjExOTdDMzEuMDggMjIuODc2MSAzMC45MzEgMjMuNjI1MSAzMC42NDE2IDI0LjMyMzlDMzAuMzUyMSAyNS4wMjI4IDI5LjkyNzggMjUuNjU3OCAyOS4zOTI5IDI2LjE5MjZDMjguODU4MSAyNi43Mjc1IDI4LjIyMzEgMjcuMTUxOCAyNy41MjQzIDI3LjQ0MTJDMjYuODI1NCAyNy43MzA3IDI2LjA3NjQgMjcuODc5NyAyNS4zMiAyNy44Nzk3QzIzLjc5MjQgMjcuODc5NyAyMi4zMjczIDI3LjI3MjggMjEuMjQ3MSAyNi4xOTI2QzIwLjE2NjkgMjUuMTEyNCAxOS41NiAyMy42NDczIDE5LjU2IDIyLjExOTdDMTkuNTYgMjAuNTkyIDIwLjE2NjkgMTkuMTI3IDIxLjI0NzEgMTguMDQ2OEMyMi4zMjczIDE2Ljk2NjUgMjMuNzkyNCAxNi4zNTk3IDI1LjMyIDE2LjM1OTdaTTI4IDMuNTU5NjlWMTQuODc2OEMyNy4xNzc3IDE0LjU4NjYgMjYuMTkyIDE0LjQzODggMjUuMzIgMTQuNDM5N0MyNC4wMzEgMTQuNDM5NyAyMi44MTU3IDE0Ljc1NzEgMjEuNzQ4OCAxNS4zMTg0TDIwLjc5NTIgMTMuMTU5N0wxNi4wMjU5IDIwLjAyNzVMOC40NDU3NiAxNi40NDFMMy41NiAyMy4zOTk3SDE3Ljc0NjJDMTcuOTg2NyAyNC44MjkgMTguNjI4MiAyNi4xNjA2IDE5LjU5NTggMjcuMjM5N0gxVjMuNTU5NjlIMjhaTTI1Ljk2IDI0LjAzOTdIMjQuNjhWMjUuMzE5N0gyNS45NlYyNC4wMzk3Wk0yNS45NiAxOC45MTk3SDI0LjY4VjIzLjM5OTdIMjUuOTZWMTguOTE5N1pNNi4xMiAxMC41OTk3QzYuMTIgMTEuOTk4MSA3LjE5OTA0IDEzLjEwODUgOC42MDc2OCAxMy4xNTg0QzEwLjAyMDggMTMuMjA3NyAxMS4yNCAxMi4wNDggMTEuMjQgMTAuNTk5N0MxMS4yNCA5LjI0NjA5IDEwLjA2NDMgOC4wODU3NyA4Ljc1MjMyIDguMDQwOTdDNy4yOTU2OCA3Ljk5MTY5IDYuMTIgOS4xNTEzNyA2LjEyIDEwLjU5OTdaIiBmaWxsPSIjQkNDNEQwIj48L3BhdGg+Cjwvc3ZnPgo=';
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ export const fallback = <div>组件加载中...</div>;
@@ -1,5 +1,5 @@
1
1
  // 平台类方法,如 BOM、DOM、区分 h5 和 pc 端
2
- import { useMedia } from 'react-use';
2
+ import { useMediaQuery } from '@react-hookz/web';
3
3
  /**
4
4
  * 当前环境是否为 H5 端
5
5
  */
@@ -19,14 +19,85 @@ export const isH5Platform = () => {
19
19
  };
20
20
 
21
21
  /**
22
- * 判断当前是否是 cloud 开头的图片协议
22
+ * 判断当前是否是 cloud 开头的文件协议
23
23
  */
24
24
  export const isCloudFileID = (url) => {
25
25
  return /^cloud:\/\/.*/.test(url);
26
26
  };
27
27
 
28
+ /**
29
+ * 判断当前是否是 http/https 开头的文件协议
30
+ */
31
+ export const isHttpFileID = (url) => {
32
+ return /^http(s?):\/\/.*/.test(url);
33
+ };
34
+
28
35
  export function usePlatform() {
29
- const smallScreen = useMedia('(max-width: 1024px)', isH5Platform());
30
- const touchDevice = useMedia('(pointer:coarse)', smallScreen);
31
- return (touchDevice || smallScreen) ? 'h5' : 'pc';
32
- }
36
+ const smallScreen = useMediaQuery('(max-width: 1024px)') ?? isH5Platform();
37
+ const touchDevice = useMediaQuery('(pointer:coarse)') ?? smallScreen;
38
+ return touchDevice || smallScreen ? 'h5' : 'pc';
39
+ }
40
+
41
+ /**
42
+ * 过滤非字符串,返回字符串数组
43
+ * 用于兼容单个组件和组件数组
44
+ */
45
+ export const filterStrList = (value) => {
46
+ return [].concat(value).filter((d) => typeof d === 'string' && d !== '');
47
+ };
48
+
49
+ /**
50
+ * 文件字节转换
51
+ */
52
+ export const transSize = (size) => {
53
+ const b = parseInt(size) || 0;
54
+ const getBig = (d) => Math.ceil(d / 1024) || 0;
55
+ if (b < 1024) {
56
+ return `${size}B`;
57
+ }
58
+ const k = getBig(size);
59
+ if (k < 1024) {
60
+ return `${k}K`;
61
+ }
62
+ const m = getBig(k);
63
+ if (m < 1024) {
64
+ return `${m}M`;
65
+ }
66
+ const g = getBig(m);
67
+ return `${g}G`;
68
+ };
69
+
70
+ /**
71
+ * 链接转换为下载
72
+ */
73
+ export const downloadFile = (url) => {
74
+ if (!url) {
75
+ return;
76
+ }
77
+ const urlObj = new URL(url);
78
+ urlObj.searchParams.append('response-content-disposition', 'attawchment');
79
+ const urls = urlObj.toString();
80
+ window.open(urls);
81
+ setTimeout(() => {
82
+ window.URL.revokeObjectURL(urls);
83
+ }, 0);
84
+ };
85
+
86
+ /**
87
+ * 文件名截取,保留后缀类型
88
+ */
89
+ export const cutFileTitle = (str = '', count = 10) => {
90
+ let [title, type] = [str, ''];
91
+ const dotIndex = `${str}`.lastIndexOf('.');
92
+ if (dotIndex > -1) {
93
+ type = str.slice(dotIndex + 1);
94
+ title = str.slice(0, dotIndex);
95
+ }
96
+ if (title.length > count) {
97
+ title = `${title.slice(0, 7)}...${title.slice(-3)}`;
98
+ }
99
+ if (type) {
100
+ title = `${title}.${type}`;
101
+ }
102
+ return title;
103
+ };
@@ -35,11 +35,3 @@ export async function getTempFileURL(data) {
35
35
  return await window?.app?.cloud?.getTempFileURL(data);
36
36
  }
37
37
  }
38
-
39
- export async function getDescribeGeneralOptionsDetailList(params) {
40
- // @ts-ignore
41
- const callWedaApi = window?.app?.cloud?.callWedaApi;
42
- if (callWedaApi) {
43
- return await callWedaApi(params);
44
- }
45
- }
@@ -0,0 +1,14 @@
1
+ import { useCallback, useState } from 'react';
2
+
3
+ export const useSetState = <T extends object>(
4
+ initialState: T = {} as T
5
+ ): [T, (patch: Partial<T> | ((prevState: T) => Partial<T>)) => void] => {
6
+ const [state, set] = useState<T>(initialState);
7
+ const setState = useCallback((patch) => {
8
+ set((prevState) =>
9
+ Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch)
10
+ );
11
+ }, []);
12
+
13
+ return [state, setState];
14
+ };
@@ -0,0 +1,17 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { usePrevious } from '@react-hookz/web';
3
+
4
+ type TComparotor<T = any> = (a: T, b: T) => boolean;
5
+ export function useSyncValue<T>(
6
+ defaultValue: T,
7
+ comparotor: TComparotor = Object.is
8
+ ): [T, (value: T) => void] {
9
+ const [stateValue, setStateValue] = useState(defaultValue);
10
+ const prevValue = usePrevious(defaultValue);
11
+ useEffect(() => {
12
+ if (!comparotor(prevValue, defaultValue)) {
13
+ setStateValue(defaultValue);
14
+ }
15
+ }, [defaultValue]);
16
+ return [stateValue, setStateValue];
17
+ }
@@ -0,0 +1,16 @@
1
+ source:
2
+ # 文件或目录使用绝对路径,绝对路径按代码库根目录计算,以/开头。
3
+ # 提供产品代码库中编写的测试代码存放目录或文件名格式,以便代码检查时进行排除处理
4
+ # 不要使用.*/等正则表达式屏蔽掉所有代码,会使得代码存在风险,还会导致Coverity扫不到任何代码而失败
5
+ test_source:
6
+ #用于匹配文件; 匹配方式为正则表达式,例如[".*/java/test/.*", ".*/test.java"]
7
+ filepath_regex:
8
+ # 提供产品代码库中工具或框架自动生成的且在代码库中的代码,没有可为空。以便代码检查时进行排除处理。
9
+ auto_generate_source:
10
+ # 自动生成代码文件的正则表达式,若无统一标识格式,可以指定具体目录,样例可参考test_source举例
11
+ filepath_regex: ["/style-package/*.*"]
12
+ # 提供产品代码库中直接以源码形式存在的第三方代码目录或代码文件名的正则表达。
13
+ # 此处备注的第三方代码将在代码检查时进行排除,若代码库中不存在需要排除的第三方代码,该项配置标识可为空
14
+ third_party_source:
15
+ #第三方代码文件的正则表达式,若无统一标识格式,可以指定具体目录,样例可参考test_source举例
16
+ filepath_regex:
@@ -0,0 +1,9 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ charset = utf-8
7
+ trim_trailing_whitespace = false
8
+ insert_final_newline = false
9
+ end_of_line = lf
@@ -0,0 +1,20 @@
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "es6": true
5
+ },
6
+ "settings": {
7
+ "react": {
8
+ "version": "detect"
9
+ }
10
+ },
11
+ "parser": "babel-eslint",
12
+ "parserOptions": {
13
+ "ecmaVersion": 6,
14
+ "sourceType": "module",
15
+ "ecmaFeatures": {
16
+ "jsx": true
17
+ }
18
+ },
19
+ "extends": ["@tencent/eslint-config-tencent", "plugin:react/recommended"]
20
+ }
@@ -0,0 +1 @@
1
+ gitdir: ../../../.git/modules/src/web/wedatheme
@@ -0,0 +1,5 @@
1
+ node_modules
2
+ dist
3
+ .history
4
+ src/.DS_Store
5
+ *.DS_Store
@@ -0,0 +1 @@
1
+ registry=https://mirrors.tencent.com/npm/
@@ -0,0 +1,55 @@
1
+ ### 该配置文件用于自动发布tnpm包,tnpm相关配置从git地址获取 ###
2
+ master:
3
+ push:
4
+ -
5
+ stages:
6
+ - name: 发布 npm 包
7
+ image: plugins/npm
8
+ envFrom: https://git.code.oa.com/tc-console/public-key/blob/master/tnpm.text
9
+ settings:
10
+ username: $TNPM_USER
11
+ password: $TNPM_PWD
12
+ email: $TNPM_EMAIL
13
+ registry: https://mirrors.tencent.com/npm/
14
+ folder: ./style-package/
15
+ - name: 获取包名
16
+ type: orange-ci:readFile
17
+ options:
18
+ filePath: ./style-package/package.json
19
+ envExport:
20
+ name: PACKAGE_NAME
21
+ - name: make message
22
+ script: echo '[http://mirrors.tencent.com/#/private/npm/detail?project_name=$PACKAGE_NAME](http://mirrors.tencent.com/#/private/npm/detail?project_name=$PACKAGE_NAME)' > message.txt
23
+ - name: send message
24
+ type: wework:message
25
+ options:
26
+ fromFile: message.txt
27
+ ### 该配置文件用于自动构建并部署文件到服务器,通过企业微信返回内网预览地址 ###
28
+ ### 接入配置可参考:http://km.oa.com/articles/show/422133 有疑问可联系youngerwang ###
29
+ dev:
30
+ push:
31
+ - docker:
32
+ image: node:10
33
+ env:
34
+ ORANGE_W_BUILD_SUCCESS_MSG: 预览地址:http://9.134.68.199/$ORANGE_REPO_SLUG/dist/index.html
35
+ stages:
36
+ ### 需要每次都安装一次,后续下放到开发机器
37
+ - name: 安装 tnpm
38
+ script: npm install @tencent/tnpm -g --registry=https://mirrors.tencent.com/npm/
39
+ - name: 安装 tea-cli
40
+ script: tnpm i @tencent/tea-cli -g
41
+ - name: 安装依赖
42
+ script: tnpm install && tnpm i @tencent/tea-component
43
+ - name: 构建
44
+ script: tea login qaayH8xL2ATXSkWS8ahBB7IEYXMECyaKSAlbkDzX && tea build -l zh
45
+ - name: 预览地址
46
+ type: wework:message
47
+ options:
48
+ message: '[http://9.134.68.199/$ORANGE_REPO_SLUG/dist/index.html](http://9.134.68.199/$ORANGE_REPO_SLUG/dist/index.html)'
49
+ - name: 拷贝文件
50
+ type: orange-ci:transfer
51
+ options:
52
+ dist: '/'
53
+ to: /usr/share/nginx/html/$ORANGE_REPO_SLUG
54
+ ips:
55
+ - 9.134.68.199
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["dbaeumer.vscode-eslint"]
3
+ }