@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.
- package/package.json +61 -40
- package/src/.DS_Store +0 -0
- package/src/configs/.DS_Store +0 -0
- package/src/configs/components/button.json +7 -3
- package/src/configs/components/form/richText.json +1 -1
- package/src/configs/components/form/uploader.json +29 -1
- package/src/configs/components/form/uploaderFile.json +158 -0
- package/src/configs/components/image.json +12 -3
- package/src/configs/components/link.json +3 -3
- package/src/configs/components/richtextview.json +2 -2
- package/src/configs/components/scrollVeiw.json +5 -5
- package/src/configs/components/swiper.json +6 -6
- package/src/configs/components/tabs.json +3 -3
- package/src/configs/components/text.json +39 -4
- package/src/configs/index.js +5 -3
- package/src/mp/components/button/index.js +1 -0
- package/src/mp/components/button/index.wxss +8 -0
- package/src/mp/components/form/select/index.js +18 -0
- package/src/mp/components/form/uploader/index.js +26 -29
- package/src/mp/components/form/uploaderFile/index.js +247 -0
- package/src/mp/components/form/uploaderFile/index.json +9 -0
- package/src/mp/components/form/uploaderFile/index.wxml +46 -0
- package/src/mp/components/form/uploaderFile/index.wxss +104 -0
- package/src/mp/components/text/index.js +33 -0
- package/src/mp/components/text/index.wxml +1 -1
- package/src/mp/components/text/index.wxss +18 -0
- package/src/mp/index.json +1 -0
- package/src/mp/utils/platform.js +20 -0
- package/src/mp/utils/tcb.js +11 -0
- package/src/web/.DS_Store +0 -0
- package/src/web/actions/showModal/{index.jsx → index.tsx} +53 -3
- package/src/web/components/auth/index.js +2 -2
- package/src/web/components/button/index.css +9 -0
- package/src/web/components/button/{index.jsx → index.tsx} +27 -41
- package/src/web/components/container/{index.jsx → index.tsx} +6 -10
- package/src/web/components/drawer/index.tsx +57 -0
- package/src/web/components/form/checkbox/{index.jsx → index.tsx} +24 -48
- package/src/web/components/form/enumSelect/MultipleSelect.jsx +1 -6
- package/src/web/components/form/enumSelect/{NormalSelect.jsx → NormalSelect.tsx} +3 -14
- package/src/web/components/form/form/index.tsx +48 -0
- package/src/web/components/form/formcell/{index.jsx → index.tsx} +6 -13
- package/src/web/components/form/input/index.css +4 -0
- package/src/web/components/form/input/{index.jsx → index.tsx} +33 -67
- package/src/web/components/form/radio/{index.jsx → index.tsx} +19 -42
- package/src/web/components/form/{renderDecorator.jsx → renderDecorator.tsx} +1 -3
- package/src/web/components/form/select/{h5.jsx → h5.tsx} +18 -62
- package/src/web/components/form/select/{index.jsx → index.tsx} +51 -94
- package/src/web/components/form/select/region/{cities.js → cities.ts} +1 -1
- package/src/web/components/form/select/region/{index.js → index.ts} +3 -3
- package/src/web/components/form/select/region/{provinces.js → provinces.ts} +1 -1
- package/src/web/components/form/select/region/{regions.js → regions.ts} +1 -1
- package/src/web/components/form/select/time.jsx +2 -2
- package/src/web/components/form/switch/{index.jsx → index.tsx} +30 -47
- package/src/web/components/form/textarea/{index.jsx → index.tsx} +22 -55
- package/src/web/components/form/tips/{index.jsx → index.tsx} +8 -22
- package/src/web/components/form/types.d.ts +12 -0
- package/src/web/components/form/uploader/{index.jsx → index.tsx} +16 -14
- package/src/web/components/form/uploader/{uploader.h5.jsx → uploader.h5.tsx} +67 -57
- package/src/web/components/form/uploader/{uploader.pc.jsx → uploader.pc.tsx} +26 -43
- package/src/web/components/form/uploaderFile/fail.svg +12 -0
- package/src/web/components/form/uploaderFile/index.css +423 -0
- package/src/web/components/form/uploaderFile/index.jsx +30 -0
- package/src/web/components/form/uploaderFile/pending.svg +18 -0
- package/src/web/components/form/uploaderFile/success.svg +12 -0
- package/src/web/components/form/uploaderFile/uploadFile.h5.jsx +562 -0
- package/src/web/components/form/uploaderFile/uploadFile.pc.jsx +487 -0
- package/src/web/components/image/{image.jsx → image.tsx} +8 -21
- package/src/web/components/image/{index.jsx → index.tsx} +22 -37
- package/src/web/components/index.js +36 -1
- package/src/web/components/link/{index.jsx → index.tsx} +19 -36
- package/src/web/components/modal/{index.jsx → index.tsx} +24 -10
- package/src/web/components/picker/{datePicker.jsx → datePicker.tsx} +11 -12
- package/src/web/components/picker/{picker.jsx → picker.tsx} +7 -10
- package/src/web/components/picker/{timePicker.jsx → timePicker.tsx} +8 -16
- package/src/web/components/richText/{const.js → const.ts} +0 -0
- package/src/web/components/richText/index.jsx +5 -2
- package/src/web/components/richTextView/index.tsx +67 -0
- package/src/web/components/scrollView/{index.jsx → index.tsx} +18 -33
- package/src/web/components/slot/{index.jsx → index.tsx} +8 -9
- package/src/web/components/swiper/index.css +1 -1
- package/src/web/components/swiper/{index.jsx → index.tsx} +66 -73
- package/src/web/components/tabs/index.tsx +33 -0
- package/src/web/components/tabs/{tabs.h5.jsx → tabs.h5.tsx} +4 -33
- package/src/web/components/tabs/{tabs.pc.jsx → tabs.pc.tsx} +5 -39
- package/src/web/components/text/index.css +18 -0
- package/src/web/components/text/index.tsx +69 -0
- package/src/web/components/uploaderFileView/index.css +11 -0
- package/src/web/components/uploaderFileView/index.jsx +75 -0
- package/src/web/components/uploaderView/{index.jsx → index.tsx} +12 -15
- package/src/web/types.d.ts +20 -0
- package/src/web/utils/constant.js +2 -0
- package/src/web/utils/loading-fallback.tsx +2 -0
- package/src/web/utils/platform.js +77 -6
- package/src/web/utils/tcb.js +0 -8
- package/src/web/utils/useSetState.ts +14 -0
- package/src/web/utils/useSyncValue.ts +17 -0
- package/src/web/wedatheme/.code.yml +16 -0
- package/src/web/wedatheme/.editorconfig +9 -0
- package/src/web/wedatheme/.eslintrc +20 -0
- package/src/web/wedatheme/.git +1 -0
- package/src/web/wedatheme/.gitignore +5 -0
- package/src/web/wedatheme/.npmrc +1 -0
- package/src/web/wedatheme/.orange-ci.yml +55 -0
- package/src/web/wedatheme/.vscode/extensions.json +3 -0
- package/src/web/wedatheme/.vscode/settings.json +11 -0
- package/src/web/wedatheme/README.md +50 -0
- package/src/web/wedatheme/i18n/README.md +4 -0
- package/src/web/wedatheme/i18n/translation/index.js +10 -0
- package/src/web/wedatheme/i18n/translation/zh.js +15 -0
- package/src/web/wedatheme/jsconfig.json +15 -0
- package/src/web/wedatheme/mock/app.js +42 -0
- package/src/web/wedatheme/mock/history-context.js +8 -0
- package/src/web/wedatheme/mock/index.js +3 -0
- package/src/web/wedatheme/mock/layout/AppLayout.jsx +28 -0
- package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +50 -0
- package/src/web/wedatheme/mock/layout/index.js +1 -0
- package/src/web/wedatheme/package-lock.json +14335 -0
- package/src/web/wedatheme/package.json +61 -0
- package/src/web/wedatheme/public/index.html +19 -0
- package/src/web/wedatheme/src/app.js +22 -0
- package/src/web/wedatheme/src/components/README.md +4 -0
- package/src/web/wedatheme/src/configs/menu.js +9 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +402 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +729 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +18 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +1276 -0
- package/src/web/wedatheme/src/routes/wedatheme-index/index.js +1 -0
- package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +3 -0
- package/src/web/wedatheme/src/routes/weui2td/index.js +1 -0
- package/src/web/wedatheme/src/styles/_btn.scss +24 -0
- package/src/web/wedatheme/src/styles/_icon.scss +653 -0
- package/src/web/wedatheme/src/styles/_map.scss +12 -0
- package/src/web/wedatheme/src/styles/_middle.scss +340 -0
- package/src/web/wedatheme/src/styles/_upload.scss +47 -0
- package/src/web/wedatheme/src/styles/assets/alert-close.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/and.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowdown.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowleft.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowright.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/arrowup.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/bell-warning.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/btnback.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/calendar.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartline-1.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/chartline.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/chartpie.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/check-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/check-2.svg +1 -0
- package/src/web/wedatheme/src/styles/assets/check.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/close-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/close.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/consult.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/convertip.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/copy.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/cur-active.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/cur.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/daily.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/database.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/datasheet.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/delete-white.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/delete.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/detail.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/dismiss.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/download.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/drop.svg +15 -0
- package/src/web/wedatheme/src/styles/assets/email-error.svg +14 -0
- package/src/web/wedatheme/src/styles/assets/email-warning.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/email.svg +14 -0
- package/src/web/wedatheme/src/styles/assets/emailv.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/error-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/error-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/error.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/externallink.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/favorable.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/filter.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/firstpage.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/folderclose.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/folderopen.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/fullsreen.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/globe-gray.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/guide.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/help.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/hide.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/info.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/infoblue.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/jump-black.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/jump.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/lastpage.svg +13 -0
- package/src/web/wedatheme/src/styles/assets/loading.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/local.svg +10 -0
- package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +6 -0
- package/src/web/wedatheme/src/styles/assets/menu-fold.svg +6 -0
- package/src/web/wedatheme/src/styles/assets/minus.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/monitor.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/more.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/multi-line.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/news.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/not.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/notice.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/pencil.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/pending-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/pending-gray.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/pending.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/percent-blue.svg +16 -0
- package/src/web/wedatheme/src/styles/assets/percent.svg +16 -0
- package/src/web/wedatheme/src/styles/assets/phone-error.svg +11 -0
- package/src/web/wedatheme/src/styles/assets/phone-warning.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/phone.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/phonev.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/plus.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/qq.svg +11 -0
- package/src/web/wedatheme/src/styles/assets/realname.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/realnamev.svg +9 -0
- package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/refresh.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/relationship-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/relationship.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/remind.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/search.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/setting.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/shopcart.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/show.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/sort.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/sortdown.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/sortup.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/success-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/success-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/success.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/table-1.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/table.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/tag.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/time.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/transfer.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/trenddown.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/trendup.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/viewgrid.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/viewlist.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/warning-1.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/warning-filled.svg +3 -0
- package/src/web/wedatheme/src/styles/assets/warning.svg +8 -0
- package/src/web/wedatheme/src/styles/assets/wechat-error.svg +14 -0
- package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/wechat.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/wechatv.svg +12 -0
- package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +4 -0
- package/src/web/wedatheme/src/styles/assets/zoom-in.svg +4 -0
- package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +4 -0
- package/src/web/wedatheme/src/styles/assets/zoom-out.svg +4 -0
- package/src/web/wedatheme/src/styles/index.scss +18 -0
- package/src/web/wedatheme/src/styles/main.css +166 -0
- package/src/web/wedatheme/src/styles/theme/_alert.scss +73 -0
- package/src/web/wedatheme/src/styles/theme/_badge.scss +38 -0
- package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +7 -0
- package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +8 -0
- package/src/web/wedatheme/src/styles/theme/_bubble.scss +24 -0
- package/src/web/wedatheme/src/styles/theme/_button.scss +212 -0
- package/src/web/wedatheme/src/styles/theme/_card.scss +12 -0
- package/src/web/wedatheme/src/styles/theme/_cascader.scss +43 -0
- package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +83 -0
- package/src/web/wedatheme/src/styles/theme/_datepicker.scss +36 -0
- package/src/web/wedatheme/src/styles/theme/_dialog.scss +39 -0
- package/src/web/wedatheme/src/styles/theme/_divider.scss +1 -0
- package/src/web/wedatheme/src/styles/theme/_drawer.scss +15 -0
- package/src/web/wedatheme/src/styles/theme/_dropdown.scss +53 -0
- package/src/web/wedatheme/src/styles/theme/_form.scss +38 -0
- package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +85 -0
- package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +16 -0
- package/src/web/wedatheme/src/styles/theme/_link.scss +14 -0
- package/src/web/wedatheme/src/styles/theme/_list.scss +41 -0
- package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +14 -0
- package/src/web/wedatheme/src/styles/theme/_notification.scss +27 -0
- package/src/web/wedatheme/src/styles/theme/_pagination.scss +22 -0
- package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +4 -0
- package/src/web/wedatheme/src/styles/theme/_progress.scss +28 -0
- package/src/web/wedatheme/src/styles/theme/_region-select.scss +17 -0
- package/src/web/wedatheme/src/styles/theme/_search.scss +18 -0
- package/src/web/wedatheme/src/styles/theme/_segment.scss +69 -0
- package/src/web/wedatheme/src/styles/theme/_slider.scss +18 -0
- package/src/web/wedatheme/src/styles/theme/_status.scss +4 -0
- package/src/web/wedatheme/src/styles/theme/_steps.scss +68 -0
- package/src/web/wedatheme/src/styles/theme/_switch.scss +11 -0
- package/src/web/wedatheme/src/styles/theme/_table.scss +44 -0
- package/src/web/wedatheme/src/styles/theme/_tabs.scss +44 -0
- package/src/web/wedatheme/src/styles/theme/_tag-search.scss +9 -0
- package/src/web/wedatheme/src/styles/theme/_tag.scss +48 -0
- package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_toast.scss +3 -0
- package/src/web/wedatheme/src/styles/theme/_transfer.scss +9 -0
- package/src/web/wedatheme/src/styles/theme/_tree.scss +11 -0
- package/src/web/wedatheme/src/styles/theme/_upload.scss +14 -0
- package/src/web/wedatheme/src/styles/theme/_variables.scss +140 -0
- package/src/web/wedatheme/src/styles/theme/index.scss +91 -0
- package/src/web/wedatheme/style-package/README.md +31 -0
- package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +627 -0
- package/src/web/wedatheme/style-package/index.css +3 -0
- package/src/web/wedatheme/style-package/package.json +15 -0
- package/src/web/wedatheme/tea.config.js +66 -0
- package/src/web/wedatheme/webpack/css.config.js +114 -0
- package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +23 -0
- package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +32 -0
- package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +66 -0
- package/src/configs/components/button.svg +0 -18
- package/src/web/components/drawer/index.jsx +0 -64
- package/src/web/components/form/enumSelect/hooks/index.js +0 -49
- package/src/web/components/form/form/index.jsx +0 -76
- package/src/web/components/richTextView/index.jsx +0 -89
- package/src/web/components/tabs/index.jsx +0 -10
- package/src/web/components/text/index.jsx +0 -71
- package/src/web/utils/useSyncValue.js +0 -14
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tencent/tea-style-wedatheme",
|
|
3
|
+
"version": "1.0.6",
|
|
4
|
+
"description": "Tea app style",
|
|
5
|
+
"main": "index.css",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"tea",
|
|
8
|
+
"qcloud",
|
|
9
|
+
"style"
|
|
10
|
+
],
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"registry": "https://mirrors.tencent.com/npm/"
|
|
13
|
+
},
|
|
14
|
+
"license": "UNLICENSED"
|
|
15
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
command: {
|
|
5
|
+
dev: {
|
|
6
|
+
template: './public/index.html',
|
|
7
|
+
},
|
|
8
|
+
build: {
|
|
9
|
+
template: './public/index.html',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
webpack: (/** @type {import('webpack').Configuration} */ config, { MiniCssExtractPlugin }) => {
|
|
13
|
+
const devMode = config.mode === 'development';
|
|
14
|
+
|
|
15
|
+
config.resolveLoader.modules.push(path.resolve(__dirname, 'node_modules'));
|
|
16
|
+
config.module.rules.push({
|
|
17
|
+
test: /\.(sa|sc)ss$/,
|
|
18
|
+
use: [
|
|
19
|
+
{
|
|
20
|
+
loader: MiniCssExtractPlugin.loader,
|
|
21
|
+
options: {
|
|
22
|
+
hmr: devMode,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
'css-loader',
|
|
26
|
+
'postcss-loader',
|
|
27
|
+
'svg-transform-loader/encode-query',
|
|
28
|
+
{
|
|
29
|
+
loader: 'resolve-url-loader',
|
|
30
|
+
options: {
|
|
31
|
+
keepQuery: true,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
loader: 'sass-loader',
|
|
36
|
+
options: {
|
|
37
|
+
sourceMap: true,
|
|
38
|
+
additionalData: '@import "styles/theme/index.scss";',
|
|
39
|
+
sassOptions: {
|
|
40
|
+
includePaths: [path.resolve(__dirname, '')],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
}, {
|
|
46
|
+
test: /\.svg(\?.*)?$/, // match img.svg and img.svg?param=value
|
|
47
|
+
use: [
|
|
48
|
+
{
|
|
49
|
+
loader: 'svgo-loader',
|
|
50
|
+
options: {
|
|
51
|
+
plugins: [
|
|
52
|
+
{ removeTitle: true },
|
|
53
|
+
{ convertColors: { shorthex: false } },
|
|
54
|
+
{ convertPathData: false },
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
loader: 'svg-transform-loader',
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return config;
|
|
65
|
+
},
|
|
66
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
3
|
+
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
|
4
|
+
const CSSPackagePlugin = require('./plugins/css-package-plugin');
|
|
5
|
+
const PackageJSONPlugin = require('./plugins/package-json-plugin');
|
|
6
|
+
|
|
7
|
+
module.exports = {
|
|
8
|
+
mode: 'production',
|
|
9
|
+
entry: './src/styles/index.scss',
|
|
10
|
+
// entry: './src/app.js',
|
|
11
|
+
output: {
|
|
12
|
+
path: path.resolve(__dirname, '..', 'style-package'),
|
|
13
|
+
},
|
|
14
|
+
module: {
|
|
15
|
+
// 关于模块配置
|
|
16
|
+
rules: [
|
|
17
|
+
{
|
|
18
|
+
test: /\.(sa|sc)ss$/,
|
|
19
|
+
use: [
|
|
20
|
+
{
|
|
21
|
+
loader: MiniCssExtractPlugin.loader,
|
|
22
|
+
},
|
|
23
|
+
'css-loader',
|
|
24
|
+
'postcss-loader',
|
|
25
|
+
'svg-transform-loader/encode-query',
|
|
26
|
+
{
|
|
27
|
+
loader: 'resolve-url-loader',
|
|
28
|
+
options: {
|
|
29
|
+
keepQuery: true,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
loader: 'sass-loader',
|
|
34
|
+
options: {
|
|
35
|
+
sourceMap: true,
|
|
36
|
+
sassOptions: {
|
|
37
|
+
includePaths: [path.resolve(__dirname, '')],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
test: /\.(le|c)ss$/,
|
|
45
|
+
use: [
|
|
46
|
+
{
|
|
47
|
+
loader: MiniCssExtractPlugin.loader,
|
|
48
|
+
},
|
|
49
|
+
'css-loader',
|
|
50
|
+
'postcss-loader',
|
|
51
|
+
'svg-transform-loader/encode-query',
|
|
52
|
+
'less-loader',
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
test: /\.(png|jpe?g|svg|gif)$/,
|
|
57
|
+
use: [
|
|
58
|
+
// {
|
|
59
|
+
// loader: 'file-loader',
|
|
60
|
+
// options: {
|
|
61
|
+
// outputPath: 'images',
|
|
62
|
+
// name: '[name].[hash:10].[ext]',
|
|
63
|
+
// },
|
|
64
|
+
// },
|
|
65
|
+
{
|
|
66
|
+
loader: 'url-loader',
|
|
67
|
+
options: {
|
|
68
|
+
limit: 20000,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
loader: 'svg-transform-loader',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
test: /\.(eot|ttf|woff|woff2)$/,
|
|
78
|
+
use: [
|
|
79
|
+
{
|
|
80
|
+
loader: 'file-loader',
|
|
81
|
+
options: {
|
|
82
|
+
outputPath: 'fonts',
|
|
83
|
+
name: '[name].[hash:10].[ext]',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
},
|
|
88
|
+
// {
|
|
89
|
+
// test: /\.svg(\?.*)?$/, // match img.svg and img.svg?param=value
|
|
90
|
+
// use: [
|
|
91
|
+
// {
|
|
92
|
+
// loader: 'url-loader',
|
|
93
|
+
// options: {
|
|
94
|
+
// limit: 20000,
|
|
95
|
+
// },
|
|
96
|
+
// },
|
|
97
|
+
// // {
|
|
98
|
+
// // loader: 'svg-transform-loader',
|
|
99
|
+
// // },
|
|
100
|
+
// ],
|
|
101
|
+
// },
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
plugins: [
|
|
105
|
+
new CleanWebpackPlugin({
|
|
106
|
+
cleanOnceBeforeBuildPatterns: ['images/*', 'fonts/*'],
|
|
107
|
+
}),
|
|
108
|
+
new MiniCssExtractPlugin({
|
|
109
|
+
filename: 'index.css',
|
|
110
|
+
}),
|
|
111
|
+
new CSSPackagePlugin(),
|
|
112
|
+
new PackageJSONPlugin(),
|
|
113
|
+
],
|
|
114
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class CssPackagePlugin {
|
|
2
|
+
/**
|
|
3
|
+
* @param {import('webpack').Compiler} compiler
|
|
4
|
+
*/
|
|
5
|
+
apply(compiler) {
|
|
6
|
+
compiler.hooks.emit.tapAsync('CssPackagePlugin', (compilation, callback) => {
|
|
7
|
+
const names = Object.keys(compilation.assets);
|
|
8
|
+
const assets = {};
|
|
9
|
+
|
|
10
|
+
names.forEach((name) => {
|
|
11
|
+
if (!/.js$/.test(name)) {
|
|
12
|
+
assets[name] = compilation.assets[name];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// eslint-disable-next-line no-param-reassign
|
|
17
|
+
compilation.assets = assets;
|
|
18
|
+
callback();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = CssPackagePlugin;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
class InjectAssetsPlugin {
|
|
2
|
+
/**
|
|
3
|
+
* @param {import("webpack").Compiler} compiler
|
|
4
|
+
*/
|
|
5
|
+
apply(compiler) {
|
|
6
|
+
compiler.hooks.emit.tapAsync('InjectAssetsPlugin', (compilation, callback) => {
|
|
7
|
+
const names = Object.keys(compilation.assets);
|
|
8
|
+
|
|
9
|
+
names.forEach((name) => {
|
|
10
|
+
if (/.html$/.test(name)) {
|
|
11
|
+
let content = compilation.assets[name].source();
|
|
12
|
+
names.forEach((n) => {
|
|
13
|
+
if (/.css$/.test(n)) {
|
|
14
|
+
content = content.replace('</head>', ` <link rel="stylesheet" href="${n}"></link>\n </head>`);
|
|
15
|
+
}
|
|
16
|
+
if (/.js$/.test(n)) {
|
|
17
|
+
content = content.replace('</body>', ` <script type="text/javascript" src="${n}"></script>\n </body>`);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
compilation.assets[name] = {
|
|
21
|
+
source: () => content,
|
|
22
|
+
size: () => content.length,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
callback();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
module.exports = InjectAssetsPlugin;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const os = require('os');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const childProcess = require('child_process');
|
|
5
|
+
|
|
6
|
+
const isWindows = /^win/i.test(os.platform());
|
|
7
|
+
|
|
8
|
+
class PackageJSONPlugin {
|
|
9
|
+
/**
|
|
10
|
+
* @param {import("webpack").Compiler} compiler
|
|
11
|
+
*/
|
|
12
|
+
apply(compiler) {
|
|
13
|
+
compiler.hooks.emit.tapAsync('PackageJSONPlugin', (compilation, callback) => {
|
|
14
|
+
// 已经存在 package.json
|
|
15
|
+
if (fs.existsSync(path.resolve(__dirname, '../..', 'style-package', 'package.json'))) {
|
|
16
|
+
childProcess.spawn(
|
|
17
|
+
isWindows ? 'npm.cmd' : 'npm',
|
|
18
|
+
['version', 'patch'],
|
|
19
|
+
{ cwd: path.resolve(__dirname, '../..', 'style-package'), stdio: [0, 1, 2] }
|
|
20
|
+
);
|
|
21
|
+
return callback();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let targetName;
|
|
25
|
+
try {
|
|
26
|
+
const info = require(path.resolve(__dirname, '../..', 'package.json'));
|
|
27
|
+
const packageName = info.name;
|
|
28
|
+
if (!/^@tencent\/tea-app-(.+)$/.test(packageName)) {
|
|
29
|
+
console.error('指向的 package.json 貌似不是一个 static 项目:' + '${packageName}');
|
|
30
|
+
}
|
|
31
|
+
targetName = RegExp.$1;
|
|
32
|
+
} catch (err) {
|
|
33
|
+
console.error(`无法解析 Tea 应用的 package.json ${err.message}`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (targetName) {
|
|
37
|
+
const content = getContent(targetName);
|
|
38
|
+
// eslint-disable-next-line no-param-reassign
|
|
39
|
+
compilation.assets['package.json'] = {
|
|
40
|
+
source: () => content,
|
|
41
|
+
size: () => content.length,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
callback();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const getContent = targetName => `{
|
|
50
|
+
"name": "@tencent/tea-style-${targetName}",
|
|
51
|
+
"version": "1.0.0",
|
|
52
|
+
"description": "Tea app style",
|
|
53
|
+
"main": "index.css",
|
|
54
|
+
"keywords": [
|
|
55
|
+
"tea",
|
|
56
|
+
"qcloud",
|
|
57
|
+
"style"
|
|
58
|
+
],
|
|
59
|
+
"publishConfig": {
|
|
60
|
+
"registry": "https://mirrors.tencent.com/npm/"
|
|
61
|
+
},
|
|
62
|
+
"license": "UNLICENSED"
|
|
63
|
+
}
|
|
64
|
+
`;
|
|
65
|
+
|
|
66
|
+
module.exports = PackageJSONPlugin;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
|
4
|
-
<title>Button按钮组件。</title>
|
|
5
|
-
<desc>Created with Sketch.</desc>
|
|
6
|
-
<g id="Button按钮组件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
7
|
-
<g id="按钮/正常态" transform="translate(5.000000, 35.000000)">
|
|
8
|
-
<g id="2">
|
|
9
|
-
<g>
|
|
10
|
-
<rect id="矩形" fill="#1D7FFD" x="0" y="0" width="90" height="30" rx="1.5"></rect>
|
|
11
|
-
<text id="按钮" font-family="PingFangSC-Medium, PingFang SC" font-size="15" font-weight="400" fill="#FFFFFF">
|
|
12
|
-
<tspan x="30" y="20">按钮</tspan>
|
|
13
|
-
</text>
|
|
14
|
-
</g>
|
|
15
|
-
</g>
|
|
16
|
-
</g>
|
|
17
|
-
</g>
|
|
18
|
-
</svg>
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { Drawer } from 'tea-component';
|
|
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
|
-
}) => {
|
|
21
|
-
const eventsList = {
|
|
22
|
-
onClose: () => events?.onClose && events.onClose({}),
|
|
23
|
-
onExited: () => events?.onExited && events.onExited({}),
|
|
24
|
-
};
|
|
25
|
-
return (
|
|
26
|
-
<Drawer
|
|
27
|
-
size={size}
|
|
28
|
-
title={title}
|
|
29
|
-
style={style}
|
|
30
|
-
visible={visible}
|
|
31
|
-
extra={extraSlot}
|
|
32
|
-
footer={footerSlot}
|
|
33
|
-
subtitle={subtitle}
|
|
34
|
-
showMask={showMask}
|
|
35
|
-
className={className}
|
|
36
|
-
placement={placement}
|
|
37
|
-
disableCloseIcon={disableCloseIcon}
|
|
38
|
-
outerClickClosable={outerClickClosable}
|
|
39
|
-
{...eventsList}
|
|
40
|
-
>
|
|
41
|
-
{childrenSlot}
|
|
42
|
-
</Drawer>
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
TeaDrawer.propTypes = {
|
|
47
|
-
style: PropTypes.object,
|
|
48
|
-
visible: PropTypes.bool,
|
|
49
|
-
title: PropTypes.string,
|
|
50
|
-
showMask: PropTypes.bool,
|
|
51
|
-
extraSlot: PropTypes.node,
|
|
52
|
-
subtitle: PropTypes.string,
|
|
53
|
-
footerSlot: PropTypes.node,
|
|
54
|
-
className: PropTypes.string,
|
|
55
|
-
childrenSlot: PropTypes.node,
|
|
56
|
-
disableCloseIcon: PropTypes.bool,
|
|
57
|
-
size: PropTypes.oneOf(['m', 'l']),
|
|
58
|
-
outerClickClosable: PropTypes.bool,
|
|
59
|
-
events: PropTypes.objectOf(PropTypes.func),
|
|
60
|
-
placement: PropTypes.oneOf(['right', 'left']),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export default TeaDrawer;
|
|
64
|
-
export { TeaDrawer };
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
2
|
-
import { getDescribeGeneralOptionsDetailList } from '../../../../utils/tcb';
|
|
3
|
-
|
|
4
|
-
const GENERAL_OPTION = 'general-option';
|
|
5
|
-
const CUSTOM = 'custom';
|
|
6
|
-
|
|
7
|
-
const handleOptionsDetailList = (response) => {
|
|
8
|
-
const config = response?.Data?.Config ?? '[]';
|
|
9
|
-
return JSON.parse(config)?.map((item) => ({
|
|
10
|
-
value: item?.key,
|
|
11
|
-
text: item?.value,
|
|
12
|
-
}));
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default function useOptions({ enumType, optionId, customEnum }) {
|
|
16
|
-
const [options, setOptions] = useState([]);
|
|
17
|
-
const isCustom = enumType === CUSTOM;
|
|
18
|
-
const isGeneralOption = enumType === GENERAL_OPTION;
|
|
19
|
-
|
|
20
|
-
const getOptionsDetailList = async (optionId) => {
|
|
21
|
-
try {
|
|
22
|
-
const response = await getDescribeGeneralOptionsDetailList({
|
|
23
|
-
methodName: 'callDesignApi',
|
|
24
|
-
params: {
|
|
25
|
-
action: 'DescribeGeneralOptionsDetail',
|
|
26
|
-
data: {
|
|
27
|
-
Id: optionId,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
const options = handleOptionsDetailList(response);
|
|
32
|
-
setOptions(options);
|
|
33
|
-
} catch (error) {
|
|
34
|
-
setOptions([]);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
if (optionId && isGeneralOption) {
|
|
40
|
-
getOptionsDetailList(optionId);
|
|
41
|
-
}
|
|
42
|
-
}, [optionId, isGeneralOption]);
|
|
43
|
-
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
setOptions(customEnum);
|
|
46
|
-
}, [isCustom]);
|
|
47
|
-
|
|
48
|
-
return options;
|
|
49
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import * as PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
import classNames from '../../../utils/classnames';
|
|
5
|
-
import './index.css';
|
|
6
|
-
import {ConfigProvider, Form as TeaForm} from 'tea-component';
|
|
7
|
-
import { usePlatform } from '../../../utils/platform';
|
|
8
|
-
|
|
9
|
-
export default function Form({
|
|
10
|
-
// 系统属性
|
|
11
|
-
className,
|
|
12
|
-
// 组件属性
|
|
13
|
-
// title,
|
|
14
|
-
// description,
|
|
15
|
-
// tips,
|
|
16
|
-
contentSlot,
|
|
17
|
-
// buttonSlot,
|
|
18
|
-
style,
|
|
19
|
-
id,
|
|
20
|
-
}) {
|
|
21
|
-
const platform = usePlatform();
|
|
22
|
-
const cls = classNames({
|
|
23
|
-
'weda-ui': true,
|
|
24
|
-
'weda-form': true,
|
|
25
|
-
'weui-form': platform === 'h5',
|
|
26
|
-
[className]: className,
|
|
27
|
-
});
|
|
28
|
-
if(platform === 'pc') {
|
|
29
|
-
return (
|
|
30
|
-
<ConfigProvider classPrefix="wedatea2td">
|
|
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-form__text-area">
|
|
40
|
-
{title ? <h2 className="weui-form__title">{title}</h2> : null}
|
|
41
|
-
{description ? (
|
|
42
|
-
<div className="weui-form__desc">{description}</div>
|
|
43
|
-
) : null}
|
|
44
|
-
</div> */}
|
|
45
|
-
{/* <div className="weui-form__control-area"> */}
|
|
46
|
-
<div className="weui-cells__group weui-cells__group_form">
|
|
47
|
-
{contentSlot}
|
|
48
|
-
</div>
|
|
49
|
-
{/* </div> */}
|
|
50
|
-
{/* <div className="weui-form__tips-area">
|
|
51
|
-
<p className="weui-form__tips">{tips}</p>
|
|
52
|
-
</div> */}
|
|
53
|
-
{/* <div className="weui-form__opr-area">{buttonSlot}</div> */}
|
|
54
|
-
</div>
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
Form.propTypes = {
|
|
59
|
-
// 系统属性
|
|
60
|
-
className: PropTypes.string,
|
|
61
|
-
events: PropTypes.object,
|
|
62
|
-
// 组件属性
|
|
63
|
-
// title: PropTypes.string,
|
|
64
|
-
// description: PropTypes.string,
|
|
65
|
-
// tips: PropTypes.string,
|
|
66
|
-
contentSlot: PropTypes.any,
|
|
67
|
-
id: PropTypes.string,
|
|
68
|
-
style: PropTypes.object,
|
|
69
|
-
// buttonSlot: PropTypes.any,
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
Form.defaultProps = {
|
|
73
|
-
// title: '表单标题',
|
|
74
|
-
// description:
|
|
75
|
-
// '展示表单页面的信息结构样式, 分别由头部区域、控件区域和操作区域组成。',
|
|
76
|
-
};
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import * as PropTypes from 'prop-types';
|
|
3
|
-
import classNames from '../../utils/classnames';
|
|
4
|
-
import { getTempFileURL } from '../../utils/tcb';
|
|
5
|
-
import './index.css';
|
|
6
|
-
|
|
7
|
-
export default function RichTextView({
|
|
8
|
-
value = '',
|
|
9
|
-
className,
|
|
10
|
-
style,
|
|
11
|
-
...props
|
|
12
|
-
}) {
|
|
13
|
-
let parseValue = value;
|
|
14
|
-
try {
|
|
15
|
-
parseValue = JSON.parse(value);
|
|
16
|
-
} catch (e) {}
|
|
17
|
-
const cls = classNames({
|
|
18
|
-
'weda-ui': true,
|
|
19
|
-
'weda-RichTextView': true,
|
|
20
|
-
[className]: className,
|
|
21
|
-
});
|
|
22
|
-
const [displayValue, setDisplayValue] = useState('');
|
|
23
|
-
const regex = new RegExp(/<img [^>]*src=\\*"([^"]*?)\\*"/g);
|
|
24
|
-
|
|
25
|
-
const defaultBase64 =
|
|
26
|
-
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU0AAAGxCAYAAADmoOSmAAAgAElEQVR4nO3dT4wc533m8WeGlEyld5fTzg4g26tVm0kAGVCgIRjEzhq7bgLUgT5RBwbyZUVeKOQQ2DrE1GEBiYAPlH2ghJxILMCRAWMFCQhnL9ECEsBmACaWIILjjYE1YItqwdDCQCPTQyAd0xHJyeGtd7qmpqq7qrqq3nqrvh+gweHM9PTb/57+vX/qrSUBBRqNJ/3gy15wkaRnJK2Efm0t8v+8tiVtRv7/s+DrYXDRarczKOC2AEnSkusGwC+j8aQnE4Y2+L4V/LvmrlWpbcoE6w1NA3e42u0MXTYKfiE0EWs0ntgg7Et6UiYo++5aVLqBTGX6afD15mq3s+2wPagpQhOSdrvVfZmu9JqmXes2G8pUoz+TNKCbD4nQbKWgiuzLdK378qNrXRebMpXoDZkgpRptGUKzJUbjySkRkmXYDdHVbmfDcVtQAUKzoYIJGxuUp9y2plU2ZKrQDSaYmonQbJDReLIm6QVRTdaFrULfXO12Nuf8LjxBaHouFJSnxORNnQ1lqlAC1HOEpoeCrvd3RVD6aigToG/QhfcPoemJYMb7lExY0vVujk1Jb8iMgTIT7wFCs+aC9ZMvSDrjtiWowLpM933guB2YgdCsoaCqPCNTVfacNgYuDGWqz3Wqz/ohNGskGKt8RaYbXsSGFvDbtszY5wXGPuuD0KyBoAtuJ3aAOHbiaOC6IW1HaDo0Gk/OaLquEkhjIDPuue64Ha1FaDoQhOUrYrwS+Q1luu3rjtvROoRmhQhLlGAowrNShGYFCEtUYCjCsxKEZomCCZ6rIixRnaGks0wYlYfQLEEQlq+ICR64M5CpPAeO29E4hGaBQussz7htCbBrXazzLBShWZDRePKqzFpLFqWjbrZl1ni+6rohTUBoLohxS3hkKMY7F0Zo5hR0xS+Jo3jgnw1JL9Flz2fZdQN8NBpPvifptghM+OmUpNvB6xgZUWlmEOySflXsZ4nm2JTpsrObfEpUmikFEz23RWCiWdZkqs5XXTfEF1Sac1BdokWoOlOg0pyB6hItQ9WZApVmjGBm/Ko4ogftNZCpOoeO21E7hGbEaDw5JROYLFJH223LBOeG64bUCaEZCM7Lc0kcAglErcus6+R8RSI0JTHZA6TAJFGg9aFJdxxIje66Wj57PhpPLkm6JgITSGNF0rXgfdNaraw0g/HLa2J2HMhrIOm5No5zti40g/HLa2JXImBRQ5ngbNU4Z6u658H45XURmEARepKuB++r1mhNaAY7ujB+CRTLjnO2ZsekVnTPR+PJVbH+Eijb+mq3c9Z1I8rW6NAMJnyuin0vgapsyCxLauwEUWNDMwjM62LBOlC1TUnHmxqcjRzTDDbcIDABN9ZkJoh6rhtShsZVmsGSoutiwgdwbVum4mzUkqRGhSaBCdRO44KzMaFJYAK11ajgbERoEphA7TUmOL0PTQIT8EYjgtPr0CQwAe94H5zehiaBCXjL6+D0MjQJTMB73gand6FJYAKN4WVwehWawREGt0VgAk2xLemoT6cK9uYwytBu6wQm0Bx2azlv3tdeVJpsvgE0njebfPhSaXJ6XaDZ7Gm0a6/2oRlsIMx+mEDznQre77VW69AMttA/47odACpzpu6nzqjtmGZwsqZrrtsBwInnVrudDdeNiFPL0GQtJtB6tV3DWbvQDGbKb4vT7AJtN5RZw1mrGfU6jmleE4EJwORA7YboahWao/HkkqS+63YAqI1+kAu1UZvuORM/AGaozcRQLUKTiR8Ac9RmYsh5aHKIJICUanGoZR3GNC+JwAQw35pMXjjltNJkHBNADk7HN52FJntjAsjJ6R6cLrvnV0VgAshuRQ53RHISmqPx5FWxHhNAfv0gRypXefc8WF50u+rbBdBIR6tehuSi0qz9fnkAvFF5nlQamkE5zfIiAEVZq7qbXln3nG45gBJV1k2vstKkWw6gLJXlSyWhGWxfT7ccQFnWqjpNRundcxaxA6hIJYveq6g0L4nABFC+FVVwbHqplSbHlgNw4PhqtzMo64+XXWk635EEQOuUOilUWmgGa6d6Zf19AEjQK3PtZindcyZ/ADhW2qRQWZXmKyIwAbizIpNDhSu80hyNJ32Z01cAgGuFTwqVUWmWku4AkEPheVRoaAZVZr/IvwkAC+gHuVSYoitNji8HUDeF5lJhoTkaT86IJUYA6qcX5FMhCpsIGo0nn4jQBFBPw9Vu56tF/KFCKk2qTAA1V1i1WUilSZUJwAOFVJsLV5pUmQA8UUi1uXClSZUJwCMLV5sLVZpUmQA8s3C1uWj3/IUFrw8AVVsot3KHJkf/APDUQkcJLVJpfneB6wKAS7nzK9dEULBf5id5b7Sp/uW3/+q6CcA+y8vLOvSFg66bUUdfzbPfZt5Hkp2MYgz//5brJgD7dB57VE9++Yuum1FHr0g6m/VKmbvno/FkRdKprNcDgJo5FeRZJnnGNM+IXdkB+G9FJs8yyROaTAABaIrMeZYpNINp+l7WGwGAmuplXX6UtdJkMTuApsmUa6lDMxgwPZO1NQBQc2eyTAhlqTSZMQfQVKnzLUtoMgEEoKlS51uq0AyOAFrL2xoAqLm1IOfmSltpUmUCaLpUOZc2NBnPBNB0qXJubmiOxpM1sTYTQPP1grybKU2lydpMAG0xN+/ShCZdcwBtMTfvZoYmXXMALTO3iz6v0qRrDqBtZubevNDsF9cOAPBCf9YPE0OTBe0AWmrmQvdZlSYTQADaKjH/ZoXmt0poCAD4IDH/qDQBYL9sleZoPCEwAbRaUg4mVZp0zQG0XWwOJoVmv7x2AIAX+nHf3BeawbbvLDUC0HZrcafBiKs0++W3BQC80I9+Iy40Gc8EAGNfHlJpAkCyfvQbS9FvjMaTnUqa0kCPHMh6GnmgfA93dvTgIW/rvFa7nT05eTD8n9F40q+0NQ1z+N8fct0EYJ/P7z/U3X++57oZ3hqNJ/3Vbmdg/x8tjfqVtgYA6q8f/k80NJ+prh0A4IU9uRgNTdZnAsBee3JxNzSDRZy9qlsDADXXCy9yD1eaVJkAEG83H8Oh2a++HQDghb79IhyaT1bfDgDwwm4+hkOzV307AMALPfsF3XMAmK9vv1iWds88CQBIYHPSVpo9Zy0BAD/0pGlostwIAGZbk6ahuW93YgDAHivSNDTZeBgAZvuWRKUJAJkwpgkA6fSl5FP4AgBiLLNbOwCkMxpP+lSaAJDBsljYDgBp9QhNAEivR/ccADJYFidTA4C0njkoFrZ75e9u3XHdBBTsvx074roJSG+F7jkAZEBoAkAGy+IQSgBIa21ZjGkCQFqMaQJAFoQmAGRAaAJABgddNwDZPPnlrusmAK1GaHrmyS8RmoBLdM8BIANCEwAyIDQBIANCEwAyIDQBIANCEwAyIDQBIANCEwAyIDQBIANCEwAyIDQBIINlSduuGwEAnthelrTpuhUA4IlNuucAkAGhCQAZMKYJAOkNlyX9zHUrAMATn9I9B4AMliUNXTcCADwxPChC0yt/d+uO6yY0xpNf7nLOJWQ1pHsOABksr3Y7A9eNAAAfrHY7AypNAMjAhiaHUgLAbJvSNDRZ4A4As21L09C84bAhAOCDGxKVJgCktS1JB4P/MKbpiSe/zLrCoqz8u8dcNyGTzc+k7d9KN341/d7gl+bflcektf9kvj78mLT2Fan3RXNBYTalaWgO3bUDWbAYuz02P5MGv5L+9/81/86z8Y/7v7fymPRfjyzp6//5oL791AM9sbJTfEPbYyhJS/Z/o/GER3NB/3Hl91w3AZ4bbklvfiitf2C+LtrTjz/U80fv6/m1Bzp8iLd8FqvdzpK0NzSvS+q7alATEJrIa/Mz6Y2BtP5hdbf5/Np9ff/451Sf6QxWu53j0rR7LtFFByo33JIuvFttWFpvbR7UW5sH9fzaff3g5OdUnrMN7RfhI4I+rb4dQHtd+D/SVy+4CcywtzYP6tilQ7r804Pzf7m9dvMxHJqD6tsBtM/mZ9LRH0qvvuu6JVN37y3pf7z7qE5dPaS795bmX6F9BvaLcGiy7Ago2fqH0vG/NsFZRzeHyzp26ZBuDg+4bkrd7ObjbmiudjvbYlwTKM1LfyOd/YlZa1lnd+8t6dTVL+itTbrrgWGQj5L2n42SahMowdmfSK97drDyX157lOA09uRiNDQ5yRpQsLM/cT/ZkxfBKSmSi9HQHFTXDqD5fA5Mi+Dcm4v7psk4Mig/FrcjbP1DE5pN8ePv/E4nn3rguhmVs0cCWXE7tzOuCSxo87NmBaZkKs5fb7duOdK+PIwLzUH57QCaa/u30nP/03Urinf33pL++//6gutmVG0Q/UZcaHo2xwfUy0t/U85mG3Xw898s60eDR1w3o0r78pBKEyjQ4Ff+T/zMc/kfDrapmz6IfiP2no/Gk9uS1spuTdMwEYSjPyz/aJ8zfyq98PXkn7/5QfnBffKpB/rxd35X7o24t7na7RyNfjNpHcFAhCaQyfqH1Rwe2ft9qf+HyT+/kWLD4kW9+4sDujk8oG/2Gj2bPoj7ZtJ5zxnXBDK6UKMNOKrwo+uNH9uMzcHY0FztdjbKbQvQLBv/2NzJnyQ3h8uNHttMysGkSlOSCE4gpTc/cN0CNy7/Q2OrzcT8mxWadNGBFIZb8Sc1a4O3Nhu7hVxi/lFpAgtqa2BKZsH7u79oZHBmrzRXu52hOKQSmOvGL123wK2bnzQuNDeD/Is1q9KUWOgOzNXmSlOS/rZ5leZg1g/nheabxbUDaJ5BBWsi6+7X20tNO6/QzNybGZqr3c6mOAUGkKiu5/qp2s9/M6/+8sYwyL1Eae4pE0JAgk//yXUL6uHvh40Jzbl5l+ae0kUHElBpGnd/25ju+dy8mxuadNGBZHU/s2RVGtI9n9s1l9JVmhJddCAWlWajpMq5tKH5xgINAQAfpMq5VKHJQncADTdzQXtYloEIqk0ATZU637KEJuOaAJoqdb6lDs3Vbmdb0nqe1gBNtfKY6xagAOtBvqWSdLqLJG9KOpPxOkBjrX2l+kMph/80+zaHDhbc/4dDO9XfaHEyrUXPFJqr3c5gNJ4MJfWyXA9AcdY/rN8ZL//4Sw9dNyGv4Wq3M8hyhTwrUpkQAgL9P3Ldgnp4YsXbSjNznuUJzXVJqfv/QJM98xXXLaiHpx/3stLMNU+TOTSDAVNm0gGZMU14G5obWSaArKwTQdYFMSG0z91//p3rJqBi3UelJ1YerfSsjGf+VHrh68k/f/ODasc8v9nzMjAlk2OZ5QrN1W5nOBpPNiSdynP9pvr8/gPXTYAD3+w90FubeeuP7Hq/L/X/MPnnNyqezT/5tfvV3mAxNtIeARS1yNYkTAgBkr79tXZ/WH77KS/vf+78yh2awTT9IO/1gaY4+dQDHfZ7nWJuTz/+0MeZ80HWZUZhi26CxwbFgKTn17ysthb24p952TVfKLcWCs3VbmddbFAM6MU/+9x1Eyp3+NCOnl/zLjSHQW7lVsR2y7lmoIAmeWLFywBZiKdV5sJ5tXBoUm0CxvePt6faPHxoR+e+4V1oLlxlSvnXaUZdkHS1oL8FeOmJlR29+I37uvzTcpcfrX8gDX6Z/PPhVqk3L0n6q+Of+zj5VUivuLAVuaPx5BOxkQda7u69JR27dEh37zXm7Iz7PP34Q13/i3uum5HVcLXb+WoRf6jIU8gxtonWO3xoR3/93L+6bkapPL1/heVTYaHJ2CZgnHzqQWMnhb5//HMfjzMvZCzTKvpkxWcL/nuAl35w0stwmenkUw/0V30vJ7sKzaVCQ5OjhADj8KEd/fg7v/NxsiTW048/9LVbvtDRP3GKrjQlxjYBSWY2feOs/8F5+JDX96PwPCo8NINUXy/67wI+evrxhz4Hju+BuV50lSmVU2lKJt3Z3R2Qv8Fp2+3p2Oy2Sur1lhKawT51bB0HBHwLIN/aG+ONvPtlzlPqClwWvAN73b23pL+89qje/cUB101J9OI37usHJ72c9LEKW8gep+zQ7Eu6XuZtAD66/NOD+tH1R2p15NATK2Zh/jd73m9zd7yMsUyr9GdsNJ5cE6fFAPb59faSfnj9kUpPlZHkxW/c9/V48qiN1W7nuTJvoIrQ7Em6LWml7NsCfHRzeEA/uv6Ibg7LmpdN9vzafX3/+Oc+7r4eZ1vS0bLGMq1K+gaj8eR7ki5VcVuAr24OD+it2wdKrzwPH9rRyaceNCksrZdWu53Xy76RygZURuPJbUlrVd0e4Ku795b07i8O6G//34FCJ4xOPvVA3/7ag6ae02hztds5WsUNVRmaazLddAAZ3Bwe0N8Pl3XzkwO6e0/6+W/md+PtCc/++EsP9V96D5swuTPP0dVuZ7OKG6p06m40nrwq6ZUqbxNoqpvDvVXo4UM7Pq+rXMSF1W7n1apurPL1DnTTARSosm65Vf10HdvHAShO5XlSeWgG4w7shARgUReqGscMc3Y4wmg8uS6p7+r2AXhtsNrtHHdxwy6659ZZsRMSgOy25XCYz1loBqv2Gd8EkNXZso/6mcVlpanVbmdDbFgMIL31IDeccRqagZckVT6YC8A7mzJ54VQt9qUKjha6Ljb1ABBvW2bLN+cFVh0qTbsMifFNAEnO1iEwpZqEprQ7vln6DiUAvPO663HMsFp0z8NYvwkgxNl6zCS1qTRDnpM0dN0IAM4NZfKgVmoXmqvdzrbMA8XCd6C9tiU9F+RBrdQuNCUmhgDUZ+InqpahKe1ODDlfkwWgci/VaeInqnYTQVGj8eSqpDOu2wGgEuur3U6te5m1D02J0wADLVH66XeLUNvuecRZcagl0GTezGN4UWlK0mg8WZE51JJTZQDNsilziGTtZsrjeBOakjQaT3oyZ7TkGHWgGbZlziQ5dN2QtHzpnkva3YPzuFjDCTSB3YRj6LohWXhVaVrsigR4rza7FmXlZWhKBCfgMW8DU/I4NCWCE/CQ14EpeR6aEsEJeMT7wJQaEJoSwQl4oBGBKTUkNCWCE6ixxgSm1KDQlAhOoIYaFZhSw0JTIjiBGmlcYEqeLW5PI3iCjopj1QGXNmWO9Gnc+7BxlabFseqAM14dS55V4ypNK3jCjkuq7WamQANtqMGBKTW40gxjI2OgErXfQLgIja00w4InklNnAOV5qQ2BKbWk0rRG48kpSVfFzDpQlG2Zk6C1ZhisVaEp7S5Juiap57gpgO+GMqfZbdwM+SytC01pd2b9mqS+46YAvhqopuclL1srQ9MajSeXJH3PdTsAz7y+2u20do6g1aEpMc4JZNC68cs4rQ9NaXec86pYCA8k2ZQJzFaNX8ZpxZKjeYIXwnFJ646bAtTRuhp4DHleVJoRdNeBXXTHYxCaMYJTBV8Vs+tor4FMYA4dt6N2CM0ZRuPJq5Jecd0OoGIXVrudV103oq4IzTmYJEKLMNmTAqGZElUnGo7qMiVCMwOqTjQQ1WVGhGYOo/HkezJVJzPs8NW2THX5uuuG+IbQzCmYYb8k6ZTjpgBZbchs5TZ03RAfEZoLGo0nfZkue89tS4C5hjJd8YHjdniN0CxIMFH0XdFlR/1sS3qDiZ5iEJoFCrrsr4hTa6A+1mXGLoeO29EYhGYJgi77K+KIIrgzkAnLgeN2NA6hWSLGO+HAUIxblorQrMBoPDkjU3n23LYEDTaUqSzXHbej8QjNChGeKMFQhGWlCE0HCE8UYCjC0glC06EgPF8QE0ZIbyDpTcLSHUKzBoIJo++Ko4uQbENmreXAdUPajtCskdA6z1NikTzMovQNsc6yVgjNGgrOy35GpvrsOW0MXBhKekPSehvPK153hGbNBV33F8RRRm2wLjNeOXDcDsxAaHoiqD5PyVSf7OfZHJsyVeUGVaUfCE0PBWOfduKo57QxyGOo6cTO0G1TkBWh6blgN/kXRIDW3VAmKN9kl3S/EZoNEgrQvujC18GmpusqCcqGIDQbKujCn5L0LbH+s0obkm7IjFEOHbcFJSA0W2I0ntgA7YsqtEi2mryx2u1sOG4LKkBotlAwE98XIZrHbkhKGjDj3T6EJiTtrgftS3pGJkR7DptTF0OZkPyZTEAOnLYGtUBoIlZQja7JBOmTMiHad9ei0g1kQvLT4OtNqkjEITSRSTDB1JMJ1BWZLr7kR6AOgn9vyBzXvSlpyIQNsiA0Uaigmy+ZYO0FXz+pvd19G7iLssFnDWUqRfv1UJLoVqNISzs7O67bAADeWHbdAADwCaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQAaEJABkQmgCQwUHXDVjU0tKS6yY01WlJRyTdkTQOvve+u+bAE6dlXifjeb8oSTs7O+W2pgRLPjY6rGWh2VXKF2MBTkh6L/K9P5F0q6Lbz6Mr6VjwdZqAPybpYuh3x5LeUXWPcVJ7boXacCdoky9soNwJLu9Lei3xlz3MH28rzaWlpSMyL7LwC7zMSuhIcLG6Mi/uOzn+zunQdbNc/6PQ7Sq47hVVE2S3KrqdRYy1N+ivSHpxxu93ZT4cTgT/dx1Q0fZI5oPKR/a9csVpK8qws7Pj5UUmMHccX8Iv7kwPe+RyOeX13otc73zO20/jROS2LpZ4W0UKt3me6H2MPp7ntb/azuu80r1ewu0p6rajogVAVscSvj/v8dzHdY7kuXhbae7s7NyqQde8qMorb4Wc2O0pgasua5Xs89mVqeptsFyU9PKCf/t88Hel6Zjfn6dsT9GOaPFAjnvzdSP/92lYITVvQ7MmigqSrF18F+rSRjvuJ83/sIlWOnbM85Zmh+BYpltpb+d8cJ28IXBEewPlmKRnU1zPtw+qcPWaZ+jKC00KzWc1/010ROaFmPfFGDc5UoS6jxVK9XkD23E/aX53d5Ehhddkwu108P/LMiGQ57mKdmdfy/l36i78fDR2pUXb1mmel/SxzJvptPZ3J1CMIzJvoKSxr7BjGX63ai9q74dF3nHAaLinnRyp6oNqKcUlTWXcitBsUqU5zxFJ54Kvz8u8IJ9VMz/xswhPCmR9odvubld7u64nlH5yy0pbfd3S9A0c197wBFB03M2214bRvNsbazpufEX5Q+x06OssS5rmdW/tYx/+fVdd4ugHQ6rX0tLS0jFJ3Z2dHW9Ctk2hGR7fuiUzCF+HMRfXoZ12UmDW70SX6uR5XNMGyVj5q5joddPc5qKTbdEezWmlm9mXsg8FPav6hGbWBZjOZ3XTaktontC0ypTMJ/THKa43lvQHKrebVJexwkWU/UYNL1qP3m4VIRGt6LLc9rn5v1Ibdgw3XImnvZ+n5/9KM7QhNLvK3lW0XlMzQs21pCoibTVyTPkm4LJWO1lu42XNr0KjC9Xrrqu9PbKx0i2uP6bF1n16pQ2heVF7x+xmde1Oa1rR3FE16yDDs8FpfjcszfWOafb9GGu6/CY8VBBe2iPtnwi4qHpO3tRJdMnTH2h+1RYO+lkrQuKq70WHeqJtuxLzvTjhavqW4oM2uvLEfpAm9SJqq+mheVF7n9AjSh7Qj4bErMPvipS3ilKG680KzbSHR0bfvFVX4HHhEf6e/UDJ2q7wc54UEnmqxWiVmTaA0lpkbDdJtH1p/n5X+ye6UtvZ2SnjfpTL9SFJCx5KOeuQxvOhn23JjGHuaHr8dtix4HfmHf4VPUws98Ne8SWP8H3divl5+JDO6OOV9nEq8pDQc5oekpplfK2Iw2Kjupq+3uwlbfe1jPZEzXp+wt/vprjOOaW7n7HXd50heS5NXad5WXsriD/XtHK0lZ19QdgxT/v/K6r28MS6CneZXM/wp2FD95zM85k2hMP3rah1u+EhIckMf6SpMovubi8qTdUefpzfUbr76fp+LaSJoRn9pHtR07HMcHB+JPMG+0jTF+s7qq5bbr2sdIuL81583SUni3Pa+7w/q/QffLMWr5+WeX2cj/nZLC/KjF++LPO6S7uYPRradZ+EjD7udVu0X4omjmnekXnRviPTJQg/kfbryzJP9uXIz6oIzKoHvcv6VHdxNFV4DDe8FCY6ERE3ax2ecAgfez7rDWy3H7Tj3XdkwjANO5HY5F5LdO3zkeB7cffZq8meWZoYmlbSTPn7Mk9w9Em8o2o2+fXl0M1wO+OCN/z4Vbkx8jw25NK6pekYaLSajP6dNDsdhdc5hqXdFNlKO2kUt81b3r1es4hWmcc0LULmfVDU4aCS3JocmlH2UzBpsfHF4PKOzAvc5Q7edZAlFH1+E8zqnocfA/uamOecipnAOaLFJhvLPjoo3Gt7R3vXasYVH9HDPb3V9NC0m0HEddfs+OVpmbC0T+rp4GJ3tXlfbo/pxVR4regt7V1SNm+Xq/BRPeE39J3I71jRCq7J3ey8rsg8plckva3p43VM+58LFz2TUjQtNO3JwE4oeXdqe84S+6RekQnQc9q7Uay0d5OPd1TM1v1xbVqkMukGfzPtzGVa4TbVZbYz/EYMHxprn8+uzJv3Tuhiq8Ok+xBd62mrpPCypVvybS3h4tK+luyHyfuavmbmhabXBUjTQvN9mfVxceOGNvTe13Q8xj55djebK8HPouM1Y5mqtIjB7GjbijqNRJG7ZEeDvW6VgQ1Hae+RW2PtDfs025lJe8e4T2g6iWhleWzfUXJVOqvHclrT+2TNO1Qz6cM2/NrOYpEudPj3T2hvu6ObMPv9AeR6oWgJi9vDi23jloucj/w86XDAczIv4vD5cYpY3H4x8jdcLmBPMu9+Hpnz8zIXt9tTUdjrRZ+7PI9J+DmxKyuSFnmX5bL2P6dpNpXJI+n5CX8/erTZvOe0q+THLPqe3OU6Q/JcmlZpStPDJONmD6OHfNmZ1vOantnxndDXdsymSD4svZjXlXK1OYMdQrG3/7JmDx3YD9JwpdPV/iG/ITYAAAWvSURBVFnw8N84ob33eZF9NNMKDwPZ2zwX+r6LMzpmvc/2PWdfO6c1bXfeqr2eXKd2CZVmGnZ5RPjQyTR/p4hKM3ybi5w6o8xK01bYO9rfZZTmPw5lVJpdxT9feS5xS3TCP9+a8btlCD/etrrcCv2/6A/upOcn3AvLc2hsuGK3FWW0at9TNLjOkDyXJh4RlMYtmTHKL8ocYmk//ebtgrSo6NhOXQfE6zgJFN6NKY/3Q5e4I2/CFVD4kNqynyO7WsOy1Zltj10qV6Qj2vt4WLNmuO/IPP72EvdhEn4M7cqVcNvznmOpXlyndkWVph0Hs+cGimOP/phl0UozurnBIm+GsipNu7P4rMd13mYeZY1pHpGpvN7T9Phye7HLyvI+JtHnpooqM1o9b2ka2NEKrYrNjMObjOQdRgr/jfDYc+xz7DpDcuWO6wZUFJrntf8N8bbMCzFL12fR0Ax3wxZ5YUr7709RwhMScYEozZ4wiP68yNBMY5HHJHzdMs46Ghad0Ip7DKKTQ2Xujh7+sAw/7xdj2jVL3IdP9ANhl+sMITTjdbV3G7O4y9tK94JcJDSj42aLzoyWEZrRyiduPFPa+yHkQ2jaNZ3nZdobd1txs9dxx68XIS4w4x7HaLVZZsUZfo/YXb/C3wtvbDNPdFu8xMB3nSGE5nz2SJ+kCYWPtX+Be9gioRmtdhddn1lGaEbbmPQGzRqaaS55Q9PufG/Hz9LcVvS1klQdRe/brMNws7Q3GphbSh4KiLtP4SPYihB9vuyHTPR9sqV09z/aoyI063KJeaKzsIuJ46rOJHlDM27md9GlR0WHZtz4WpLwLGlVofl2cFvvafFZ9LBoYEbX0YZD4nLod/KE1omEts97LcS9TreUfcu6ONENk8M7f9kzlUZvO+mcW/agg9TPsesMITTzsbOTW0oYdwnJG5rRF1IR42VFh2a0ezorxD6a83tlhGZc93nexU4W2U00ouEUF5jS3uDcCl0vze7+cbpKPqghTeUWV52GL/YgjhPKHubh12ZSxZs0JxC+LbtHbTTYo9d7T6H3qusMITQXk+YET3lCM67rV8QuOEWGZnTGfNaHR5oVAGWMaUbbuCNTIb0dXNeeFC/tYxINgvAHWbT62tL+QEhT4dmzO8aFx5ayT+ykPZpsK7g/817PWT4oo897+LQxcffR/jzpw273aD3XOdLm0HRxmSd67iH7CV2EokIzro3RN89FmTdh3AD/vCVJRYWmnZiYV1Glud3oGznNeaOivz/LvLHzLJMqUScU/zxEL7Mq2LjJ0TSvSxuc9vGyp46J3nb4dDLh6yVdPpJ02nWeND40tX822sVlVlfIrikM//6sAf+sigjNuGDIMkaZNO4ZreKSlP1hEnVE+yvGuMC0kt7sSQGfphIsahInqYJNeg6t0zHXm/UYRJ3T9EMh7raTxjuPKTnsP5bUdZ0paS8+H3sedxKqKnZdD99u3BZYlt1957Sm1dhrqtdRQHaHb9s+u5tTlN1TNO78S0W2ZVGzqrfoCfUkc9+fVfLrxh6dEw66sZKPBX85+L24Ks+eYqOoI87srlyntX9CKKl9tm1ZHoMweyx83ONsj9hKum17PnR7MELYazvmVL5+cJ3aC1Saccskypb3Nk8o+RM4ryIqTctWhrNCJ9wNe1vzDyZ4L3RJEt4guoiNTKLPTzSIw7PBWaorG7hpl9xEDxCo4mie8H4K89jnO8tjYMWtAHhP2XpQJzR9HrZcZ0nm7HHdgAVC076Q7aWK3YPsTLu9uNrtR9ofmot+aMx7/OyxxHWW9jUxay1uEexsd9m3s4hFnks7rPOxFvtAOCHpvOssyXpZCgLIW0tLS66bALTRMRWw+Ybv+QMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0078BQG4CXJrjMvwAAAAASUVORK5CYII=';
|
|
27
|
-
const iferror = `javascript:this.width='80';this.src='${defaultBase64}';this.onerror=null`;
|
|
28
|
-
|
|
29
|
-
let tempValue = parseValue
|
|
30
|
-
.toString()
|
|
31
|
-
.replace(/<img /g, `<img onerror=${iferror} style="max-width:100%" `);
|
|
32
|
-
|
|
33
|
-
const getSrc = async (img) => {
|
|
34
|
-
const url = img.replace(regex, '$1');
|
|
35
|
-
if (img.includes('cloud://')) {
|
|
36
|
-
const newURL = await getTempFileURL(url);
|
|
37
|
-
if (newURL) {
|
|
38
|
-
tempValue = tempValue.replace(new RegExp(url, 'g'), newURL);
|
|
39
|
-
setDisplayValue(tempValue);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
setDisplayValue(tempValue);
|
|
46
|
-
try {
|
|
47
|
-
const imgs = parseValue.match(regex);
|
|
48
|
-
if (imgs && imgs.length > 0) {
|
|
49
|
-
imgs.forEach((img) => {
|
|
50
|
-
getSrc(img);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
} catch (e) {}
|
|
54
|
-
}, [value]);
|
|
55
|
-
|
|
56
|
-
const {id} = props;
|
|
57
|
-
return (
|
|
58
|
-
displayValue && (
|
|
59
|
-
<div className={cls} style={style}
|
|
60
|
-
id={id}
|
|
61
|
-
>
|
|
62
|
-
<div dangerouslySetInnerHTML={{ __html: displayValue }}></div>
|
|
63
|
-
</div>
|
|
64
|
-
)
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
RichTextView.propTypes = {
|
|
69
|
-
/**
|
|
70
|
-
* 内容
|
|
71
|
-
*/
|
|
72
|
-
value: PropTypes.string,
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* 组件事件
|
|
76
|
-
*/
|
|
77
|
-
events: PropTypes.objectOf(PropTypes.func),
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* 自定义类
|
|
81
|
-
*/
|
|
82
|
-
className: PropTypes.string,
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* 自定义样式
|
|
86
|
-
*/
|
|
87
|
-
style: PropTypes.object,
|
|
88
|
-
id: PropTypes.string
|
|
89
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { usePlatform } from '../../utils/platform';
|
|
3
|
-
import TabsH5 from './tabs.h5';
|
|
4
|
-
import TabsPc from './tabs.pc';
|
|
5
|
-
|
|
6
|
-
export default function Tabs(props) {
|
|
7
|
-
const platform = usePlatform();
|
|
8
|
-
|
|
9
|
-
return platform === 'h5' ? <TabsH5 {...props} /> : <TabsPc {...props} />;
|
|
10
|
-
}
|