From a9ecf25877a322dab300397f0b4331d6f0e61382 Mon Sep 17 00:00:00 2001 From: GaoF Date: Tue, 23 Jul 2024 11:24:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=20ant=20v3=20->=20v4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 12 + .env.development | 14 + .env.production | 14 + .eslintrc.js | 39 + .gitignore | 28 + LICENSE | 53 + README.md | 14 + antd.js | 299 ++ index.html | 35 + package.json | 90 + postcss.config.js | 16 + prettier.config.js | 40 + public/favicon.ico | Bin 0 -> 4286 bytes public/img/login_background.png | Bin 0 -> 248377 bytes public/img/logo.png | Bin 0 -> 10499 bytes public/tinymce/langs/zh_CN.js | 419 +++ public/tinymce/skins/content/dark/content.css | 72 + .../skins/content/dark/content.min.css | 7 + .../tinymce/skins/content/default/content.css | 67 + .../skins/content/default/content.min.css | 7 + .../skins/content/document/content.css | 72 + .../skins/content/document/content.min.css | 7 + .../tinymce/skins/content/writer/content.css | 68 + .../skins/content/writer/content.min.css | 7 + .../tinymce/skins/ui/oxide-dark/content.css | 714 ++++ .../skins/ui/oxide-dark/content.inline.css | 726 ++++ .../ui/oxide-dark/content.inline.min.css | 7 + .../skins/ui/oxide-dark/content.min.css | 7 + .../skins/ui/oxide-dark/content.mobile.css | 29 + .../ui/oxide-dark/content.mobile.min.css | 7 + .../ui/oxide-dark/fonts/tinymce-mobile.woff | Bin 0 -> 4624 bytes public/tinymce/skins/ui/oxide-dark/skin.css | 3034 +++++++++++++++++ .../tinymce/skins/ui/oxide-dark/skin.min.css | 7 + .../skins/ui/oxide-dark/skin.mobile.css | 673 ++++ .../skins/ui/oxide-dark/skin.mobile.min.css | 7 + .../skins/ui/oxide-dark/skin.shadowdom.css | 37 + .../ui/oxide-dark/skin.shadowdom.min.css | 7 + public/tinymce/skins/ui/oxide/content.css | 732 ++++ .../tinymce/skins/ui/oxide/content.inline.css | 726 ++++ .../skins/ui/oxide/content.inline.min.css | 7 + public/tinymce/skins/ui/oxide/content.min.css | 7 + .../tinymce/skins/ui/oxide/content.mobile.css | 29 + .../skins/ui/oxide/content.mobile.min.css | 7 + .../skins/ui/oxide/fonts/tinymce-mobile.woff | Bin 0 -> 4624 bytes public/tinymce/skins/ui/oxide/skin.css | 3034 +++++++++++++++++ public/tinymce/skins/ui/oxide/skin.min.css | 7 + public/tinymce/skins/ui/oxide/skin.mobile.css | 673 ++++ .../skins/ui/oxide/skin.mobile.min.css | 7 + .../tinymce/skins/ui/oxide/skin.shadowdom.css | 37 + .../skins/ui/oxide/skin.shadowdom.min.css | 7 + src/App.vue | 40 + src/api/auth/loginApi.js | 45 + src/api/auth/monitorApi.js | 49 + src/api/auth/oauthApi.js | 29 + src/api/auth/thirdApi.js | 33 + src/api/biz/bizDictApi.js | 37 + src/api/biz/bizIndexApi.js | 24 + src/api/biz/bizNoticeApi.js | 36 + src/api/biz/bizOrgApi.js | 53 + src/api/biz/bizPositionApi.js | 49 + src/api/biz/bizUserApi.js | 85 + src/api/dev/configApi.js | 49 + src/api/dev/dictApi.js | 45 + src/api/dev/emailApi.js | 65 + src/api/dev/fileApi.js | 87 + src/api/dev/jobApi.js | 53 + src/api/dev/logApi.js | 49 + src/api/dev/messageApi.js | 37 + src/api/dev/monitorApi.js | 29 + src/api/dev/slideshowApi.js | 32 + src/api/dev/smsApi.js | 45 + src/api/gen/genBasicApi.js | 49 + src/api/gen/genConfigApi.js | 26 + src/api/mobile/resource/buttonApi.js | 37 + src/api/mobile/resource/menuApi.js | 40 + src/api/mobile/resource/moduleApi.js | 37 + src/api/sys/indexApi.js | 65 + src/api/sys/orgApi.js | 53 + src/api/sys/positionApi.js | 49 + src/api/sys/resource/buttonApi.js | 37 + src/api/sys/resource/fieldApi.js | 45 + src/api/sys/resource/menuApi.js | 49 + src/api/sys/resource/moduleApi.js | 37 + src/api/sys/roleApi.js | 93 + src/api/sys/userApi.js | 111 + src/api/sys/userCenterApi.js | 105 + src/assets/icons/GiteeIcon.vue | 24 + src/assets/icons/index.js | 13 + src/assets/icons/mobile/filled/iconfont.css | 173 + src/assets/icons/mobile/filled/iconfont.json | 289 ++ src/assets/icons/mobile/filled/iconfont.ttf | Bin 0 -> 8816 bytes src/assets/icons/mobile/index.js | 36 + src/assets/icons/mobile/line/iconfont.css | 825 +++++ src/assets/icons/mobile/line/iconfont.json | 1430 ++++++++ src/assets/icons/mobile/line/iconfont.ttf | Bin 0 -> 54080 bytes src/assets/icons/uiw/UiwAdobe.vue | 15 + src/assets/icons/uiw/UiwAlipay.vue | 14 + src/assets/icons/uiw/UiwAliwangwang.vue | 14 + src/assets/icons/uiw/UiwAndroid.vue | 10 + src/assets/icons/uiw/UiwAndroidO.vue | 10 + src/assets/icons/uiw/UiwApple.vue | 10 + src/assets/icons/uiw/UiwAppstore.vue | 10 + src/assets/icons/uiw/UiwAppstoreO.vue | 10 + src/assets/icons/uiw/UiwAreaChart.vue | 10 + src/assets/icons/uiw/UiwArrowDown.vue | 10 + src/assets/icons/uiw/UiwArrowLeft.vue | 10 + src/assets/icons/uiw/UiwArrowRight.vue | 10 + src/assets/icons/uiw/UiwArrowUp.vue | 10 + src/assets/icons/uiw/UiwArrowsAlt.vue | 10 + src/assets/icons/uiw/UiwAsterisk.vue | 10 + src/assets/icons/uiw/UiwBackward.vue | 10 + src/assets/icons/uiw/UiwBaidu.vue | 10 + src/assets/icons/uiw/UiwBarChart.vue | 10 + src/assets/icons/uiw/UiwBarcode.vue | 10 + src/assets/icons/uiw/UiwBell.vue | 10 + src/assets/icons/uiw/UiwCameraO.vue | 10 + src/assets/icons/uiw/UiwCaretDown.vue | 10 + src/assets/icons/uiw/UiwCaretLeft.vue | 10 + src/assets/icons/uiw/UiwCaretRight.vue | 10 + src/assets/icons/uiw/UiwCaretUp.vue | 10 + src/assets/icons/uiw/UiwCheck.vue | 10 + src/assets/icons/uiw/UiwCheckSquare.vue | 10 + src/assets/icons/uiw/UiwCheckSquareO.vue | 10 + src/assets/icons/uiw/UiwChrome.vue | 10 + src/assets/icons/uiw/UiwCircleCheck.vue | 10 + src/assets/icons/uiw/UiwCircleCheckO.vue | 10 + src/assets/icons/uiw/UiwCircleClose.vue | 10 + src/assets/icons/uiw/UiwCircleCloseO.vue | 10 + src/assets/icons/uiw/UiwCircleO.vue | 10 + src/assets/icons/uiw/UiwClose.vue | 10 + src/assets/icons/uiw/UiwCloseSquare.vue | 10 + src/assets/icons/uiw/UiwCloseSquareO.vue | 10 + src/assets/icons/uiw/UiwCloudDownload.vue | 10 + src/assets/icons/uiw/UiwCloudDownloadO.vue | 10 + src/assets/icons/uiw/UiwCloudUpload.vue | 10 + src/assets/icons/uiw/UiwCloudUploadO.vue | 10 + src/assets/icons/uiw/UiwCoffee.vue | 10 + src/assets/icons/uiw/UiwComponent.vue | 10 + src/assets/icons/uiw/UiwCopy.vue | 10 + src/assets/icons/uiw/UiwCopyright.vue | 10 + src/assets/icons/uiw/UiwCss3.vue | 10 + src/assets/icons/uiw/UiwCut.vue | 10 + src/assets/icons/uiw/UiwDArrowLeft.vue | 10 + src/assets/icons/uiw/UiwDArrowRight.vue | 10 + src/assets/icons/uiw/UiwDCaret.vue | 10 + src/assets/icons/uiw/UiwDashboard.vue | 10 + src/assets/icons/uiw/UiwDate.vue | 10 + src/assets/icons/uiw/UiwDelete.vue | 10 + src/assets/icons/uiw/UiwDingding.vue | 10 + src/assets/icons/uiw/UiwDislikeO.vue | 10 + src/assets/icons/uiw/UiwDocument.vue | 10 + src/assets/icons/uiw/UiwDotChart.vue | 10 + src/assets/icons/uiw/UiwDown.vue | 10 + src/assets/icons/uiw/UiwDownCircle.vue | 10 + src/assets/icons/uiw/UiwDownCircleO.vue | 10 + src/assets/icons/uiw/UiwDownSquare.vue | 10 + src/assets/icons/uiw/UiwDownSquareO.vue | 10 + src/assets/icons/uiw/UiwDownload.vue | 10 + src/assets/icons/uiw/UiwEdit.vue | 10 + src/assets/icons/uiw/UiwEnter.vue | 10 + src/assets/icons/uiw/UiwEnvironment.vue | 10 + src/assets/icons/uiw/UiwEnvironmentO.vue | 10 + src/assets/icons/uiw/UiwEye.vue | 10 + src/assets/icons/uiw/UiwEyeO.vue | 10 + src/assets/icons/uiw/UiwFacebook.vue | 10 + src/assets/icons/uiw/UiwFileAdd.vue | 10 + src/assets/icons/uiw/UiwFileExcel.vue | 10 + src/assets/icons/uiw/UiwFileJpg.vue | 10 + src/assets/icons/uiw/UiwFilePdf.vue | 10 + src/assets/icons/uiw/UiwFileText.vue | 10 + src/assets/icons/uiw/UiwFileUnknown.vue | 10 + src/assets/icons/uiw/UiwFilter.vue | 10 + src/assets/icons/uiw/UiwFirefox.vue | 10 + src/assets/icons/uiw/UiwFolder.vue | 10 + src/assets/icons/uiw/UiwFolderAdd.vue | 10 + src/assets/icons/uiw/UiwFolderOpen.vue | 10 + src/assets/icons/uiw/UiwForward.vue | 10 + src/assets/icons/uiw/UiwFoursquare.vue | 10 + src/assets/icons/uiw/UiwFrown.vue | 10 + src/assets/icons/uiw/UiwFrownO.vue | 10 + src/assets/icons/uiw/UiwGithub.vue | 10 + src/assets/icons/uiw/UiwGithubO.vue | 10 + src/assets/icons/uiw/UiwGlobal.vue | 10 + src/assets/icons/uiw/UiwHeartOff.vue | 10 + src/assets/icons/uiw/UiwHeartOn.vue | 10 + src/assets/icons/uiw/UiwHome.vue | 10 + src/assets/icons/uiw/UiwHtml5.vue | 10 + src/assets/icons/uiw/UiwIe.vue | 10 + src/assets/icons/uiw/UiwInbox.vue | 10 + src/assets/icons/uiw/UiwInformation.vue | 10 + src/assets/icons/uiw/UiwInformationO.vue | 10 + src/assets/icons/uiw/UiwLaptop.vue | 10 + src/assets/icons/uiw/UiwLeft.vue | 10 + src/assets/icons/uiw/UiwLeftCircle.vue | 10 + src/assets/icons/uiw/UiwLeftCircleO.vue | 10 + src/assets/icons/uiw/UiwLeftSquare.vue | 10 + src/assets/icons/uiw/UiwLeftSquareO.vue | 10 + src/assets/icons/uiw/UiwLikeO.vue | 10 + src/assets/icons/uiw/UiwLink.vue | 10 + src/assets/icons/uiw/UiwLinkedin.vue | 10 + src/assets/icons/uiw/UiwLinux.vue | 10 + src/assets/icons/uiw/UiwLoading.vue | 10 + src/assets/icons/uiw/UiwLock.vue | 10 + src/assets/icons/uiw/UiwLogin.vue | 10 + src/assets/icons/uiw/UiwLogout.vue | 10 + src/assets/icons/uiw/UiwMail.vue | 10 + src/assets/icons/uiw/UiwMailO.vue | 10 + src/assets/icons/uiw/UiwMan.vue | 10 + src/assets/icons/uiw/UiwMap.vue | 10 + src/assets/icons/uiw/UiwMeh.vue | 10 + src/assets/icons/uiw/UiwMehO.vue | 10 + src/assets/icons/uiw/UiwMenu.vue | 10 + src/assets/icons/uiw/UiwMenuFold.vue | 10 + src/assets/icons/uiw/UiwMenuUnfold.vue | 10 + src/assets/icons/uiw/UiwMessage.vue | 10 + src/assets/icons/uiw/UiwMinus.vue | 10 + src/assets/icons/uiw/UiwMinusCircle.vue | 10 + src/assets/icons/uiw/UiwMinusCircleO.vue | 10 + src/assets/icons/uiw/UiwMinusSquare.vue | 10 + src/assets/icons/uiw/UiwMinusSquareO.vue | 10 + src/assets/icons/uiw/UiwMobile.vue | 10 + src/assets/icons/uiw/UiwMore.vue | 10 + src/assets/icons/uiw/UiwNotification.vue | 10 + src/assets/icons/uiw/UiwOpera.vue | 10 + src/assets/icons/uiw/UiwPaperClip.vue | 10 + src/assets/icons/uiw/UiwPause.vue | 10 + src/assets/icons/uiw/UiwPauseCircle.vue | 10 + src/assets/icons/uiw/UiwPauseCircleO.vue | 10 + src/assets/icons/uiw/UiwPay.vue | 10 + src/assets/icons/uiw/UiwPayCircleO.vue | 10 + src/assets/icons/uiw/UiwPicasa.vue | 10 + src/assets/icons/uiw/UiwPicture.vue | 10 + src/assets/icons/uiw/UiwPieChart.vue | 10 + src/assets/icons/uiw/UiwPinterest.vue | 10 + src/assets/icons/uiw/UiwPlayCircle.vue | 10 + src/assets/icons/uiw/UiwPlayCircleO.vue | 10 + src/assets/icons/uiw/UiwPlus.vue | 10 + src/assets/icons/uiw/UiwPlusCircle.vue | 10 + src/assets/icons/uiw/UiwPlusCircleO.vue | 10 + src/assets/icons/uiw/UiwPlusSquare.vue | 10 + src/assets/icons/uiw/UiwPlusSquareO.vue | 10 + src/assets/icons/uiw/UiwPoweroff.vue | 10 + src/assets/icons/uiw/UiwPrinter.vue | 10 + src/assets/icons/uiw/UiwQq.vue | 10 + src/assets/icons/uiw/UiwQrcode.vue | 10 + src/assets/icons/uiw/UiwQuestionCircle.vue | 10 + src/assets/icons/uiw/UiwQuestionCircleO.vue | 10 + src/assets/icons/uiw/UiwReddit.vue | 10 + src/assets/icons/uiw/UiwReload.vue | 10 + src/assets/icons/uiw/UiwRight.vue | 10 + src/assets/icons/uiw/UiwRightCircle.vue | 10 + src/assets/icons/uiw/UiwRightCircleO.vue | 10 + src/assets/icons/uiw/UiwRightSquare.vue | 10 + src/assets/icons/uiw/UiwRightSquareO.vue | 10 + src/assets/icons/uiw/UiwRollback.vue | 10 + src/assets/icons/uiw/UiwSafari.vue | 10 + src/assets/icons/uiw/UiwSafety.vue | 10 + src/assets/icons/uiw/UiwSave.vue | 10 + src/assets/icons/uiw/UiwSearch.vue | 10 + src/assets/icons/uiw/UiwSetting.vue | 10 + src/assets/icons/uiw/UiwSettingO.vue | 10 + src/assets/icons/uiw/UiwShare.vue | 10 + src/assets/icons/uiw/UiwShoppingCart.vue | 10 + src/assets/icons/uiw/UiwShrink.vue | 10 + src/assets/icons/uiw/UiwSmile.vue | 10 + src/assets/icons/uiw/UiwSmileO.vue | 10 + src/assets/icons/uiw/UiwSquareO.vue | 10 + src/assets/icons/uiw/UiwStarOff.vue | 10 + src/assets/icons/uiw/UiwStarOn.vue | 10 + src/assets/icons/uiw/UiwStop.vue | 10 + src/assets/icons/uiw/UiwStopO.vue | 10 + src/assets/icons/uiw/UiwSwap.vue | 10 + src/assets/icons/uiw/UiwSwapLeft.vue | 10 + src/assets/icons/uiw/UiwSwapRight.vue | 10 + src/assets/icons/uiw/UiwTable.vue | 10 + src/assets/icons/uiw/UiwTag.vue | 10 + src/assets/icons/uiw/UiwTagO.vue | 10 + src/assets/icons/uiw/UiwTags.vue | 10 + src/assets/icons/uiw/UiwTagsO.vue | 10 + src/assets/icons/uiw/UiwTaobao.vue | 10 + src/assets/icons/uiw/UiwTime.vue | 10 + src/assets/icons/uiw/UiwTimeO.vue | 10 + src/assets/icons/uiw/UiwTwitter.vue | 10 + src/assets/icons/uiw/UiwUiw.vue | 10 + src/assets/icons/uiw/UiwUnlock.vue | 10 + src/assets/icons/uiw/UiwUp.vue | 10 + src/assets/icons/uiw/UiwUpCircle.vue | 10 + src/assets/icons/uiw/UiwUpCircleO.vue | 10 + src/assets/icons/uiw/UiwUpSquare.vue | 10 + src/assets/icons/uiw/UiwUpSquareO.vue | 10 + src/assets/icons/uiw/UiwUpload.vue | 10 + src/assets/icons/uiw/UiwUser.vue | 10 + src/assets/icons/uiw/UiwUserAdd.vue | 10 + src/assets/icons/uiw/UiwUserDelete.vue | 10 + src/assets/icons/uiw/UiwUsergroupAdd.vue | 10 + src/assets/icons/uiw/UiwUsergroupDelete.vue | 10 + src/assets/icons/uiw/UiwVerification.vue | 10 + src/assets/icons/uiw/UiwVerticleLeft.vue | 10 + src/assets/icons/uiw/UiwVerticleRight.vue | 10 + src/assets/icons/uiw/UiwVideoCamera.vue | 10 + src/assets/icons/uiw/UiwWarning.vue | 10 + src/assets/icons/uiw/UiwWarningO.vue | 10 + src/assets/icons/uiw/UiwWeibo.vue | 10 + src/assets/icons/uiw/UiwWeixin.vue | 10 + src/assets/icons/uiw/UiwWifi.vue | 10 + src/assets/icons/uiw/UiwWindows.vue | 10 + src/assets/icons/uiw/UiwWoman.vue | 10 + src/assets/icons/uiw/UiwZoomIn.vue | 10 + src/assets/icons/uiw/UiwZoomOut.vue | 10 + src/assets/images/fileImg/README.md | 1 + src/assets/images/fileImg/docx.png | Bin 0 -> 8977 bytes src/assets/images/fileImg/file.png | Bin 0 -> 2484 bytes src/assets/images/fileImg/gif.png | Bin 0 -> 6013 bytes src/assets/images/fileImg/html.png | Bin 0 -> 13037 bytes src/assets/images/fileImg/img.png | Bin 0 -> 10147 bytes src/assets/images/fileImg/pdf.png | Bin 0 -> 11470 bytes src/assets/images/fileImg/png.png | Bin 0 -> 9769 bytes src/assets/images/fileImg/ppt.png | Bin 0 -> 10484 bytes src/assets/images/fileImg/rar.png | Bin 0 -> 12718 bytes src/assets/images/fileImg/txt.png | Bin 0 -> 10359 bytes src/assets/images/fileImg/xlsx.png | Bin 0 -> 8929 bytes src/assets/images/fileImg/zip.png | Bin 0 -> 9368 bytes .../Chart/eCBingZhuangTu/CustomizedPie.vue | 79 + .../DoughnutChartWithRoundedCorner.vue | 57 + .../Chart/eCBingZhuangTu/NightingaleChart.vue | 54 + .../eCBingZhuangTu/RefererOfAWebsite.vue | 53 + .../Chart/eCKXianTu/BasicCandlestick.vue | 35 + .../Chart/eCKXianTu/LargeScaleCandlestick.vue | 207 ++ .../Chart/eCKXianTu/ShangHaiIndex.vue | 324 ++ .../Chart/eCLouDouTu/CustomizedFunnel.vue | 100 + .../Chart/eCLouDouTu/FunnelChart.vue | 81 + .../Chart/eCLouDouTu/FunnelCompare.vue | 114 + .../Chart/eCLouDouTu/MultipleFunnels.vue | 114 + .../Chart/eCSanDianTu/BasicScatterChart.vue | 51 + .../Chart/eCSanDianTu/ClusteringProcess.vue | 139 + .../Chart/eCSanDianTu/EffectScatterChart.vue | 92 + .../Chart/eCSanDianTu/ScatterAqiColor.vue | 264 ++ .../eCShuXingTu/TreeWithPolylineEdge.vue | 182 + .../Chart/eCXianXingTu/BasicLineChart.vue | 34 + .../Chart/eCXianXingTu/StackedAreaChart.vue | 115 + .../Chart/eCXianXingTu/StackedLineChart.vue | 81 + .../Chart/eCXianXingTu/StepLine.vue | 68 + .../Chart/eCYiBiaoTu/GaugeBasicChart.vue | 37 + .../Chart/eCYiBiaoTu/GrogressGauge.vue | 106 + .../Chart/eCYiBiaoTu/StageSpeedGauge.vue | 83 + .../eCYiBiaoTu/TemperatureGaugeChart.vue | 147 + .../BarChartWithNegativeValue.vue | 77 + .../Chart/eCZhuZhuangTu/BarLabelRotation.vue | 132 + .../Chart/eCZhuZhuangTu/BasicBar.vue | 32 + .../WatermarkEChartsDownload.vue | 249 ++ .../Chart/g2BingZhuangTu/BingZhuangTu01.vue | 60 + .../Chart/g2BingZhuangTu/BingZhuangTu02.vue | 35 + .../Chart/g2BingZhuangTu/BingZhuangTu03.vue | 51 + .../Chart/g2BingZhuangTu/BingZhuangTu04.vue | 81 + src/components/Chart/g2CiYunTu/CiYunTu01.vue | 37 + src/components/Chart/g2CiYunTu/CiYunTu02.vue | 31 + src/components/Chart/g2JinDuTu/JinDuTu01.vue | 40 + src/components/Chart/g2JinDuTu/JinDuTu02.vue | 22 + src/components/Chart/g2JinDuTu/JinDuTu03.vue | 71 + src/components/Chart/g2JinDuTu/JinDuTu04.vue | 58 + .../Chart/g2LouDouTu/LouDouTu01.vue | 27 + .../Chart/g2LouDouTu/LouDouTu02.vue | 48 + .../Chart/g2MianJiTu/MianJiTu01.vue | 24 + .../Chart/g2MianJiTu/MianJiTu02.vue | 30 + .../Chart/g2MianJiTu/MianJiTu03.vue | 22 + .../Chart/g2MianJiTu/MianJiTu04.vue | 35 + .../Chart/g2SanDianTu/SanDianTu01.vue | 48 + .../Chart/g2SanDianTu/SanDianTu02.vue | 52 + .../Chart/g2SanDianTu/SanDianTu03.vue | 51 + .../Chart/g2SanDianTu/SanDianTu04.vue | 337 ++ .../Chart/g2TiaoXingTu/TiaoXingTu01.vue | 30 + .../Chart/g2TiaoXingTu/TiaoXingTu02.vue | 126 + .../Chart/g2TiaoXingTu/TiaoXingTu03.vue | 89 + .../Chart/g2TiaoXingTu/TiaoXingTu04.vue | 34 + .../Chart/g2ZheXianTu/ZheXianTu01.vue | 27 + .../Chart/g2ZheXianTu/ZheXianTu02.vue | 32 + .../Chart/g2ZheXianTu/ZheXianTu03.vue | 32 + .../Chart/g2ZheXianTu/ZheXianTu04.vue | 48 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue | 76 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue | 37 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue | 120 + .../Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue | 138 + src/components/Chart/g2ZiDanTu/ZiDanTu01.vue | 73 + src/components/Chart/g2ZiDanTu/ZiDanTu02.vue | 96 + src/components/ColorPicker/index.vue | 107 + src/components/Cron/data.js | 103 + src/components/Cron/index.vue | 756 ++++ src/components/CropUpload/index.vue | 186 + src/components/DragModal/index.vue | 318 ++ src/components/DragModal/props.js | 30 + src/components/Editor/README.md | 15 + src/components/Editor/index.vue | 104 + src/components/Ellipsis/index.md | 33 + src/components/Ellipsis/index.vue | 48 + src/components/Ellipsis/util.js | 44 + .../HomeCard/BizMiniMessageCard/index.vue | 131 + .../HomeCard/BizNoticeCard/detail.vue | 85 + .../HomeCard/BizNoticeCard/index.vue | 79 + .../HomeCard/BizScheduleCard/index.vue | 132 + .../HomeCard/BizShortcutCard/index.vue | 53 + .../HomeCard/BizSlideshowCard/index.vue | 108 + .../HomeCard/SysBizDataCard/index.vue | 60 + .../HomeCard/SysOpDataCard/index.vue | 78 + .../HomeCard/SysOpLogCard/index.vue | 58 + .../HomeCard/SysToolDataCard/index.vue | 60 + .../HomeCard/SysUserInfoCard/index.vue | 75 + .../HomeCard/SysVisChartDataCard/index.vue | 55 + .../HomeCard/SysVisLogCard/index.vue | 65 + src/components/Map/baiduMap/README.md | 187 + src/components/Map/baiduMap/index.vue | 344 ++ src/components/Map/gaodeMap/README.md | 205 ++ src/components/Map/gaodeMap/index.vue | 373 ++ src/components/NumberInfo/NumberInfo.vue | 86 + src/components/NumberInfo/index.less | 55 + .../Selector/iconMobileSelector.vue | 145 + src/components/Selector/iconSelector.vue | 161 + .../Selector/iconSelector_README.md | 48 + src/components/Selector/orgSelectorPlus.vue | 400 +++ src/components/Selector/posSelectorPlus.vue | 395 +++ src/components/Selector/roleSelectorPlus.vue | 448 +++ src/components/Selector/userSelectorPlus.vue | 404 +++ src/components/ShortcutCard/index.vue | 84 + src/components/Table/README.md | 375 ++ src/components/Table/columnSetting.vue | 124 + src/components/Table/index.vue | 591 ++++ src/components/TreeSelect/menuTreeSelect.vue | 113 + src/components/Trend/Trend.vue | 64 + src/components/Trend/index.less | 42 + src/components/XnBatchButton/index.vue | 79 + src/components/XnBatchDelete/index.vue | 53 + src/components/XnCardList/README.md | 62 + src/components/XnCardList/index.vue | 120 + src/components/XnContextMenu/index.vue | 82 + src/components/XnDataList/README.md | 67 + src/components/XnDataList/index.vue | 188 + src/components/XnEditor/index.vue | 125 + src/components/XnFilePreview/README.md | 9 + src/components/XnFilePreview/index.vue | 128 + src/components/XnFormContainer/index.vue | 49 + src/components/XnHighlightjs/index.vue | 86 + src/components/XnOrgSelector/README.md | 36 + src/components/XnOrgSelector/index.vue | 579 ++++ .../README.assets/分页下拉查询展示.gif | Bin 0 -> 461247 bytes src/components/XnPageSelect/README.md | 192 ++ src/components/XnPageSelect/index.vue | 172 + src/components/XnPositionSelector/README.md | 36 + src/components/XnPositionSelector/index.vue | 579 ++++ src/components/XnRoleSelector/README.md | 36 + src/components/XnRoleSelector/index.vue | 607 ++++ src/components/XnSignName/README.md | 117 + src/components/XnSignName/index.vue | 122 + src/components/XnSignName/vueEsign.vue | 297 ++ src/components/XnUpload/README.md | 39 + src/components/XnUpload/index.vue | 359 ++ src/components/XnUserSelector/README.md | 36 + src/components/XnUserSelector/index.vue | 623 ++++ .../XnUserSelector/userSelectorTest.vue | 62 + src/components/global.less | 503 +++ src/components/index.less | 6 + src/config/iconSelect.js | 827 +++++ src/config/index.js | 101 + src/config/route.js | 44 + src/config/settingConfig.js | 64 + src/config/themeColor.js | 10 + src/layout/components/NavMenu.vue | 65 + src/layout/components/breadcrumb.vue | 53 + src/layout/components/iframeView.vue | 67 + src/layout/components/message.vue | 192 ++ src/layout/components/moduleMenu.vue | 216 ++ src/layout/components/panel-search/index.vue | 336 ++ src/layout/components/panel-search/item.vue | 100 + src/layout/components/setting.vue | 489 +++ src/layout/components/sideM.vue | 143 + src/layout/components/tags.vue | 474 +++ src/layout/components/topbar.vue | 36 + src/layout/components/userbar.vue | 191 ++ src/layout/enum/layoutEnum.js | 15 + src/layout/enum/themeEnum.js | 15 + src/layout/index.vue | 650 ++++ src/layout/menu/classicalMenu.vue | 154 + src/layout/menu/doubleRowMenu.vue | 185 + src/layout/menu/topMenu.vue | 138 + src/layout/other/403.vue | 3 + src/layout/other/404.vue | 20 + src/layout/other/empty.vue | 3 + src/locales/index.js | 38 + src/locales/lang/en.js | 72 + src/locales/lang/zh-cn.js | 74 + src/main.js | 20 + src/router/index.js | 172 + src/router/scrollBehavior.js | 38 + src/router/systemRouter.js | 52 + src/router/whiteList.js | 36 + src/snowy.js | 40 + src/store/global.js | 174 + src/store/iframe.js | 58 + src/store/index.js | 5 + src/store/keepAlive.js | 55 + src/store/menu.js | 142 + src/store/search.js | 63 + src/store/sysBaseConfig.js | 40 + src/store/user.js | 32 + src/store/viewTags.js | 89 + src/style/default.less | 399 +++ src/style/index.less | 519 +++ src/style/readme.md | 7 + src/style/realdark.less | 417 +++ src/tailwind.css | 91 + src/utils/color.js | 64 + src/utils/device.js | 43 + src/utils/downloadUtil.js | 37 + src/utils/enum.js | 15 + src/utils/errorHandler.js | 29 + src/utils/formRules.js | 51 + src/utils/loading.js | 38 + src/utils/objects.js | 39 + src/utils/permission/index.js | 40 + src/utils/request.js | 185 + src/utils/routerUtil.js | 43 + src/utils/smCrypto.js | 36 + src/utils/template.js | 326 ++ src/utils/themeUtil.js | 81 + src/utils/tool.js | 169 + src/utils/useTabs.js | 75 + src/utils/watermark.js | 91 + src/views/auth/findPwd/emailFindForm.vue | 193 ++ src/views/auth/findPwd/index.vue | 261 ++ src/views/auth/findPwd/phoneFindForm.vue | 194 ++ src/views/auth/login/callback.vue | 105 + src/views/auth/login/login.less | 200 ++ src/views/auth/login/login.vue | 267 ++ src/views/auth/login/phoneLoginForm.vue | 167 + src/views/auth/login/threeLogin.vue | 24 + src/views/auth/login/util.js | 49 + src/views/auth/monitor/analyse.vue | 92 + src/views/auth/monitor/bTab.vue | 95 + src/views/auth/monitor/cTab.vue | 95 + src/views/auth/monitor/index.vue | 20 + src/views/auth/monitor/tokenInfoList.vue | 183 + src/views/auth/third/index.vue | 102 + src/views/biz/dict/form.vue | 111 + src/views/biz/dict/index.vue | 193 ++ src/views/biz/index/index.vue | 41 + src/views/biz/notice/detail.vue | 85 + src/views/biz/notice/form.vue | 148 + src/views/biz/notice/index.vue | 250 ++ src/views/biz/org/form.vue | 151 + src/views/biz/org/index.vue | 219 ++ src/views/biz/position/form.vue | 118 + src/views/biz/position/index.vue | 216 ++ src/views/biz/user/form.vue | 568 +++ src/views/biz/user/index.vue | 425 +++ .../config/emailConfig/aliyunEmailForm.vue | 90 + src/views/dev/config/emailConfig/index.vue | 20 + .../dev/config/emailConfig/localEmailForm.vue | 86 + .../config/emailConfig/tencentEmailForm.vue | 90 + .../dev/config/fileConfig/aliyunFileForm.vue | 94 + src/views/dev/config/fileConfig/index.vue | 24 + .../dev/config/fileConfig/localFileForm.vue | 86 + .../dev/config/fileConfig/minioFileForm.vue | 94 + .../dev/config/fileConfig/tencentFileForm.vue | 94 + src/views/dev/config/index.vue | 74 + src/views/dev/config/otherConfig/form.vue | 90 + src/views/dev/config/otherConfig/index.vue | 94 + .../dev/config/smsConfig/aliyunSmsForm.vue | 94 + src/views/dev/config/smsConfig/index.vue | 20 + .../dev/config/smsConfig/tencentSmsForm.vue | 98 + .../dev/config/smsConfig/xiaonuoSmsForm.vue | 108 + src/views/dev/config/sysConfig.vue | 229 ++ .../dev/config/thirdConfig/giteeThirdForm.vue | 90 + src/views/dev/config/thirdConfig/index.vue | 16 + .../config/thirdConfig/wechatThirdForm.vue | 90 + src/views/dev/dict/category/bizIndex.vue | 200 ++ src/views/dev/dict/category/form.vue | 127 + src/views/dev/dict/category/frmIndex.vue | 184 + src/views/dev/dict/index.vue | 32 + src/views/dev/email/detail.vue | 69 + src/views/dev/email/form.vue | 72 + src/views/dev/email/index.vue | 182 + src/views/dev/email/send/aliyunEmailSend.vue | 125 + src/views/dev/email/send/localEmailSend.vue | 99 + src/views/dev/email/send/tencentEmailSend.vue | 125 + src/views/dev/file/detail.vue | 55 + src/views/dev/file/index.vue | 259 ++ src/views/dev/file/preview.vue | 16 + src/views/dev/file/uploadForm.vue | 137 + src/views/dev/job/form.vue | 117 + src/views/dev/job/index.vue | 216 ++ src/views/dev/log/oplog/columnChart.vue | 44 + src/views/dev/log/oplog/detail.vue | 69 + src/views/dev/log/oplog/index.vue | 155 + src/views/dev/log/oplog/pieChart.vue | 38 + src/views/dev/log/vislog/detail.vue | 40 + src/views/dev/log/vislog/index.vue | 141 + src/views/dev/log/vislog/lineChart.vue | 53 + src/views/dev/log/vislog/pieChart.vue | 38 + src/views/dev/message/detail.vue | 85 + src/views/dev/message/form.vue | 101 + src/views/dev/message/index.vue | 143 + src/views/dev/monitor/index.vue | 217 ++ src/views/dev/slideshow/form.vue | 111 + src/views/dev/slideshow/index.vue | 233 ++ src/views/dev/slideshow/subForm.vue | 162 + src/views/dev/sms/detail.vue | 58 + src/views/dev/sms/form.vue | 72 + src/views/dev/sms/index.vue | 174 + src/views/dev/sms/send/aliyunSmsSend.vue | 71 + src/views/dev/sms/send/tencentSmsSend.vue | 75 + src/views/dev/sms/send/xiaonuoSmsSend.vue | 59 + src/views/exm/chart/eCBingZhuangTu.vue | 31 + src/views/exm/chart/eCHengTiaoTu.vue | 11 + src/views/exm/chart/eCKXianTu.vue | 20 + src/views/exm/chart/eCLouDouTu.vue | 31 + src/views/exm/chart/eCSanDianTu.vue | 31 + src/views/exm/chart/eCShuXingTu.vue | 9 + src/views/exm/chart/eCXianXingTu.vue | 31 + src/views/exm/chart/eCYiBiaoTu.vue | 31 + src/views/exm/chart/eCZheZhuTu.vue | 11 + src/views/exm/chart/eCZhuZhuangTu.vue | 31 + src/views/exm/chart/g2BingZhuangTu.vue | 26 + src/views/exm/chart/g2CiYunTu.vue | 16 + src/views/exm/chart/g2JinDuTu.vue | 26 + src/views/exm/chart/g2LouDouTu.vue | 16 + src/views/exm/chart/g2MianJiTu.vue | 26 + src/views/exm/chart/g2SanDianTu.vue | 26 + src/views/exm/chart/g2TiaoXingTu.vue | 26 + src/views/exm/chart/g2ZheXianTu.vue | 26 + src/views/exm/chart/g2ZhuZhuangTu.vue | 26 + src/views/exm/chart/g2ZiDanTu.vue | 16 + src/views/exm/editor/index.vue | 10 + src/views/exm/iconSelect/index.vue | 113 + src/views/exm/map/baiduMap.vue | 124 + src/views/exm/map/gaodeMap.vue | 138 + src/views/exm/nestRoutor/index.vue | 22 + src/views/gen/basic.vue | 466 +++ src/views/gen/config.vue | 455 +++ src/views/gen/index.vue | 197 ++ src/views/gen/preview.vue | 103 + src/views/gen/steps.vue | 163 + src/views/index/index.vue | 39 + src/views/mobile/resource/button/form.vue | 77 + src/views/mobile/resource/button/index.vue | 106 + .../mobile/resource/menu/changeModuleForm.vue | 78 + src/views/mobile/resource/menu/form.vue | 248 ++ src/views/mobile/resource/menu/index.vue | 212 ++ src/views/mobile/resource/module/form.vue | 93 + src/views/mobile/resource/module/index.vue | 137 + src/views/other/index.vue | 9 + src/views/sys/org/form.vue | 151 + src/views/sys/org/index.vue | 201 ++ src/views/sys/position/form.vue | 113 + src/views/sys/position/index.vue | 200 ++ src/views/sys/resource/button/form.vue | 81 + src/views/sys/resource/button/index.vue | 99 + src/views/sys/resource/field/form.vue | 85 + src/views/sys/resource/field/index.vue | 99 + .../sys/resource/menu/changeModuleForm.vue | 82 + src/views/sys/resource/menu/form.vue | 265 ++ src/views/sys/resource/menu/index.vue | 266 ++ src/views/sys/resource/module/form.vue | 98 + src/views/sys/resource/module/index.vue | 134 + src/views/sys/role/form.vue | 123 + .../sys/role/grantMobileResourceForm.vue | 305 ++ src/views/sys/role/grantPermissionForm.vue | 414 +++ src/views/sys/role/grantResourceForm.vue | 310 ++ src/views/sys/role/index.vue | 302 ++ src/views/sys/role/scopeDefineOrg.vue | 112 + src/views/sys/user/form.vue | 567 +++ src/views/sys/user/grantPermissionForm.vue | 415 +++ src/views/sys/user/grantResourceForm.vue | 312 ++ src/views/sys/user/impExp.vue | 131 + src/views/sys/user/index.vue | 422 +++ src/views/sys/user/scopeDefineOrg.vue | 112 + src/views/sys/user/userCenter.vue | 267 ++ src/views/sys/user/userTab/accountBasic.vue | 84 + src/views/sys/user/userTab/accountBind.vue | 64 + .../user/userTab/bindForm/updatePassword.vue | 81 + .../sys/user/userTab/organizationChart.vue | 43 + .../sys/user/userTab/shortcutSetting.vue | 64 + src/views/sys/user/userTab/userMessage.vue | 89 + .../sys/user/userTab/userMessage/detail.vue | 87 + tailwind.config.js | 72 + tsconfig.json | 12 + vite.config.mjs | 119 + 684 files changed, 65388 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 antd.js create mode 100644 index.html create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 prettier.config.js create mode 100644 public/favicon.ico create mode 100644 public/img/login_background.png create mode 100644 public/img/logo.png create mode 100644 public/tinymce/langs/zh_CN.js create mode 100644 public/tinymce/skins/content/dark/content.css create mode 100644 public/tinymce/skins/content/dark/content.min.css create mode 100644 public/tinymce/skins/content/default/content.css create mode 100644 public/tinymce/skins/content/default/content.min.css create mode 100644 public/tinymce/skins/content/document/content.css create mode 100644 public/tinymce/skins/content/document/content.min.css create mode 100644 public/tinymce/skins/content/writer/content.css create mode 100644 public/tinymce/skins/content/writer/content.min.css create mode 100644 public/tinymce/skins/ui/oxide-dark/content.css create mode 100644 public/tinymce/skins/ui/oxide-dark/content.inline.css create mode 100644 public/tinymce/skins/ui/oxide-dark/content.inline.min.css create mode 100644 public/tinymce/skins/ui/oxide-dark/content.min.css create mode 100644 public/tinymce/skins/ui/oxide-dark/content.mobile.css create mode 100644 public/tinymce/skins/ui/oxide-dark/content.mobile.min.css create mode 100644 public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff create mode 100644 public/tinymce/skins/ui/oxide-dark/skin.css create mode 100644 public/tinymce/skins/ui/oxide-dark/skin.min.css create mode 100644 public/tinymce/skins/ui/oxide-dark/skin.mobile.css create mode 100644 public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css create mode 100644 public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css create mode 100644 public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css create mode 100644 public/tinymce/skins/ui/oxide/content.css create mode 100644 public/tinymce/skins/ui/oxide/content.inline.css create mode 100644 public/tinymce/skins/ui/oxide/content.inline.min.css create mode 100644 public/tinymce/skins/ui/oxide/content.min.css create mode 100644 public/tinymce/skins/ui/oxide/content.mobile.css create mode 100644 public/tinymce/skins/ui/oxide/content.mobile.min.css create mode 100644 public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff create mode 100644 public/tinymce/skins/ui/oxide/skin.css create mode 100644 public/tinymce/skins/ui/oxide/skin.min.css create mode 100644 public/tinymce/skins/ui/oxide/skin.mobile.css create mode 100644 public/tinymce/skins/ui/oxide/skin.mobile.min.css create mode 100644 public/tinymce/skins/ui/oxide/skin.shadowdom.css create mode 100644 public/tinymce/skins/ui/oxide/skin.shadowdom.min.css create mode 100644 src/App.vue create mode 100644 src/api/auth/loginApi.js create mode 100644 src/api/auth/monitorApi.js create mode 100644 src/api/auth/oauthApi.js create mode 100644 src/api/auth/thirdApi.js create mode 100644 src/api/biz/bizDictApi.js create mode 100644 src/api/biz/bizIndexApi.js create mode 100644 src/api/biz/bizNoticeApi.js create mode 100644 src/api/biz/bizOrgApi.js create mode 100644 src/api/biz/bizPositionApi.js create mode 100644 src/api/biz/bizUserApi.js create mode 100644 src/api/dev/configApi.js create mode 100644 src/api/dev/dictApi.js create mode 100644 src/api/dev/emailApi.js create mode 100644 src/api/dev/fileApi.js create mode 100644 src/api/dev/jobApi.js create mode 100644 src/api/dev/logApi.js create mode 100644 src/api/dev/messageApi.js create mode 100644 src/api/dev/monitorApi.js create mode 100644 src/api/dev/slideshowApi.js create mode 100644 src/api/dev/smsApi.js create mode 100644 src/api/gen/genBasicApi.js create mode 100644 src/api/gen/genConfigApi.js create mode 100644 src/api/mobile/resource/buttonApi.js create mode 100644 src/api/mobile/resource/menuApi.js create mode 100644 src/api/mobile/resource/moduleApi.js create mode 100644 src/api/sys/indexApi.js create mode 100644 src/api/sys/orgApi.js create mode 100644 src/api/sys/positionApi.js create mode 100644 src/api/sys/resource/buttonApi.js create mode 100644 src/api/sys/resource/fieldApi.js create mode 100644 src/api/sys/resource/menuApi.js create mode 100644 src/api/sys/resource/moduleApi.js create mode 100644 src/api/sys/roleApi.js create mode 100644 src/api/sys/userApi.js create mode 100644 src/api/sys/userCenterApi.js create mode 100644 src/assets/icons/GiteeIcon.vue create mode 100644 src/assets/icons/index.js create mode 100644 src/assets/icons/mobile/filled/iconfont.css create mode 100644 src/assets/icons/mobile/filled/iconfont.json create mode 100644 src/assets/icons/mobile/filled/iconfont.ttf create mode 100644 src/assets/icons/mobile/index.js create mode 100644 src/assets/icons/mobile/line/iconfont.css create mode 100644 src/assets/icons/mobile/line/iconfont.json create mode 100644 src/assets/icons/mobile/line/iconfont.ttf create mode 100644 src/assets/icons/uiw/UiwAdobe.vue create mode 100644 src/assets/icons/uiw/UiwAlipay.vue create mode 100644 src/assets/icons/uiw/UiwAliwangwang.vue create mode 100644 src/assets/icons/uiw/UiwAndroid.vue create mode 100644 src/assets/icons/uiw/UiwAndroidO.vue create mode 100644 src/assets/icons/uiw/UiwApple.vue create mode 100644 src/assets/icons/uiw/UiwAppstore.vue create mode 100644 src/assets/icons/uiw/UiwAppstoreO.vue create mode 100644 src/assets/icons/uiw/UiwAreaChart.vue create mode 100644 src/assets/icons/uiw/UiwArrowDown.vue create mode 100644 src/assets/icons/uiw/UiwArrowLeft.vue create mode 100644 src/assets/icons/uiw/UiwArrowRight.vue create mode 100644 src/assets/icons/uiw/UiwArrowUp.vue create mode 100644 src/assets/icons/uiw/UiwArrowsAlt.vue create mode 100644 src/assets/icons/uiw/UiwAsterisk.vue create mode 100644 src/assets/icons/uiw/UiwBackward.vue create mode 100644 src/assets/icons/uiw/UiwBaidu.vue create mode 100644 src/assets/icons/uiw/UiwBarChart.vue create mode 100644 src/assets/icons/uiw/UiwBarcode.vue create mode 100644 src/assets/icons/uiw/UiwBell.vue create mode 100644 src/assets/icons/uiw/UiwCameraO.vue create mode 100644 src/assets/icons/uiw/UiwCaretDown.vue create mode 100644 src/assets/icons/uiw/UiwCaretLeft.vue create mode 100644 src/assets/icons/uiw/UiwCaretRight.vue create mode 100644 src/assets/icons/uiw/UiwCaretUp.vue create mode 100644 src/assets/icons/uiw/UiwCheck.vue create mode 100644 src/assets/icons/uiw/UiwCheckSquare.vue create mode 100644 src/assets/icons/uiw/UiwCheckSquareO.vue create mode 100644 src/assets/icons/uiw/UiwChrome.vue create mode 100644 src/assets/icons/uiw/UiwCircleCheck.vue create mode 100644 src/assets/icons/uiw/UiwCircleCheckO.vue create mode 100644 src/assets/icons/uiw/UiwCircleClose.vue create mode 100644 src/assets/icons/uiw/UiwCircleCloseO.vue create mode 100644 src/assets/icons/uiw/UiwCircleO.vue create mode 100644 src/assets/icons/uiw/UiwClose.vue create mode 100644 src/assets/icons/uiw/UiwCloseSquare.vue create mode 100644 src/assets/icons/uiw/UiwCloseSquareO.vue create mode 100644 src/assets/icons/uiw/UiwCloudDownload.vue create mode 100644 src/assets/icons/uiw/UiwCloudDownloadO.vue create mode 100644 src/assets/icons/uiw/UiwCloudUpload.vue create mode 100644 src/assets/icons/uiw/UiwCloudUploadO.vue create mode 100644 src/assets/icons/uiw/UiwCoffee.vue create mode 100644 src/assets/icons/uiw/UiwComponent.vue create mode 100644 src/assets/icons/uiw/UiwCopy.vue create mode 100644 src/assets/icons/uiw/UiwCopyright.vue create mode 100644 src/assets/icons/uiw/UiwCss3.vue create mode 100644 src/assets/icons/uiw/UiwCut.vue create mode 100644 src/assets/icons/uiw/UiwDArrowLeft.vue create mode 100644 src/assets/icons/uiw/UiwDArrowRight.vue create mode 100644 src/assets/icons/uiw/UiwDCaret.vue create mode 100644 src/assets/icons/uiw/UiwDashboard.vue create mode 100644 src/assets/icons/uiw/UiwDate.vue create mode 100644 src/assets/icons/uiw/UiwDelete.vue create mode 100644 src/assets/icons/uiw/UiwDingding.vue create mode 100644 src/assets/icons/uiw/UiwDislikeO.vue create mode 100644 src/assets/icons/uiw/UiwDocument.vue create mode 100644 src/assets/icons/uiw/UiwDotChart.vue create mode 100644 src/assets/icons/uiw/UiwDown.vue create mode 100644 src/assets/icons/uiw/UiwDownCircle.vue create mode 100644 src/assets/icons/uiw/UiwDownCircleO.vue create mode 100644 src/assets/icons/uiw/UiwDownSquare.vue create mode 100644 src/assets/icons/uiw/UiwDownSquareO.vue create mode 100644 src/assets/icons/uiw/UiwDownload.vue create mode 100644 src/assets/icons/uiw/UiwEdit.vue create mode 100644 src/assets/icons/uiw/UiwEnter.vue create mode 100644 src/assets/icons/uiw/UiwEnvironment.vue create mode 100644 src/assets/icons/uiw/UiwEnvironmentO.vue create mode 100644 src/assets/icons/uiw/UiwEye.vue create mode 100644 src/assets/icons/uiw/UiwEyeO.vue create mode 100644 src/assets/icons/uiw/UiwFacebook.vue create mode 100644 src/assets/icons/uiw/UiwFileAdd.vue create mode 100644 src/assets/icons/uiw/UiwFileExcel.vue create mode 100644 src/assets/icons/uiw/UiwFileJpg.vue create mode 100644 src/assets/icons/uiw/UiwFilePdf.vue create mode 100644 src/assets/icons/uiw/UiwFileText.vue create mode 100644 src/assets/icons/uiw/UiwFileUnknown.vue create mode 100644 src/assets/icons/uiw/UiwFilter.vue create mode 100644 src/assets/icons/uiw/UiwFirefox.vue create mode 100644 src/assets/icons/uiw/UiwFolder.vue create mode 100644 src/assets/icons/uiw/UiwFolderAdd.vue create mode 100644 src/assets/icons/uiw/UiwFolderOpen.vue create mode 100644 src/assets/icons/uiw/UiwForward.vue create mode 100644 src/assets/icons/uiw/UiwFoursquare.vue create mode 100644 src/assets/icons/uiw/UiwFrown.vue create mode 100644 src/assets/icons/uiw/UiwFrownO.vue create mode 100644 src/assets/icons/uiw/UiwGithub.vue create mode 100644 src/assets/icons/uiw/UiwGithubO.vue create mode 100644 src/assets/icons/uiw/UiwGlobal.vue create mode 100644 src/assets/icons/uiw/UiwHeartOff.vue create mode 100644 src/assets/icons/uiw/UiwHeartOn.vue create mode 100644 src/assets/icons/uiw/UiwHome.vue create mode 100644 src/assets/icons/uiw/UiwHtml5.vue create mode 100644 src/assets/icons/uiw/UiwIe.vue create mode 100644 src/assets/icons/uiw/UiwInbox.vue create mode 100644 src/assets/icons/uiw/UiwInformation.vue create mode 100644 src/assets/icons/uiw/UiwInformationO.vue create mode 100644 src/assets/icons/uiw/UiwLaptop.vue create mode 100644 src/assets/icons/uiw/UiwLeft.vue create mode 100644 src/assets/icons/uiw/UiwLeftCircle.vue create mode 100644 src/assets/icons/uiw/UiwLeftCircleO.vue create mode 100644 src/assets/icons/uiw/UiwLeftSquare.vue create mode 100644 src/assets/icons/uiw/UiwLeftSquareO.vue create mode 100644 src/assets/icons/uiw/UiwLikeO.vue create mode 100644 src/assets/icons/uiw/UiwLink.vue create mode 100644 src/assets/icons/uiw/UiwLinkedin.vue create mode 100644 src/assets/icons/uiw/UiwLinux.vue create mode 100644 src/assets/icons/uiw/UiwLoading.vue create mode 100644 src/assets/icons/uiw/UiwLock.vue create mode 100644 src/assets/icons/uiw/UiwLogin.vue create mode 100644 src/assets/icons/uiw/UiwLogout.vue create mode 100644 src/assets/icons/uiw/UiwMail.vue create mode 100644 src/assets/icons/uiw/UiwMailO.vue create mode 100644 src/assets/icons/uiw/UiwMan.vue create mode 100644 src/assets/icons/uiw/UiwMap.vue create mode 100644 src/assets/icons/uiw/UiwMeh.vue create mode 100644 src/assets/icons/uiw/UiwMehO.vue create mode 100644 src/assets/icons/uiw/UiwMenu.vue create mode 100644 src/assets/icons/uiw/UiwMenuFold.vue create mode 100644 src/assets/icons/uiw/UiwMenuUnfold.vue create mode 100644 src/assets/icons/uiw/UiwMessage.vue create mode 100644 src/assets/icons/uiw/UiwMinus.vue create mode 100644 src/assets/icons/uiw/UiwMinusCircle.vue create mode 100644 src/assets/icons/uiw/UiwMinusCircleO.vue create mode 100644 src/assets/icons/uiw/UiwMinusSquare.vue create mode 100644 src/assets/icons/uiw/UiwMinusSquareO.vue create mode 100644 src/assets/icons/uiw/UiwMobile.vue create mode 100644 src/assets/icons/uiw/UiwMore.vue create mode 100644 src/assets/icons/uiw/UiwNotification.vue create mode 100644 src/assets/icons/uiw/UiwOpera.vue create mode 100644 src/assets/icons/uiw/UiwPaperClip.vue create mode 100644 src/assets/icons/uiw/UiwPause.vue create mode 100644 src/assets/icons/uiw/UiwPauseCircle.vue create mode 100644 src/assets/icons/uiw/UiwPauseCircleO.vue create mode 100644 src/assets/icons/uiw/UiwPay.vue create mode 100644 src/assets/icons/uiw/UiwPayCircleO.vue create mode 100644 src/assets/icons/uiw/UiwPicasa.vue create mode 100644 src/assets/icons/uiw/UiwPicture.vue create mode 100644 src/assets/icons/uiw/UiwPieChart.vue create mode 100644 src/assets/icons/uiw/UiwPinterest.vue create mode 100644 src/assets/icons/uiw/UiwPlayCircle.vue create mode 100644 src/assets/icons/uiw/UiwPlayCircleO.vue create mode 100644 src/assets/icons/uiw/UiwPlus.vue create mode 100644 src/assets/icons/uiw/UiwPlusCircle.vue create mode 100644 src/assets/icons/uiw/UiwPlusCircleO.vue create mode 100644 src/assets/icons/uiw/UiwPlusSquare.vue create mode 100644 src/assets/icons/uiw/UiwPlusSquareO.vue create mode 100644 src/assets/icons/uiw/UiwPoweroff.vue create mode 100644 src/assets/icons/uiw/UiwPrinter.vue create mode 100644 src/assets/icons/uiw/UiwQq.vue create mode 100644 src/assets/icons/uiw/UiwQrcode.vue create mode 100644 src/assets/icons/uiw/UiwQuestionCircle.vue create mode 100644 src/assets/icons/uiw/UiwQuestionCircleO.vue create mode 100644 src/assets/icons/uiw/UiwReddit.vue create mode 100644 src/assets/icons/uiw/UiwReload.vue create mode 100644 src/assets/icons/uiw/UiwRight.vue create mode 100644 src/assets/icons/uiw/UiwRightCircle.vue create mode 100644 src/assets/icons/uiw/UiwRightCircleO.vue create mode 100644 src/assets/icons/uiw/UiwRightSquare.vue create mode 100644 src/assets/icons/uiw/UiwRightSquareO.vue create mode 100644 src/assets/icons/uiw/UiwRollback.vue create mode 100644 src/assets/icons/uiw/UiwSafari.vue create mode 100644 src/assets/icons/uiw/UiwSafety.vue create mode 100644 src/assets/icons/uiw/UiwSave.vue create mode 100644 src/assets/icons/uiw/UiwSearch.vue create mode 100644 src/assets/icons/uiw/UiwSetting.vue create mode 100644 src/assets/icons/uiw/UiwSettingO.vue create mode 100644 src/assets/icons/uiw/UiwShare.vue create mode 100644 src/assets/icons/uiw/UiwShoppingCart.vue create mode 100644 src/assets/icons/uiw/UiwShrink.vue create mode 100644 src/assets/icons/uiw/UiwSmile.vue create mode 100644 src/assets/icons/uiw/UiwSmileO.vue create mode 100644 src/assets/icons/uiw/UiwSquareO.vue create mode 100644 src/assets/icons/uiw/UiwStarOff.vue create mode 100644 src/assets/icons/uiw/UiwStarOn.vue create mode 100644 src/assets/icons/uiw/UiwStop.vue create mode 100644 src/assets/icons/uiw/UiwStopO.vue create mode 100644 src/assets/icons/uiw/UiwSwap.vue create mode 100644 src/assets/icons/uiw/UiwSwapLeft.vue create mode 100644 src/assets/icons/uiw/UiwSwapRight.vue create mode 100644 src/assets/icons/uiw/UiwTable.vue create mode 100644 src/assets/icons/uiw/UiwTag.vue create mode 100644 src/assets/icons/uiw/UiwTagO.vue create mode 100644 src/assets/icons/uiw/UiwTags.vue create mode 100644 src/assets/icons/uiw/UiwTagsO.vue create mode 100644 src/assets/icons/uiw/UiwTaobao.vue create mode 100644 src/assets/icons/uiw/UiwTime.vue create mode 100644 src/assets/icons/uiw/UiwTimeO.vue create mode 100644 src/assets/icons/uiw/UiwTwitter.vue create mode 100644 src/assets/icons/uiw/UiwUiw.vue create mode 100644 src/assets/icons/uiw/UiwUnlock.vue create mode 100644 src/assets/icons/uiw/UiwUp.vue create mode 100644 src/assets/icons/uiw/UiwUpCircle.vue create mode 100644 src/assets/icons/uiw/UiwUpCircleO.vue create mode 100644 src/assets/icons/uiw/UiwUpSquare.vue create mode 100644 src/assets/icons/uiw/UiwUpSquareO.vue create mode 100644 src/assets/icons/uiw/UiwUpload.vue create mode 100644 src/assets/icons/uiw/UiwUser.vue create mode 100644 src/assets/icons/uiw/UiwUserAdd.vue create mode 100644 src/assets/icons/uiw/UiwUserDelete.vue create mode 100644 src/assets/icons/uiw/UiwUsergroupAdd.vue create mode 100644 src/assets/icons/uiw/UiwUsergroupDelete.vue create mode 100644 src/assets/icons/uiw/UiwVerification.vue create mode 100644 src/assets/icons/uiw/UiwVerticleLeft.vue create mode 100644 src/assets/icons/uiw/UiwVerticleRight.vue create mode 100644 src/assets/icons/uiw/UiwVideoCamera.vue create mode 100644 src/assets/icons/uiw/UiwWarning.vue create mode 100644 src/assets/icons/uiw/UiwWarningO.vue create mode 100644 src/assets/icons/uiw/UiwWeibo.vue create mode 100644 src/assets/icons/uiw/UiwWeixin.vue create mode 100644 src/assets/icons/uiw/UiwWifi.vue create mode 100644 src/assets/icons/uiw/UiwWindows.vue create mode 100644 src/assets/icons/uiw/UiwWoman.vue create mode 100644 src/assets/icons/uiw/UiwZoomIn.vue create mode 100644 src/assets/icons/uiw/UiwZoomOut.vue create mode 100644 src/assets/images/fileImg/README.md create mode 100644 src/assets/images/fileImg/docx.png create mode 100644 src/assets/images/fileImg/file.png create mode 100644 src/assets/images/fileImg/gif.png create mode 100644 src/assets/images/fileImg/html.png create mode 100644 src/assets/images/fileImg/img.png create mode 100644 src/assets/images/fileImg/pdf.png create mode 100644 src/assets/images/fileImg/png.png create mode 100644 src/assets/images/fileImg/ppt.png create mode 100644 src/assets/images/fileImg/rar.png create mode 100644 src/assets/images/fileImg/txt.png create mode 100644 src/assets/images/fileImg/xlsx.png create mode 100644 src/assets/images/fileImg/zip.png create mode 100644 src/components/Chart/eCBingZhuangTu/CustomizedPie.vue create mode 100644 src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue create mode 100644 src/components/Chart/eCBingZhuangTu/NightingaleChart.vue create mode 100644 src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue create mode 100644 src/components/Chart/eCKXianTu/BasicCandlestick.vue create mode 100644 src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue create mode 100644 src/components/Chart/eCKXianTu/ShangHaiIndex.vue create mode 100644 src/components/Chart/eCLouDouTu/CustomizedFunnel.vue create mode 100644 src/components/Chart/eCLouDouTu/FunnelChart.vue create mode 100644 src/components/Chart/eCLouDouTu/FunnelCompare.vue create mode 100644 src/components/Chart/eCLouDouTu/MultipleFunnels.vue create mode 100644 src/components/Chart/eCSanDianTu/BasicScatterChart.vue create mode 100644 src/components/Chart/eCSanDianTu/ClusteringProcess.vue create mode 100644 src/components/Chart/eCSanDianTu/EffectScatterChart.vue create mode 100644 src/components/Chart/eCSanDianTu/ScatterAqiColor.vue create mode 100644 src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue create mode 100644 src/components/Chart/eCXianXingTu/BasicLineChart.vue create mode 100644 src/components/Chart/eCXianXingTu/StackedAreaChart.vue create mode 100644 src/components/Chart/eCXianXingTu/StackedLineChart.vue create mode 100644 src/components/Chart/eCXianXingTu/StepLine.vue create mode 100644 src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue create mode 100644 src/components/Chart/eCYiBiaoTu/GrogressGauge.vue create mode 100644 src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue create mode 100644 src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue create mode 100644 src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue create mode 100644 src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue create mode 100644 src/components/Chart/eCZhuZhuangTu/BasicBar.vue create mode 100644 src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue create mode 100644 src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue create mode 100644 src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue create mode 100644 src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue create mode 100644 src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue create mode 100644 src/components/Chart/g2CiYunTu/CiYunTu01.vue create mode 100644 src/components/Chart/g2CiYunTu/CiYunTu02.vue create mode 100644 src/components/Chart/g2JinDuTu/JinDuTu01.vue create mode 100644 src/components/Chart/g2JinDuTu/JinDuTu02.vue create mode 100644 src/components/Chart/g2JinDuTu/JinDuTu03.vue create mode 100644 src/components/Chart/g2JinDuTu/JinDuTu04.vue create mode 100644 src/components/Chart/g2LouDouTu/LouDouTu01.vue create mode 100644 src/components/Chart/g2LouDouTu/LouDouTu02.vue create mode 100644 src/components/Chart/g2MianJiTu/MianJiTu01.vue create mode 100644 src/components/Chart/g2MianJiTu/MianJiTu02.vue create mode 100644 src/components/Chart/g2MianJiTu/MianJiTu03.vue create mode 100644 src/components/Chart/g2MianJiTu/MianJiTu04.vue create mode 100644 src/components/Chart/g2SanDianTu/SanDianTu01.vue create mode 100644 src/components/Chart/g2SanDianTu/SanDianTu02.vue create mode 100644 src/components/Chart/g2SanDianTu/SanDianTu03.vue create mode 100644 src/components/Chart/g2SanDianTu/SanDianTu04.vue create mode 100644 src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue create mode 100644 src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue create mode 100644 src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue create mode 100644 src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue create mode 100644 src/components/Chart/g2ZheXianTu/ZheXianTu01.vue create mode 100644 src/components/Chart/g2ZheXianTu/ZheXianTu02.vue create mode 100644 src/components/Chart/g2ZheXianTu/ZheXianTu03.vue create mode 100644 src/components/Chart/g2ZheXianTu/ZheXianTu04.vue create mode 100644 src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue create mode 100644 src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue create mode 100644 src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue create mode 100644 src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue create mode 100644 src/components/Chart/g2ZiDanTu/ZiDanTu01.vue create mode 100644 src/components/Chart/g2ZiDanTu/ZiDanTu02.vue create mode 100644 src/components/ColorPicker/index.vue create mode 100644 src/components/Cron/data.js create mode 100644 src/components/Cron/index.vue create mode 100644 src/components/CropUpload/index.vue create mode 100644 src/components/DragModal/index.vue create mode 100644 src/components/DragModal/props.js create mode 100644 src/components/Editor/README.md create mode 100644 src/components/Editor/index.vue create mode 100644 src/components/Ellipsis/index.md create mode 100644 src/components/Ellipsis/index.vue create mode 100644 src/components/Ellipsis/util.js create mode 100644 src/components/HomeCard/BizMiniMessageCard/index.vue create mode 100644 src/components/HomeCard/BizNoticeCard/detail.vue create mode 100644 src/components/HomeCard/BizNoticeCard/index.vue create mode 100644 src/components/HomeCard/BizScheduleCard/index.vue create mode 100644 src/components/HomeCard/BizShortcutCard/index.vue create mode 100644 src/components/HomeCard/BizSlideshowCard/index.vue create mode 100644 src/components/HomeCard/SysBizDataCard/index.vue create mode 100644 src/components/HomeCard/SysOpDataCard/index.vue create mode 100644 src/components/HomeCard/SysOpLogCard/index.vue create mode 100644 src/components/HomeCard/SysToolDataCard/index.vue create mode 100644 src/components/HomeCard/SysUserInfoCard/index.vue create mode 100644 src/components/HomeCard/SysVisChartDataCard/index.vue create mode 100644 src/components/HomeCard/SysVisLogCard/index.vue create mode 100644 src/components/Map/baiduMap/README.md create mode 100644 src/components/Map/baiduMap/index.vue create mode 100644 src/components/Map/gaodeMap/README.md create mode 100644 src/components/Map/gaodeMap/index.vue create mode 100644 src/components/NumberInfo/NumberInfo.vue create mode 100644 src/components/NumberInfo/index.less create mode 100644 src/components/Selector/iconMobileSelector.vue create mode 100644 src/components/Selector/iconSelector.vue create mode 100644 src/components/Selector/iconSelector_README.md create mode 100644 src/components/Selector/orgSelectorPlus.vue create mode 100644 src/components/Selector/posSelectorPlus.vue create mode 100644 src/components/Selector/roleSelectorPlus.vue create mode 100644 src/components/Selector/userSelectorPlus.vue create mode 100644 src/components/ShortcutCard/index.vue create mode 100644 src/components/Table/README.md create mode 100644 src/components/Table/columnSetting.vue create mode 100644 src/components/Table/index.vue create mode 100644 src/components/TreeSelect/menuTreeSelect.vue create mode 100644 src/components/Trend/Trend.vue create mode 100644 src/components/Trend/index.less create mode 100644 src/components/XnBatchButton/index.vue create mode 100644 src/components/XnBatchDelete/index.vue create mode 100644 src/components/XnCardList/README.md create mode 100644 src/components/XnCardList/index.vue create mode 100644 src/components/XnContextMenu/index.vue create mode 100644 src/components/XnDataList/README.md create mode 100644 src/components/XnDataList/index.vue create mode 100644 src/components/XnEditor/index.vue create mode 100644 src/components/XnFilePreview/README.md create mode 100644 src/components/XnFilePreview/index.vue create mode 100644 src/components/XnFormContainer/index.vue create mode 100644 src/components/XnHighlightjs/index.vue create mode 100644 src/components/XnOrgSelector/README.md create mode 100644 src/components/XnOrgSelector/index.vue create mode 100644 src/components/XnPageSelect/README.assets/分页下拉查询展示.gif create mode 100644 src/components/XnPageSelect/README.md create mode 100644 src/components/XnPageSelect/index.vue create mode 100644 src/components/XnPositionSelector/README.md create mode 100644 src/components/XnPositionSelector/index.vue create mode 100644 src/components/XnRoleSelector/README.md create mode 100644 src/components/XnRoleSelector/index.vue create mode 100644 src/components/XnSignName/README.md create mode 100644 src/components/XnSignName/index.vue create mode 100644 src/components/XnSignName/vueEsign.vue create mode 100644 src/components/XnUpload/README.md create mode 100644 src/components/XnUpload/index.vue create mode 100644 src/components/XnUserSelector/README.md create mode 100644 src/components/XnUserSelector/index.vue create mode 100644 src/components/XnUserSelector/userSelectorTest.vue create mode 100644 src/components/global.less create mode 100644 src/components/index.less create mode 100644 src/config/iconSelect.js create mode 100644 src/config/index.js create mode 100644 src/config/route.js create mode 100644 src/config/settingConfig.js create mode 100644 src/config/themeColor.js create mode 100644 src/layout/components/NavMenu.vue create mode 100644 src/layout/components/breadcrumb.vue create mode 100644 src/layout/components/iframeView.vue create mode 100644 src/layout/components/message.vue create mode 100644 src/layout/components/moduleMenu.vue create mode 100644 src/layout/components/panel-search/index.vue create mode 100755 src/layout/components/panel-search/item.vue create mode 100644 src/layout/components/setting.vue create mode 100644 src/layout/components/sideM.vue create mode 100644 src/layout/components/tags.vue create mode 100644 src/layout/components/topbar.vue create mode 100644 src/layout/components/userbar.vue create mode 100644 src/layout/enum/layoutEnum.js create mode 100644 src/layout/enum/themeEnum.js create mode 100644 src/layout/index.vue create mode 100644 src/layout/menu/classicalMenu.vue create mode 100644 src/layout/menu/doubleRowMenu.vue create mode 100644 src/layout/menu/topMenu.vue create mode 100644 src/layout/other/403.vue create mode 100644 src/layout/other/404.vue create mode 100644 src/layout/other/empty.vue create mode 100644 src/locales/index.js create mode 100644 src/locales/lang/en.js create mode 100644 src/locales/lang/zh-cn.js create mode 100644 src/main.js create mode 100644 src/router/index.js create mode 100644 src/router/scrollBehavior.js create mode 100644 src/router/systemRouter.js create mode 100644 src/router/whiteList.js create mode 100644 src/snowy.js create mode 100644 src/store/global.js create mode 100644 src/store/iframe.js create mode 100644 src/store/index.js create mode 100644 src/store/keepAlive.js create mode 100644 src/store/menu.js create mode 100755 src/store/search.js create mode 100644 src/store/sysBaseConfig.js create mode 100644 src/store/user.js create mode 100644 src/store/viewTags.js create mode 100644 src/style/default.less create mode 100644 src/style/index.less create mode 100644 src/style/readme.md create mode 100644 src/style/realdark.less create mode 100644 src/tailwind.css create mode 100644 src/utils/color.js create mode 100644 src/utils/device.js create mode 100644 src/utils/downloadUtil.js create mode 100644 src/utils/enum.js create mode 100644 src/utils/errorHandler.js create mode 100644 src/utils/formRules.js create mode 100644 src/utils/loading.js create mode 100644 src/utils/objects.js create mode 100644 src/utils/permission/index.js create mode 100644 src/utils/request.js create mode 100644 src/utils/routerUtil.js create mode 100644 src/utils/smCrypto.js create mode 100644 src/utils/template.js create mode 100644 src/utils/themeUtil.js create mode 100644 src/utils/tool.js create mode 100644 src/utils/useTabs.js create mode 100644 src/utils/watermark.js create mode 100644 src/views/auth/findPwd/emailFindForm.vue create mode 100644 src/views/auth/findPwd/index.vue create mode 100644 src/views/auth/findPwd/phoneFindForm.vue create mode 100644 src/views/auth/login/callback.vue create mode 100644 src/views/auth/login/login.less create mode 100644 src/views/auth/login/login.vue create mode 100644 src/views/auth/login/phoneLoginForm.vue create mode 100644 src/views/auth/login/threeLogin.vue create mode 100644 src/views/auth/login/util.js create mode 100644 src/views/auth/monitor/analyse.vue create mode 100644 src/views/auth/monitor/bTab.vue create mode 100644 src/views/auth/monitor/cTab.vue create mode 100644 src/views/auth/monitor/index.vue create mode 100644 src/views/auth/monitor/tokenInfoList.vue create mode 100644 src/views/auth/third/index.vue create mode 100644 src/views/biz/dict/form.vue create mode 100644 src/views/biz/dict/index.vue create mode 100644 src/views/biz/index/index.vue create mode 100644 src/views/biz/notice/detail.vue create mode 100644 src/views/biz/notice/form.vue create mode 100644 src/views/biz/notice/index.vue create mode 100644 src/views/biz/org/form.vue create mode 100644 src/views/biz/org/index.vue create mode 100644 src/views/biz/position/form.vue create mode 100644 src/views/biz/position/index.vue create mode 100644 src/views/biz/user/form.vue create mode 100644 src/views/biz/user/index.vue create mode 100644 src/views/dev/config/emailConfig/aliyunEmailForm.vue create mode 100644 src/views/dev/config/emailConfig/index.vue create mode 100644 src/views/dev/config/emailConfig/localEmailForm.vue create mode 100644 src/views/dev/config/emailConfig/tencentEmailForm.vue create mode 100644 src/views/dev/config/fileConfig/aliyunFileForm.vue create mode 100644 src/views/dev/config/fileConfig/index.vue create mode 100644 src/views/dev/config/fileConfig/localFileForm.vue create mode 100644 src/views/dev/config/fileConfig/minioFileForm.vue create mode 100644 src/views/dev/config/fileConfig/tencentFileForm.vue create mode 100644 src/views/dev/config/index.vue create mode 100644 src/views/dev/config/otherConfig/form.vue create mode 100644 src/views/dev/config/otherConfig/index.vue create mode 100644 src/views/dev/config/smsConfig/aliyunSmsForm.vue create mode 100644 src/views/dev/config/smsConfig/index.vue create mode 100644 src/views/dev/config/smsConfig/tencentSmsForm.vue create mode 100644 src/views/dev/config/smsConfig/xiaonuoSmsForm.vue create mode 100644 src/views/dev/config/sysConfig.vue create mode 100644 src/views/dev/config/thirdConfig/giteeThirdForm.vue create mode 100644 src/views/dev/config/thirdConfig/index.vue create mode 100644 src/views/dev/config/thirdConfig/wechatThirdForm.vue create mode 100644 src/views/dev/dict/category/bizIndex.vue create mode 100644 src/views/dev/dict/category/form.vue create mode 100644 src/views/dev/dict/category/frmIndex.vue create mode 100644 src/views/dev/dict/index.vue create mode 100644 src/views/dev/email/detail.vue create mode 100644 src/views/dev/email/form.vue create mode 100644 src/views/dev/email/index.vue create mode 100644 src/views/dev/email/send/aliyunEmailSend.vue create mode 100644 src/views/dev/email/send/localEmailSend.vue create mode 100644 src/views/dev/email/send/tencentEmailSend.vue create mode 100644 src/views/dev/file/detail.vue create mode 100644 src/views/dev/file/index.vue create mode 100644 src/views/dev/file/preview.vue create mode 100644 src/views/dev/file/uploadForm.vue create mode 100644 src/views/dev/job/form.vue create mode 100644 src/views/dev/job/index.vue create mode 100644 src/views/dev/log/oplog/columnChart.vue create mode 100644 src/views/dev/log/oplog/detail.vue create mode 100644 src/views/dev/log/oplog/index.vue create mode 100644 src/views/dev/log/oplog/pieChart.vue create mode 100644 src/views/dev/log/vislog/detail.vue create mode 100644 src/views/dev/log/vislog/index.vue create mode 100644 src/views/dev/log/vislog/lineChart.vue create mode 100644 src/views/dev/log/vislog/pieChart.vue create mode 100644 src/views/dev/message/detail.vue create mode 100644 src/views/dev/message/form.vue create mode 100644 src/views/dev/message/index.vue create mode 100644 src/views/dev/monitor/index.vue create mode 100644 src/views/dev/slideshow/form.vue create mode 100644 src/views/dev/slideshow/index.vue create mode 100644 src/views/dev/slideshow/subForm.vue create mode 100644 src/views/dev/sms/detail.vue create mode 100644 src/views/dev/sms/form.vue create mode 100644 src/views/dev/sms/index.vue create mode 100644 src/views/dev/sms/send/aliyunSmsSend.vue create mode 100644 src/views/dev/sms/send/tencentSmsSend.vue create mode 100644 src/views/dev/sms/send/xiaonuoSmsSend.vue create mode 100644 src/views/exm/chart/eCBingZhuangTu.vue create mode 100644 src/views/exm/chart/eCHengTiaoTu.vue create mode 100644 src/views/exm/chart/eCKXianTu.vue create mode 100644 src/views/exm/chart/eCLouDouTu.vue create mode 100644 src/views/exm/chart/eCSanDianTu.vue create mode 100644 src/views/exm/chart/eCShuXingTu.vue create mode 100644 src/views/exm/chart/eCXianXingTu.vue create mode 100644 src/views/exm/chart/eCYiBiaoTu.vue create mode 100644 src/views/exm/chart/eCZheZhuTu.vue create mode 100644 src/views/exm/chart/eCZhuZhuangTu.vue create mode 100644 src/views/exm/chart/g2BingZhuangTu.vue create mode 100644 src/views/exm/chart/g2CiYunTu.vue create mode 100644 src/views/exm/chart/g2JinDuTu.vue create mode 100644 src/views/exm/chart/g2LouDouTu.vue create mode 100644 src/views/exm/chart/g2MianJiTu.vue create mode 100644 src/views/exm/chart/g2SanDianTu.vue create mode 100644 src/views/exm/chart/g2TiaoXingTu.vue create mode 100644 src/views/exm/chart/g2ZheXianTu.vue create mode 100644 src/views/exm/chart/g2ZhuZhuangTu.vue create mode 100644 src/views/exm/chart/g2ZiDanTu.vue create mode 100644 src/views/exm/editor/index.vue create mode 100644 src/views/exm/iconSelect/index.vue create mode 100644 src/views/exm/map/baiduMap.vue create mode 100644 src/views/exm/map/gaodeMap.vue create mode 100644 src/views/exm/nestRoutor/index.vue create mode 100644 src/views/gen/basic.vue create mode 100644 src/views/gen/config.vue create mode 100644 src/views/gen/index.vue create mode 100644 src/views/gen/preview.vue create mode 100644 src/views/gen/steps.vue create mode 100644 src/views/index/index.vue create mode 100644 src/views/mobile/resource/button/form.vue create mode 100644 src/views/mobile/resource/button/index.vue create mode 100644 src/views/mobile/resource/menu/changeModuleForm.vue create mode 100644 src/views/mobile/resource/menu/form.vue create mode 100644 src/views/mobile/resource/menu/index.vue create mode 100644 src/views/mobile/resource/module/form.vue create mode 100644 src/views/mobile/resource/module/index.vue create mode 100644 src/views/other/index.vue create mode 100644 src/views/sys/org/form.vue create mode 100644 src/views/sys/org/index.vue create mode 100644 src/views/sys/position/form.vue create mode 100644 src/views/sys/position/index.vue create mode 100644 src/views/sys/resource/button/form.vue create mode 100644 src/views/sys/resource/button/index.vue create mode 100644 src/views/sys/resource/field/form.vue create mode 100644 src/views/sys/resource/field/index.vue create mode 100644 src/views/sys/resource/menu/changeModuleForm.vue create mode 100644 src/views/sys/resource/menu/form.vue create mode 100644 src/views/sys/resource/menu/index.vue create mode 100644 src/views/sys/resource/module/form.vue create mode 100644 src/views/sys/resource/module/index.vue create mode 100644 src/views/sys/role/form.vue create mode 100644 src/views/sys/role/grantMobileResourceForm.vue create mode 100644 src/views/sys/role/grantPermissionForm.vue create mode 100644 src/views/sys/role/grantResourceForm.vue create mode 100644 src/views/sys/role/index.vue create mode 100644 src/views/sys/role/scopeDefineOrg.vue create mode 100644 src/views/sys/user/form.vue create mode 100644 src/views/sys/user/grantPermissionForm.vue create mode 100644 src/views/sys/user/grantResourceForm.vue create mode 100644 src/views/sys/user/impExp.vue create mode 100644 src/views/sys/user/index.vue create mode 100644 src/views/sys/user/scopeDefineOrg.vue create mode 100644 src/views/sys/user/userCenter.vue create mode 100644 src/views/sys/user/userTab/accountBasic.vue create mode 100644 src/views/sys/user/userTab/accountBind.vue create mode 100644 src/views/sys/user/userTab/bindForm/updatePassword.vue create mode 100644 src/views/sys/user/userTab/organizationChart.vue create mode 100644 src/views/sys/user/userTab/shortcutSetting.vue create mode 100644 src/views/sys/user/userTab/userMessage.vue create mode 100644 src/views/sys/user/userTab/userMessage/detail.vue create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 vite.config.mjs diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4e1edd1 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = tab +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..4cd72e7 --- /dev/null +++ b/.env.development @@ -0,0 +1,14 @@ +# 本地环境 +NODE_ENV = development + +# 标题 +VITE_TITLE = Snowy + +# 接口地址 +VITE_API_BASEURL = http://localhost:82 + +# 本地端口 +VITE_PORT = 81 + +# 开启设置抽屉 +VITE_SET_DRAWER = true diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..cc8d8d4 --- /dev/null +++ b/.env.production @@ -0,0 +1,14 @@ +# 生产环境 +NODE_ENV = production + +# 标题 +VITE_TITLE = Snowy + +# 接口地址 +VITE_API_BASEURL = http://127.0.0.1:82 + +# 本地端口 +VITE_PORT = 81 + +# 开启设置抽屉 +VITE_SET_DRAWER = false diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..c756d58 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,39 @@ +module.exports = { + root: true, + env: { + browser: true, + node: true, + es6: true, + 'vue/setup-compiler-macros': true + }, + parser: 'vue-eslint-parser', + extends: ['plugin:vue/vue3-recommended', 'eslint:recommended', 'plugin:prettier/recommended'], + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module', + jsxPragma: 'React', + ecmaFeatures: { + jsx: true + } + }, + rules: { + 'no-unused-vars': 'off', + 'no-undef': 'off', + 'vue/script-setup-uses-vars': 'error', + 'vue/custom-event-name-casing': 'off', + 'no-use-before-define': 'off', + 'space-before-function-paren': 'off', + 'vue/attributes-order': 'off', + 'vue/one-component-per-file': 'off', + 'vue/html-closing-bracket-newline': 'off', + 'vue/max-attributes-per-line': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/singleline-html-element-content-newline': 'off', + 'vue/attribute-hyphenation': 'off', + 'vue/require-default-prop': 'off', + 'vue/html-self-closing': 'off', + 'vue/v-on-event-hyphenation': 'off', + 'vue/multi-word-component-names': 'off', + 'prettier/prettier': ['error', { endOfLine: 'auto' }] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5ee395 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +.DS_Store +node_modules +/dist +*.lock +package-lock.json + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# other files +stats.html +auto-imports.d.ts + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d6aac6c --- /dev/null +++ b/LICENSE @@ -0,0 +1,53 @@ +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must cause any modified files to carry prominent notices stating that You changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + +You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..069bea9 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ + +## 安装依赖 + +``` +npm install +``` + +## 启动项目(开发模式) + +``` +npm run serve +``` + +启动完成后浏览器访问 http://localhost:81 diff --git a/antd.js b/antd.js new file mode 100644 index 0000000..39b3267 --- /dev/null +++ b/antd.js @@ -0,0 +1,299 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +function kebabCase(value) { + return value + .replace(/([A-Z])/g, ' $1') + .trim() + .split(' ') + .join('-') + .toLowerCase() +} +const antComponents = [ + 'Affix', + 'Alert', + 'Anchor', + 'AnchorLink', + 'AutoComplete', + 'AutoCompleteOptGroup', + 'AutoCompleteOption', + 'Avatar', + 'AvatarGroup', + 'BackTop', + 'Badge', + 'BadgeRibbon', + 'Breadcrumb', + 'BreadcrumbItem', + 'BreadcrumbSeparator', + 'Button', + 'ButtonGroup', + 'Calendar', + 'Card', + 'CardGrid', + 'CardMeta', + 'Carousel', + 'Cascader', + 'CheckableTag', + 'Checkbox', + 'CheckboxGroup', + 'Col', + 'Collapse', + 'CollapsePanel', + 'Comment', + 'ConfigProvider', + 'DatePicker', + 'Descriptions', + 'DescriptionsItem', + 'DirectoryTree', + 'Divider', + 'Drawer', + 'Dropdown', + 'DropdownButton', + 'Empty', + 'Form', + 'FormItem', + 'FormItemRest', + 'Image', + 'ImagePreviewGroup', + 'Input', + 'InputGroup', + 'InputNumber', + 'InputPassword', + 'InputSearch', + 'Layout', + 'LayoutContent', + 'LayoutFooter', + 'LayoutHeader', + 'LayoutSider', + 'List', + 'ListItem', + 'ListItemMeta', + 'LocaleProvider', + 'Mentions', + 'MentionsOption', + 'Menu', + 'MenuDivider', + 'MenuItem', + 'MenuItemGroup', + 'Modal', + 'MonthPicker', + 'PageHeader', + 'Pagination', + 'Popconfirm', + 'Popover', + 'Progress', + 'QuarterPicker', + 'Radio', + 'RadioButton', + 'RadioGroup', + 'RangePicker', + 'Rate', + 'Result', + 'Row', + 'Select', + 'SelectOptGroup', + 'SelectOption', + 'Skeleton', + 'SkeletonAvatar', + 'SkeletonButton', + 'SkeletonImage', + 'SkeletonInput', + 'Slider', + 'Space', + 'Spin', + 'Statistic', + 'StatisticCountdown', + 'Step', + 'Steps', + 'SubMenu', + 'Switch', + 'TabPane', + 'Table', + 'TableColumn', + 'TableColumnGroup', + 'TableSummary', + 'TableSummaryCell', + 'TableSummaryRow', + 'Tabs', + 'Tag', + 'Textarea', + 'TimePicker', + 'TimeRangePicker', + 'Timeline', + 'TimelineItem', + 'Tooltip', + 'Transfer', + 'Tree', + 'TreeNode', + 'TreeSelect', + 'TreeSelectNode', + 'Typography', + 'TypographyLink', + 'TypographyParagraph', + 'TypographyText', + 'TypographyTitle', + 'Upload', + 'UploadDragger', + 'WeekPicker' +] +const matchComponents = [ + { + pattern: /^Avatar/, + styleDir: 'avatar' + }, + { + pattern: /^AutoComplete/, + styleDir: 'auto-complete' + }, + { + pattern: /^Anchor/, + styleDir: 'anchor' + }, + { + pattern: /^Badge/, + styleDir: 'badge' + }, + { + pattern: /^Breadcrumb/, + styleDir: 'breadcrumb' + }, + { + pattern: /^Button/, + styleDir: 'button' + }, + { + pattern: /^Checkbox/, + styleDir: 'checkbox' + }, + { + pattern: /^Card/, + styleDir: 'card' + }, + { + pattern: /^Collapse/, + styleDir: 'collapse' + }, + { + pattern: /^Descriptions/, + styleDir: 'descriptions' + }, + { + pattern: /^RangePicker|^WeekPicker|^MonthPicker|^QuarterPicker/, + styleDir: 'date-picker' + }, + { + pattern: /^TimeRangePicker/, + styleDir: 'time-picker' + }, + { + pattern: /^Dropdown/, + styleDir: 'dropdown' + }, + { + pattern: /^Form/, + styleDir: 'form' + }, + { + pattern: /^InputNumber/, + styleDir: 'input-number' + }, + { + pattern: /^Input|^Textarea/, + styleDir: 'input' + }, + { + pattern: /^Statistic/, + styleDir: 'statistic' + }, + { + pattern: /^CheckableTag/, + styleDir: 'tag' + }, + { + pattern: /^Layout/, + styleDir: 'layout' + }, + { + pattern: /^Menu|^SubMenu/, + styleDir: 'menu' + }, + { + pattern: /^Table/, + styleDir: 'table' + }, + { + pattern: /^Radio/, + styleDir: 'radio' + }, + { + pattern: /^Image/, + styleDir: 'image' + }, + { + pattern: /^List/, + styleDir: 'list' + }, + { + pattern: /^Tab/, + styleDir: 'tabs' + }, + { + pattern: /^Mentions/, + styleDir: 'mentions' + }, + { + pattern: /^Step/, + styleDir: 'steps' + }, + { + pattern: /^Skeleton/, + styleDir: 'skeleton' + }, + { + pattern: /^Select/, + styleDir: 'select' + }, + { + pattern: /^TreeSelect/, + styleDir: 'tree-select' + }, + { + pattern: /^Tree|^DirectoryTree/, + styleDir: 'tree' + }, + { + pattern: /^Typography/, + styleDir: 'typography' + }, + { + pattern: /^Timeline/, + styleDir: 'timeline' + }, + { + pattern: /^Upload/, + styleDir: 'upload' + } +] +const antStyleDeps = Array.from( + new Set( + antComponents.map((name) => { + for (let i = 0; i < matchComponents.length; i++) { + if (name.match(matchComponents[i].pattern)) { + return matchComponents[i].styleDir + } + } + return kebabCase(name) + }) + ) +).map((name) => { + return `ant-design-vue/es/${name}/style` +}) + +export default antStyleDeps diff --git a/index.html b/index.html new file mode 100644 index 0000000..55d2e34 --- /dev/null +++ b/index.html @@ -0,0 +1,35 @@ + + + + + + + + Snowy + + + + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..abb8a77 --- /dev/null +++ b/package.json @@ -0,0 +1,90 @@ +{ + "name": "snowy-admin-web", + "version": "3.0.0", + "private": true, + "description": "小诺团队旗下Snowy前端,基于Antdv3.2+Vue3.2+Vite2.8", + "repository": { + "type": "git", + "url": "https://www.gitee.com/xiaonuobase/snowy" + }, + "license": "Apache-2.0", + "author": "yubaoshan", + "scripts": { + "serve": "vite --host 0.0.0.0", + "dev": "vite --mode development --host 0.0.0.0", + "preview": "vite preview", + "build": "vite build --mode production", + "prod": "vite --mode production" + }, + "dependencies": { + "@amap/amap-jsapi-loader": "1.0.1", + "@ant-design/colors": "7.0.0", + "@ant-design/icons-vue": "7.0.1", + "@antv/g2plot": "2.4.31", + "@chenfengyuan/vue-qrcode": "2.0.0", + "@highlightjs/vue-plugin": "2.1.0", + "@tinymce/tinymce-vue": "5.1.1", + "@vue-office/docx": "1.6.0", + "@vue-office/excel": "1.7.1", + "@vue-office/pdf": "1.6.4", + "ant-design-vue": "4.1.2", + "axios": "1.6.2", + "cropperjs": "1.6.1", + "dayjs": "1.11.10", + "echarts": "5.4.3", + "echarts-stat": "1.2.0", + "enquire.js": "2.1.6", + "event-source-polyfill": "1.0.31", + "fuse.js": "7.0.0", + "highlight.js": "11.9.0", + "hotkeys-js": "3.12.2", + "js-pinyin": "0.2.5", + "lodash-es": "4.17.21", + "nprogress": "0.2.0", + "pinia": "2.1.7", + "qs": "6.11.2", + "screenfull": "6.0.2", + "sm-crypto": "0.3.13", + "snowflake-id": "1.1.0", + "sortablejs": "1.15.1", + "tinymce": "6.8.1", + "vue": "3.4.21", + "vue-cropper": "1.1.1", + "vue-i18n": "9.8.0", + "vue-router": "4.3.0", + "vue3-colorpicker": "2.3.0", + "vue3-tree-org": "4.2.2", + "vuedraggable-es": "4.1.1" + }, + "devDependencies": { + "@babel/eslint-parser": "7.19.1", + "@vitejs/plugin-legacy": "5.2.0", + "@vitejs/plugin-vue": "4.5.2", + "@vitejs/plugin-vue-jsx": "3.1.0", + "@vue/compiler-sfc": "3.3.10", + "@vue/eslint-config-standard": "8.0.1", + "antd-less-to-css-variable": "1.0.5", + "autoprefixer": "10.4.16", + "eslint": "8.55.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.0.1", + "eslint-plugin-vue": "9.7.0", + "less": "4.1.3", + "postcss": "8.4.32", + "prettier": "3.1.0", + "rollup-plugin-visualizer": "5.10.0", + "tailwindcss": "3.3.6", + "typescript": "5.3.3", + "unplugin-auto-import": "0.17.2", + "unplugin-vue-components": "0.26.0", + "vite": "5.1.6", + "vite-plugin-compression": "0.5.1", + "vite-plugin-vue-setup-extend": "0.4.0", + "vue-eslint-parser": "9.3.2" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..179e992 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,16 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +} diff --git a/prettier.config.js b/prettier.config.js new file mode 100644 index 0000000..3e2d12f --- /dev/null +++ b/prettier.config.js @@ -0,0 +1,40 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +module.exports = { + // 一行最多 180 字符 + printWidth: 120, + // 使用 2 个tab缩进 + tabWidth: 2, + // 使用tab符缩进,false为空格缩进 + useTabs: true, + // 行尾需要分号 + semi: false, + // 使用单引号 + singleQuote: true, + // 对象的 key 仅在必要时用引号 + quoteProps: 'as-needed', + // jsx 不使用单引号,而使用双引号 + jsxSingleQuote: false, + // 末尾不需要逗号 + trailingComma: 'none', + // 大括号内的首尾需要空格 + bracketSpacing: true, + // jsx 标签的反尖括号不需要换行 + jsxBracketSameLine: true, + // 箭头函数,只有一个参数的时候,也需要括号 + arrowParens: 'always', + // 根据显示样式决定 html 要不要折行 + htmlWhitespaceSensitivity: 'css', + // 换行符使用 lf + endOfLine: 'lf', + // 缩进js跟css + vueIndentScriptAndStyle: true +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9e3ed92f2842c0c91d9a72a689ed576ce3e88e82 GIT binary patch literal 4286 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≪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ν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

xf)h|bwnM>`+q(?c;57}57#c;4cc!%(wOOl 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

p%Y@*51ktsZAc%+%0B zNNk-U8Dj3*O6)X`AlWVjzJT_WEX79lbsRowCUmQKIY6;5-=}fycMU0d#h1_`A9M)x zD5gW)X>5ho-%d>OFbjqf1U9Gdgl+`2BFFpebi4N^an|r+SS-`5%meLR0w{?eZHG~Ikbgk1z?FB?fbq`l=2Mo*(u)gpWpCJj4qgrws%#^60lB|f_B20Qw zgf~mF(MOV+SVA&L;R@^6EM%ant7b|LQM;xXuJ;fm`X(FXWQx*B-1i>2*8QsXyjAHU z)EN3rzhFcU5#ZuxX2DDnuGn--iMm2!C<61lD#Mr>QCJAFoO#wO{r;GC)7U0q%z!px7s4=U zNjmAHH|aSjV~qj)hyhgK0b13)-#($;?P+rEUZ<--q#5qy(v|__B+Dwn}U(X6c**f*NbWS{PxyDyWZ?Y1Nu|Kb&|?mADg5SdX!|Izmzh zAv89cKM$WL4^`weApCJaGzTYAz*_2dQ=1y7WonN{&vMg}3 zEXerdp45*Ad&^_H03jGADGcCKN~F4M?P1G0Z^Jr_l`HGMG7n&VY$W*j+lundimCv+ zjIzXA%>U3uhBirKVq*TnxOaKc^!5P{CC~l4e^Oc&vG@Oh(klKzY2}3|&}7zsLA>lhs6 z77lfbLqppdG_-XsEkc{2(YV$ssTIv?Ei1Nv$F;xrgZ~xUmVe^>8@KiT3%B+3v4r?J zghaWAhuXqm_W$IzWpTf_?NBu5U(xM$h2=l#t#?phP?V2u4f zJhZ+tb@Ovzb8G7t%soN=3+8U4dF~&*;TMs>|IQ@ccYOXgll0|(G)cotAO1Hc>DM$5 zoc}OM-~Nk9dbR2ACh4^QGn4eZ4)X&=4-q95+#kj4OvI{q^ksK!ehVOhZK1Kz$#2u;;ED5R) ze#uTaF{b2F)pm{x?#MuH@<3TXyLV7jVXlgFN#n$PwA(dun0+q`XcT)8Q1L_h6vOPc zUkfE|mi)YPK!X3AOwV{C#^Yl@1@8Qwbh!_0-%R8@wG}o(mo*K3NXrnQN70`w$WmgMrvPpyXS=mV% zn<;6Y#EM&?Iu0Enu?&Ie(wSpP@ol*(cTwetIOIk2qq^H*!MN-^P02HTcHK*te<+ElI2NgY=TIgh zP>6naJSwK2^RsN^iHfA6@|kJI*(_T*(aHDJ9b+O%yK~eW+2m~(oN)zb6UyEP8{9kR z_2yH%M~_CXv0qU~z4;`zYUJaKOK0J;EXED@5AE52a^DkY&E|@b-^{7myWB4A7P#7} zocQFrleS)bwbyvQcePgoBzd%vjsQI8A7w9Td@%5ESb`s(%kuN&`x`XLom6S5yX8;w zF5uRplRrARpD~fx9$Il#O zW|zTuhoW0*=m5jvsS({+ZTDl|>@YQ52rCXgCYU$^_AuU;h0BcUDI+*M?1d4TaC~=C zun}bxC`%(sw2M{XUSxvZ3eKPtg-)YVROw1DgJZ4yi*%bvQb904KAv2m>nN7(<%)uG zV4rNdU;el*^Us`g*BhqNcjw~S-uw0U$Qew+a zrX2J_{uzKAudb1u&e2BM&hIGE$Jm69dK1-yb8_EZ!Z1V9Fi_>r)_quYB?oqH8l@ec z9XyhMLxwD0RaV2BkHjaJn@has+2vveDP)~Fo;1eA{Cfy}m65zBx>*gO9)1UBLu2{# zSJ&+CS$E#^DBC6kl_E>CeP8fk+f1YF{J%t@sPdEyIaDz0v3;JwVc$42jYfv|HIS5@?<RBAtS25ZbcTfSFfjTGOD%f?tJnP)tdWIU1OPi z=VLqT>=JnmTZ3e=Wn!r=dQG}c&o0ljCP8cHhN@PpPQW2PcP6Jxq{>)q(J4?z|F}B3 zep7GXHt6}n?mH257aibZH->&n?we+S<-R()>YEvlrA2*XU-^d607ZLV8zkvPO8mly zja!oo^vU|Bk8r74L$pPy=dMS4gdx$7yY&pjZT_bX3uLxgb(~!b?+8JLtc7v)*Y<}R z3A9ExS+!jkIG;o93!~qhiF!!u?}X&dykj-#?2$`JHOfg^VFq5bKWVmBhSR_2;c{-H zs6O;h+%ZlmtnS}VJd(RdxQ5@|it5t1>App-yOtb4I;eKj{dtBTo3&$U@Lh_v+(zO1 zq*~HpGl#+y>V6ZJ>v$rd$m2LkFCT0+?J&zv4{nPL;_^|*lrWZ^WX(*D%c_XtCCyhx zbATcqhq?G=Zbg)c7$*X^!%K#=@nma-i=_cuy7yn=HBp^N`;3ggBCH)GSZAJMJzpl5$Ow^O->HC#3t z64xGgG6`x(cvTvP4Sa8lg(Lje9u7NuSl=AONmTl=?`5Ksm?u}Q#Ey_}ETeq*!Yo^) z3l!@Y1(^N{$TX#GmEo)TtDAEK$qfv=Kr-xqgX~dhJ`x_L|N3ZNaDxViWLm&kaxdfZ z20g>@+sYBn-&c-WTU*gVH1rGk+S(fW_51kv_|Hf0KZ9j|{_xk8BRmiu>2E7XRQEs_ z@Fg%N1+4~%83WTZghuSss{lv_CMH1n9z8QgCT29~r5ZMjoKr54=Vco`*x;RfFb6&} zUcAs6rYHG*Vo~!_jOUpDUOB?UKw89DVrTsTDDWr+->W{(l!K3@QP?dq@6M zDBSkd_dcbg70N^B^4}E7(JzJa`R@wF(bt(bsN!#K60}0$iv7b-@=t~G(zn#yA3b;U zZ-rv(ANiX?iTqQcJjwn4OreBExksQCO1Rzsy+R3ykBUGml%)9ojY7%J^r`sGUxHRB znZNuc6^+eJzNzhhiWFG&-$hDQXZU`qUp@ldZ+ZUv`uA@}Az_9<<%$`^3a( z2YSTlpE{*$4fUH&*_z!rM(dOx^8+h0-_cTKb8TUN^WSP^|6m_2Sbnpf{6(#xuiMgp zL^_4iq}{Lv4GVk9{u1d7xEbix=Gji=x8*YG`(xz@SgyON7E_z_hgx|W%-6}WTQ{2f zTXS*|-nVt>&&$_5U&N|@tsDj3=<>o=hf9AoC+ob-LloY)Xun5CI`yh~znBkBQ>@LQ zBb~Q9O+?I|YboKNBb}2g@;vkM|yM(N+wqBufN2K!@oyLNY!syS^W? z*_tR-ZxC63SiL*rWkkfET)X&e7U3;Nq@+qO6q0<`y<%Le_IO=+VX56Q1TL{LSN@!0p)*9CWMD$~EL z9C<#I7`82T4lzv~KMk1<^idi2hPwjWT>3^BE}z0R#C3;b)7Xf`hZz<{DtxgL9ZYKt!9>w4uEy#S zbgY8e49qwU^aBMz(WT}~*%j0(LN=3A_uft4%^+_J2*t*_^(DSx`X*F4_k3QJv0&?za8;6&`V z5?)O2OJj!BW0Y4zw{ExHqF&*bAtH1G7Xy*JW-{>_J9~}PCbL}S&Eka_J^Un3@1=6K zH+)WQk@bd&-`Rg&-b>tmwOv9;7HQi+dq1ggm?t)<<1q_K6W?&{4ZVFIAJ_NFZ}pEE zs@f%6>PH@Fdhl6x5gv?~q<#q6+TwrVf9KA3i4KN`jkc+CVDgU*di=9C-KeG~Q;&8K zSdEWXiX02w&gaenk4_F87i+lfPM5qA3X!Xlpds%cUW6=StBC{_cIC0L^X;1<4a%lM?OHsy^|ocFHI_OA9@Q54r}gk*A!aOm-;>ovqV zq~mmgq=d9#*utgmqC1VRGE)um2V3}4^26k?n`{X@V~K;^7AB9!9YZA+ z$esHO)Mx&rbI7olqZMx#+#Ty#7K>PLB^J|Hvccbkt?`I01ESgSB(FS4Ad;kjYdj|y zk&U3j=VSQg%2`A0g#jM>g8+P$fXvI+)-Ir1^Mpp4Fxs!A@_g7!J192{9}q9Qmvo^a zDfNao=OrBYlpa7z)z-w$``K1z2a~kAwv(&b8cHx4OBwk6@u^IBkY2|k2K9205OH2G z{{a1|pXO80jS)oRf&A^c$qdG8Hh+jjGQ~EsnXHQ|3~P#w$?=vvSo|d(4gU&h$^o{7 zRGM?p$xAlc$)_xMX+$)jRni-lXUy135%C>gIny?tGP#u#>2xrYx-r8T((gs*U$b%P zYT=+~z#4OnCQL`|zCxeR zvUGW#lK$gN`-P_}6j~P@(o$rJE5={y3*%c5TyZ`fK`84_tw0 z?S(@9_b;qp^F$T5q_ai81D(T74A1Lk}SF0sAEFeJI?+d?M2ZepBy- z33A|gLVNSluOWs73{x&8% z^B>nA`m*|Slj5%&_-`&=K7Rf`UA*@mJ@}Ik|IaSo-%qdq12U|o@&D@Fef7@ve>U$L zn|}Dyylam(@BZuh`qR1l9}g|Qf1u!dL5M$5@ZUM`U#={BsL$^wmTN+!N%((p?z-2M z$`<^(wb15WG!S-4@35)4{6>K`Nv0v$3W0akOBV%|5pEL-i^qr``x_z&&#T+w&u^vDx{?UkISmI5AEDV*JPlb zyEVT#cSA;Q{=$Act9z%>=3R7O2HL+{^V>2-0iN38zsfRbm401ToP!@) z);gwsZBnHEodc_9*}4l?D4;hf;<48|8v1^_tlFVJ>8yxb%S^wSv(v~G&D2=`=v$>* z-UsJNs@@88Z=Y%e5rNHn(n|?|S+S?%DqFgN{V+&x&N(JU#hH zY4U7tCf_+BlXRua&Z;HL1X@RWX~sjWbjV$Ys9_)8P<1AGsxx`DV8EcLG6co3nCXGt z$NCgK4%EXGT~6~dm0y`4TqR0fBM@$M1NTp|zSg8p4`+GiMC@awJh^OO`R-I#UJ-X= zm@gAEj*d(J21^lgErZYPrhOAR9P3Ze*Bci!m8&l|#;{HtW}l7Zgz^k&arv>X=FNy{ z40IiE?va+tG`Cs{)`fRa{tDY>*p!L}_uiIilBA_x=$*zgn%# zk!fl7W>-D?7j;gALS9+`o?s=i^|Z_-K9q%~s};fXyBtMPe9PiCUF_c~s7SR(smeZLS-=EO){UT8IDQoa- z_LB$U`K;5A*EOY%>!{s_x~|95=LSEDJf#u|}gdn+44XuzzDc@ciS$8UM zrP%E$aKZiEdsqUaKDlfLBo$w775>SAQ@?+@+O7SK15Zd@?HA1qLFI<8qq}HLUKq-= z_`X=WKJvs~mSg&^KJ3rva(zg0Hf=?M$LxZaDaW`H876s#+9~Unrod;bD}`KBw!B^N zc>CoPj8p~Svjt6QP+YA9y@u`bQs{GM!*EZh{u%qg1&slX<+@yHfrSqKbt(nTV4ZC#+!BkcMlwd zvSjvQAvGlEdH#e>oD0e+UKW@ckbWy?@|X1&s_BMBZ!KR-c-9%@rsYZVhS~ex^kVQ+ zW&mwO&r@#2LnifWf1WibsQC0~XhTm1V;%CL;PR?Bq}KpX-Jp$S83Sm>?sY54zfm@2 ziOED%pYBFTVI^FKKn)3`6*0rTf1MGTvXZf2w?VCTmIcUt!NIG9=+j8Rz~M#$`Azb? zv?C;R>i%g-Q*#Ijkev7nWN0(Y`i0eT;fgP{1af(apx)Kw?_pE!u3HN>THSQh{g-%xFYcS-BG}Voji+3flXRS*&6O6~cLtv7x zuI0$rlL^I*y|pXakjHuVvQ+ytr|+p*@hUMano^*yB9vsqdHpu|IF&@&{=R5?Ex*ByXw|T!u}e&Q7xAH_Rk6 z#EA5ZM5=u4i&`E(nwh41Q<>>&_Uwra(ZVGgb%&;kfFMk3sd>B%TvYT?PJBAN?*ZMZ zb+Pm~#FG=5aciuq*ea1gr-f4^51S$Pfx}ty82J;n4sJP@v8y{ReJ4!^(Pk8D+q17s z*{QcD?|N)^%%9zyx6XEgxkqFccCOD5`1%KRboAPzTd(VAN^yLX33ajgG~4e^3utn| zbcU-%n=9mHeG@CD)eMjw+zv3PC)9`WT(nF&w1mP=$Y}LDvPXx0FRkjorJSAQY!_myHC(b~J5&~8-Pu%mxHMjqVoRYvXc6{+cBpdi zLGkBZAC>dV$=g$Qkrt9WoT9DxMm_Z9_a(POJH#gk9YiX#BzK>^Nn~qTt1Pwpxno+A zHj_yuoD{kH!#+sot0MO~%}~fEbFSNyyM7NEqe-o7CuZgsKh-p#U25*bR|^>q51Ls* z_La}$7K}`V+l1~|xRG4Xd4H%PXO%j%^LJhfmpz4FFj#TfNi1EULaSumlCUHA(pCke zowJ`5?O9jMu3r0zwY(2COOO^H67Rm~${0K*BywSsd#lu?^fQbd7fx4Q zn=q5@4B}z^_DR0G>Fr^9Hv@N%oH zE4X`L8F8MB0}AF+Ajj%I;jZ6pRaW!)l8aoCRPO}WaZJt?z-@*-X$I7EXsfYOEXBPy z31R2DeNE*_u1Rw^?gD5f(amvrqv4@w?Qtn+S{94#eopEAfw0fO;W-}UcDR?fEX4Yp z|fycUKMBW~?_v$Y*xk1zbz!_s~bV6!(&uR4&d(vBy=V$8{q1ivk?f zqw4!+!|UeU=H8^Q#euH@x1YGFQyt7>=JQ*>b?okLzfUM`SL+Q*p-B&c99Pjd{sR8~ zs8U zl2k;xx#@46d2kuRk<~5br<&BunGT~y7{E1})Q4IV$=)HS7{Xcu-3sxf7 zMqz9}3Q#OJCtLL{rMJ)T3{ccU?WhQZUVv?51@qKW2aK`S7&1fmk-EYMrr3Nw6OJ9y z`2kir7|%A?6x;27HrzS6J@u#yYbNH^3YgRYRjNPqbut`3kTJ1}=}Q;>Y7O&SMc^}$ zP=V2K0TK8|YoSj3h@Bww7swwoGs9#E{S6*iFrP(;k7KWPhO1^r7_9-t6A?1F5!ODD zs`O4%8Ig}Iecaa~sUpoGYzQjkQG!d64@Sei&dfw*g8dofAK6B$tcCMGiFQzqrkM+S zM`dZuX8BeoCPNJ2?Jj0I16GDIf^Jewfh~dod2FmZ!dtf31Y7B+GRR>-eMCPJs2|Z* z2B!6C+|^fJ2q=yU97n|$N5ckVLyoodh-WS|c9a^{cNRU09NBLcmZTpFJqc>QEE@_! zo-j+8u$T?C@-zW`7ju>Y8U{K6LJqxa7~k58GFOBg(ul-W1a-{-oed{JlE$yI2*WfB z!>S33Pz?jC@`6G01&3y03prN+A?#5f*AmKk6L;j73un z#+;NzHjFwpw1bZrOKfN*d@0IQ$()PO1y~qU{picPG@R%7N8|Wdiyn||8Giy~Tl7{HkKU!RnG`*~ z;YEHZx2P?eZm1E{5J0^3);{c)*A}2g=mSgsksA4RvHv4ABJOJ!11|Qz({Fvh+y9Dw>wknD`8)UR&jUUu?biVh=(m2q;lJy*N&t2wAm#@< za&yC%eP>60yWz`QYyLsPHD1-x`ln}n@x=M9itCmj>8j2J*paQAshbG8qp79g2lfP-XP5_Q%WqJf4NPshb zdA9FhYwAYPwe~~N1rQ{AyE_ob?;MHl|M4aNQm?Lm^?SSIA20c}L5<#bK)a+REkFBi zj?wh(C12AlD98rHUJ@0isP~ium%K{X3lE7C+DGh`H|>&7OvdX$Pjb*Dfp*DiGt3i` zyvpK*j#oH>89g>7OFdB#vA)`Jvssw9r{@Rw6MM^pTHLS*>UO2ZLtfG?$2ryajr$7T ze4%BwKN*>D_^{CTa-u?Un#TTKCW=F$X>Y5@{grjh#HSzUd*`UK9jZSs!vG-m-jQ?& zhNH&CI7Q*!)5Up+xBck)7vj8&)6W5$Jm1#U>(`6v!1e)48Q5lnM^8d|=Vw>QndiM* z6J2RsIut6jnEd&q|;gLANbVbgK9`ko5aiYy+e)Dl=StHY+D7Mky%}&x!;8}-0lcrkn zp-Uy<^K4n*J%IDk3)00?Ch$sOFkBL$;v!sf#Fl$H8c&;FIm646k{KLhQsQNh3`0TG z2j{GP8WaPg1{6kGz)Z*{$ZR8PiP9S}jyWr1bZ2p}T}K(DJ{PBKOE&g|Q1L_SGl~nP zN6->{b0PKZmJOBBu2=~p^H|^Dbq!IZPxTh}U5$h>q|&olcxumNgtTs#_kv=7ZOf4s zPj#uBj7DPBwg81189Y)=wGqu{^eVTk62ptQigf9WJS-{D@4m>g(Sh63r+82ZL0flF zbYPxUKQo4YcPaS6K;-&DHWVYqEls5T+-Q#b<0S)bDpi;AY&xE~E{WB|$CVG=ogpZ9 zQcp{@F^Xw@@E?fLCOX{j4X%qT@pyv5zVw+I7p+)~`vUDyfyB>f?nR;LH;S&Gm;8yzv-L*A`mSidkM?Y9r{I)jz8K$igcLg363) zM(9q%{m`o;O0E>j-nU0)9OlE;oz)>Q=pIBeM}F;XjY2r|D)er0X2}T!)Tqyo*vQ*q0-UpIJ_td=3HfsBVo znS~C%i;V;kWr!QYrPlp2N`KAuk5LK^+cJ-o2k;#O#k7h>Hiv!9YV9O&8Klgs)94kB<@(!ZF?mL;D6rIG~DFbuQFnOW_n zu}x@+@!jfs6ZLf(uM0SV<~{#@w}xdtCM9a-^BhL3mgcZ5-`9EAFxBH^dS?KVF64S;|bi@eKr}%sY6Tiuw zExdx1D-jWU^2rHtkIFWZ#JAE$3e_`7h`m?uEKr$3dgjRyRk^cu1kZ=J$}thAmsa06 zLuo`UClx>GN1^!KqXL$Bg2;Q?gkeQK(6BvQc=&ix_Ji+C;QW(@i_c9M`}d}xHn5AY z)OTH-q15J3Mw|59O`UP$z6~NoqDn$F>pX}PMha3yKT9vdexCb{xStP^kNl&LPmWs0 z^=owc7rV~z0&c`ma~%)$Qq&+?I>fnJ4Uo_L>WXo&ByeY*@CpTd_0Q&s36#+TuL|@Z z?<>;rj(d>2-nKTDTznXHM)o#o-~DL{EUAMs#2Y?>KG@t;&m~Q{No?CY_S;l*=EPW^ z9xH4FMEq^wE(qBHj}nB;BKv58pw@W=2`8#(C3};7K>FTZT+`&Yhe^@>JNbucwzF>~ zYj%tMJxenwrpLI0sz1-OTh2o21tfjvL^TG;vN#OJ=_jH_qwukkE%H{q?JPf*_*JsbIi zP;ZE7Dr02X5i~7k1q{n6Sg^PS(yNb|bu1(BE;e&y8l0z1kO2=@RBE(-9KogmtW{>~(fjR%kxw(Ye zherG#5^g?zKw6F;pk@la^;^XK?zi}peLeG6R8Cd~AY}r~7L_&CF44`mQYLUwFSz1n zSx>9_TU1WjZ&5i}&11ltUiO`B`$e_=9+mTJNALYKeIsJ}zMzi|g@b(vlt(0AO0Sd(=mDzl{5Ig?|t&OsGPC&b08{b_1oCWeBb))$kEO; zkeRc(y1M*5lzw-6^H*lhttC_gZRcDeupqNF<1g3I=RMX@^C1P=zJ47LAQBDxJ+}!I%M#Dsz5tZebSj$Xl zSIVPPDqoN|Qlf{olntY1c8*b;SiY2UQh1G1mN9ST5X_ytvOX;6h>_-QCjH{#jG&-6 z4v9M<_f<}3{CaX~LXx(z*K;c8BF5iHt!pBOVTh7FwiGI3FO|@F06grS*D`ZqpA~0hJ5-!f&6l%1yPUeWt=X_uc0~mB&}$S zO8RkXeZ*#vv$IjKY<^aE;dD73e!Fs!am^=)gJPiNZ0$M!4D%}QxFFYhQEHl9PM-a1 z>CMU@cKa-C=;+bs3@faKs-{h(K{B!fvJv#D;Q8ka>0uAM4^y9O12zl&!XHcdtk->~ zL;8NJ8Y7 zT1fCtX)a!zts-}kyis5TTrkkw$8=dF#FQt3jx z*huzl*9)<{Qkcc56;@?&9>0P91!asZ8zG-0!owtJ^wZP;HklL*2QVBBb293AOX7h{ zQwPt!EbdKU&X%UvGlG4v^{UT!A14(xQG2k5PZJs~5MiSrGKWDK86a-e@|H?jK)KZ}-$syT~E5Oomu5Zoj(w1!F8 zNFKjz;lis1?z5XPr!lO_;8~)9KqH@~Cf^!(=n(l}kAQbt30xuReYiz1mU#-+`{G@85%+0Xa(HvNCW6$gGH{Vr zC24j?YIB5CHyGB5c$n_zKs+O|6iBw-<8LSpn~9_|<`w9^V_Q^XRC#u4J`}l~*{dj?BB>HFn^g zS1f)(QP6WFw#(zDaa4dWv(=XG5YMDhIUkuNxJZPUv+)fw(p5Jbz~%^TtXgs$4hy9G zDh8g%z^jfnt*01+s5VDYz8t~GiWWa^98?~+sca&b3in=6o$o(>+{W47?Ay?+HCW5p z&IZdIAR)OJ%{A94+X>IrIJhuyNzl1Zxd--pr$v_*g)g!Ez%&7ENlz@Qxw4E6F^?Et zgWau5b-RO6bLuT+08shVi*D{a4u!@(s@G&}@+mU@o@UOAtA} zl#)6Nx1_<>@4n6U5&KH>Ov<*EApz!Y9NRM0D~iFawfpJg8&eWr*il}IKE6v3pj)(Q z{V;{p()aGxlw_tIiULmwj_&7;g8u4}3aQ6A5atPudo|RYfiR*W@tZ2C=OemO5A1?o zz7Ju$m^fKt33Q8pf0wCdVz!*4Jl65O3C>aHoKyvGJ@>X1@5RWpRB?57{yXc*i|LBv z+}b8>KU}y9Aah!Ue0C_m|aiQXOnNcGF!i#Z&@;3 z&Y)+yc4mXu{Xa~7LWN+Sb!LO$nWHWjiQiP#zIWUR{}hLQ->XV}Tz!uLEw=ZSrfrj@ z#+Ytl&CK(Pqsnxd2qzrJ6&`7>K|)eXJ?Hbay86?O;?M8(5J@&_Jx>M_Umj?NPHiZD zqr30)(b##>4I?|lZBT9+GcwYF)uN+{H=_|1bH;JU8Bwg|Ysg8^?)1(p0

XIkf7< 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%0D$+I#q3 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 z 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 literal 0 HcmV?d00001 diff --git a/src/components/XnPageSelect/README.md b/src/components/XnPageSelect/README.md new file mode 100644 index 0000000..7c45cf2 --- /dev/null +++ b/src/components/XnPageSelect/README.md @@ -0,0 +1,192 @@ +XnPageSelect 分页下拉选择器 +==== + + +封装说明 +---- + +> 基础的使用方式与 API 与 [官方版(Select)](https://www.antdv.com/components/select-cn/) 本一致,在其基础上,封装了加载数据的方法。(调用后端分页接口,懒加载的效果查询下拉数据) +> +> @zhanggengbi在此基础上完善了功能:下拉查询同时支持搜索框搜索--调用后端数据搜索。 + +例子1 +---- +(基础使用) + +```vue + + + + +``` + + + +例子2 +---- + +(支持搜索框搜索--调用后端数据搜索) + +```vue + + + +``` + +![分页下拉查询展示](.\README.assets\分页下拉查询展示.gif) + +内置方法 +---- + + +| 方法 | 说明 | 参数类型 | 参数示例 | +| ------ | ------------ | -------- | ------------ | +| onPage | 请求分页数据 | Object | {current: 1} | + + +内置属性 +---- +> 除去 `a-select` 自带属性外,还而外提供了一些额外属性属性 + + +| 属性 | 说明 | 类型 | 默认值 | +| ------------- | ------------------------------------------- | ------- | ------ | +| pageFunction | 分页函数 必须为 `Promise` 对象 **必须绑定** | Promise | - | +| pageSize | 分页条数 | Number | 10 | +| showSearch | 配置是否可搜索 | Boolean | false | +| searchKeyName | 搜索字段属性名 | String | '' | + +注意事项 +---- + +> 分页函数,返回的Promise对象的data数据是分页格式的数据 +> +> data.records格式如下:{ name: name, id: id } id最后是你的value,name是你的显示名称 + +如果返回的数据data.records格式命名不对,可以重新封装一下 + +```javascript +// 示例重新封装一下data.records +const selectApiFunction = { + customerSelector: (param) => { + return customerInfoApi.customerPage(Object.assign(param, {envFlag: searchFormState.value.envFlag})).then((data) => { + if (data.records){ + data.records = data.records.map((item) => { + return { + name: item.customerName, + id: item.customerInfoId, + }; + }); + } + return Promise.resolve(data) + }) + } +} +``` +更新时间 +---- + +该文档最后更新于: 2024-06-28 PM 16:45 diff --git a/src/components/XnPageSelect/index.vue b/src/components/XnPageSelect/index.vue new file mode 100644 index 0000000..ba8ff4a --- /dev/null +++ b/src/components/XnPageSelect/index.vue @@ -0,0 +1,172 @@ + + + diff --git a/src/components/XnPositionSelector/README.md b/src/components/XnPositionSelector/README.md new file mode 100644 index 0000000..2964be3 --- /dev/null +++ b/src/components/XnPositionSelector/README.md @@ -0,0 +1,36 @@ +## 小诺职位选择器 + +### 说明 + +改组件为小诺职位选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年7月5日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | positionPageApi | function | 职位分页接口 | - | +| 5 | positionListByIdListApi | function | 通过id数组查询list数据接口 | 已配置 | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | show | Boolean | 是否显示已选择职位(非表单内、单纯的选择职位需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择职位后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除职位 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在职位新增按钮后可以插入自定义按钮 | 不满足新增职位按钮样式,可以自定义 | diff --git a/src/components/XnPositionSelector/index.vue b/src/components/XnPositionSelector/index.vue new file mode 100644 index 0000000..81aa587 --- /dev/null +++ b/src/components/XnPositionSelector/index.vue @@ -0,0 +1,579 @@ + + + + diff --git a/src/components/XnRoleSelector/README.md b/src/components/XnRoleSelector/README.md new file mode 100644 index 0000000..0b26be8 --- /dev/null +++ b/src/components/XnRoleSelector/README.md @@ -0,0 +1,36 @@ +## 小诺角色选择器 + +### 说明 + +改组件为小诺角色选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年7月5日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | rolePageApi | function | 角色分页接口 | - | +| 5 | roleListByIdListApi | function | 通过id数组查询list数据接口 | 已配置 | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | show | Boolean | 是否显示已选择角色(非表单内、单纯的选择角色需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择角色后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除角色 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在角色新增按钮后可以插入自定义按钮 | 不满足新增角色按钮样式,可以自定义 | diff --git a/src/components/XnRoleSelector/index.vue b/src/components/XnRoleSelector/index.vue new file mode 100644 index 0000000..86c5527 --- /dev/null +++ b/src/components/XnRoleSelector/index.vue @@ -0,0 +1,607 @@ + + + + diff --git a/src/components/XnSignName/README.md b/src/components/XnSignName/README.md new file mode 100644 index 0000000..36b3522 --- /dev/null +++ b/src/components/XnSignName/README.md @@ -0,0 +1,117 @@ +# vue-esign + +https://github.com/JaimeCheng/vue-esign#readme + +> Canvas 手写签字 电子签名 +![npm](https://img.shields.io/npm/dm/vue-esign) ![GitHub package.json version](https://img.shields.io/github/package-json/v/jaimecheng/vue-esign) + +## 时隔三年的更新!!支持vue3 +- **支持vue3!!!!更新依赖后,仅`bgColor`原来的`.sync`修饰符需改为vue3写法`v-model:bgColor`**; +- 新增属性 `isClearBgColor`,默认值`true`, 清空画布时(reset)是否同时清空设置的背景色(bgColor) ; +- 直接`npm install vue-esign@latest --save`即可,对vue2版本无任何影响; +## 功能 +1. 兼容 PC 和 Mobile; +2. 画布自适应屏幕大小变化(窗口缩放、屏幕旋转时画布无需重置,自动校正坐标); +3. 自定义画布尺寸(导出图尺寸),画笔粗细、颜色,画布背景色; +4. 支持裁剪 (针对需求:有的签字需要裁剪掉四周空白)。 +5. 导出图片格式为 `base64`; +6. [示例demo](https://jaimecheng.github.io/vue-esign/demo/) + +## 安装 + +``` bash +npm install vue-esign --save +``` + +## 使用 +1. 全局使用 、局部 +```js +// 全局 vue2 main.js +import vueEsign from 'vue-esign' +Vue.use(vueEsign) +// 全局vue3 main.js +import { createApp } from 'vue' +import App from './App.vue' +import vueEsign from 'vue-esign' +const app = createApp(App) +app.use(vueEsign) +// 局部 +import vueEsign from 'vue-esign' +// vue3 中只需需引入组件就可以使用无需注册 +``` +2. 页面中使用 + // 在组件中使用 ref="esign" + **在script中必须设置 `const esign = ref()` ,用来调用组件的两个内置方法 `reset()` 和 `generate()`** + + 无需给组件设置 `style` 的宽高,如果画布的 `width`属性值没超出父元素的样式宽度,则该组件的样式宽度就是画布宽度,超出的话,组件样式宽度则是父元素的100%; 所以只需设置好父元素的宽度即可; +```html + + + + + + +预览 +清屏 +``` + +```vue + +3. 说明 + +| 属性 | 类型 | 默认值 | 说明 | +| :-: | :-- | :-: | :-- | +| width | Number | 800 | 画布宽度,即导出图片的宽度 | +| height | Number | 300 | 画布高度,即导出图片的高度 | +| lineWidth | 4 | Number | 画笔粗细 | +| lineColor | String | #000000 | 画笔颜色 | +| bgColor | String | 空 | 画布背景色,为空时画布背景透明,
支持多种格式 '#ccc','#E5A1A1','rgb(229, 161, 161)','rgba(0,0,0,.6)','red' | +| isCrop | Boolean | false | 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | +| isClearBgColor | Boolean | true | 清空画布时(reset)是否同时清空设置的背景色(bgColor) | +| format | String | image/png | 生成图片格式 image/jpeg(jpg格式下生成的图片透明背景会变黑色请慎用或指定背景色)、 image/webp | +| quality | Number | 1 | 生成图片质量;在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 | + +两个内置方法,通过给组件设置 `ref` 调用: + +**清空画布** +```js +esign.value.reset() +``` + +**生成图片** + +```js +// 可选配置参数 ,在未设置format或quality属性时可在生成图片时配置 例如: {format:'image/jpeg', quality: 0.5} +// this.$refs.esign.generate({format:'image/jpeg', quality: 0.5}) +esign.value.generate().then(res => { + console.log(res) // base64图片 +}).catch(err => { + alert(err) // 画布没有签字时会执行这里 'Not Signned' +}) +``` + +![](./static/demo.gif) diff --git a/src/components/XnSignName/index.vue b/src/components/XnSignName/index.vue new file mode 100644 index 0000000..01e2b2a --- /dev/null +++ b/src/components/XnSignName/index.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/components/XnSignName/vueEsign.vue b/src/components/XnSignName/vueEsign.vue new file mode 100644 index 0000000..db0d292 --- /dev/null +++ b/src/components/XnSignName/vueEsign.vue @@ -0,0 +1,297 @@ + + + + diff --git a/src/components/XnUpload/README.md b/src/components/XnUpload/README.md new file mode 100644 index 0000000..d424653 --- /dev/null +++ b/src/components/XnUpload/README.md @@ -0,0 +1,39 @@ +## 小诺文件上传 + +### 说明 + +改组件为文件上传、支持单个、多个文件;返回id、返回数组、返回所有 + +@author yubaoshan + +@data 2024年5月27日09:15:17 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------------|---------|---------------------------------------------------------------------------------------------|----------------------------------| +| 1 | uploadReturnIdApi | String | 上传返回id接口地址 | /dev/file/uploadLocalReturnId | +| 2 | uploadDynamicReturnUrlApi | String | 上传返回url接口地址 | /dev/file/uploadDynamicReturnUrl | +| 3 | uploadIdDownloadUrl | String | 当上传接口为id的情况下,配置下载接口 | /dev/file/download?id= | +| 4 | uploadMode | String | 上传样式或图片方式 file、drag、image | file | +| 5 | uploadNumber | Number | 上传数量 | 1 | +| 6 | uploadText | String | 上传文字 | 上传 | +| 7 | uploadResultType | String | 上传返回分类 字符串逗号隔离或数组 interval、array | interval | +| 8 | showUploadList | Boolean | 跟antdv官方一样,是否显示文件列表 | true | +| 9 | accept | String | 跟antdv官方一样,接受上传的文件类型,如果uploadMode配置了image类型,上传的必须是图片,该参数也只能配置图片的某一项或多项,具体百度查看文件上传accept类型配置 | - | +| 10 | completeResult | Boolean | 是否是完整的结果(就是文件上传返回什么,该组件返回什么,uploadResultCategory必须为array) | false | +| 11 | value | String, Array | 父组件传来的参数,通过v-model:value绑定 | - | + + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|---------------------------------------|-----------------------------| +| 1 | value | 根据uploadResultType、completeResult 而定 | 当选择用户后通过v-model:value绑定到组件上 | +| 2 | onChange | 根据uploadResultType、completeResult 而定 | 通过@onChange 方法返回上传的数据 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | +|----|--------|-------------| +| 1 | explain | 主要用于一些提示性文字 | diff --git a/src/components/XnUpload/index.vue b/src/components/XnUpload/index.vue new file mode 100644 index 0000000..a30a932 --- /dev/null +++ b/src/components/XnUpload/index.vue @@ -0,0 +1,359 @@ + + + diff --git a/src/components/XnUserSelector/README.md b/src/components/XnUserSelector/README.md new file mode 100644 index 0000000..d62d4bf --- /dev/null +++ b/src/components/XnUserSelector/README.md @@ -0,0 +1,36 @@ +## 小诺人员选择器 + +### 说明 + +改组件为小诺人员选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年4月13日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|---------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | userPageApi | function | 用户分页接口 | - | +| 5 | userListByIdListApi | function | 通过id数组查询list数据接口 | - | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | userShow | Boolean | 是否显示已选择用户(非表单内、单纯的选择用户需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择用户后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除用户 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在人员新增按钮后可以插入自定义按钮 | 不满足新增人员按钮样式,可以自定义 | diff --git a/src/components/XnUserSelector/index.vue b/src/components/XnUserSelector/index.vue new file mode 100644 index 0000000..3c6cb35 --- /dev/null +++ b/src/components/XnUserSelector/index.vue @@ -0,0 +1,623 @@ + + + + diff --git a/src/components/XnUserSelector/userSelectorTest.vue b/src/components/XnUserSelector/userSelectorTest.vue new file mode 100644 index 0000000..57e3ec2 --- /dev/null +++ b/src/components/XnUserSelector/userSelectorTest.vue @@ -0,0 +1,62 @@ + + + diff --git a/src/components/global.less b/src/components/global.less new file mode 100644 index 0000000..fda3196 --- /dev/null +++ b/src/components/global.less @@ -0,0 +1,503 @@ +@import './index.less'; + +body { + + +} + +#app { + height: 100%; + + &.colorWeak { + filter: invert(80%); + } + &.userLayout { + overflow: auto; + } +} + +.layout.ant-layout { + height: auto; + overflow-x: hidden; + + &.mobile, + &.tablet { + .ant-layout-content { + .content { + margin: 24px 0 0; + } + } + .topmenu { + /* 必须为 topmenu 才能启用流式布局 */ + &.content-width-Fluid { + .header-index-wide { + margin-left: 0; + } + } + } + } + + &.mobile { + .sidemenu { + .ant-header-fixedHeader { + &.ant-header-side-opened, + &.ant-header-side-closed { + width: 100%; + } + } + } + } + + &.ant-layout-has-sider { + flex-direction: row; + } + + .trigger { + font-size: 20px; + line-height: 55px; + padding: 0 24px; + cursor: pointer; + transition: color 0.3s; + &:hover { + background: rgba(0, 0, 0, 0.025); + } + } + + .topmenu { + .ant-header-fixedHeader { + position: fixed; + top: 0; + right: 0; + z-index: 9; + width: 100%; + transition: width 0.2s; + + &.ant-header-side-opened { + width: 100%; + } + + &.ant-header-side-closed { + width: 100%; + } + } + /* 必须为 topmenu 才能启用流式布局 */ + &.content-width-Fluid { + .header-index-wide { + max-width: unset; + .header-index-left { + flex: 1 1 1000px; + .logo{ + margin-left: 25px; + } + .ant-menu.ant-menu-horizontal{ + max-width: calc(100vw - 190px - 238px - 25px); + flex: 1 1 calc(100vw - 190px - 238px - 25px); + } + } + .header-index-right{ + margin-right:25px; + } + } + + .page-header-index-wide { + max-width: unset; + } + } + } + + .sidemenu { + .ant-header-fixedHeader { + position: fixed; + top: 0; + right: 0; + z-index: 9; + width: 100%; + transition: width 0.2s; + + &.ant-header-side-opened { + width: calc(100% - 230px); + } + + &.ant-header-side-closed { + width: calc(100% - 80px); + } + } + } + + .header { + height: 55px; + // padding: 0 12px 0 0; + background: #fff; + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + position: relative; + } + + .header, + .top-nav-header-index { + .user-wrapper { + float: right; + height: 100%; + + .action { + line-height: 55px; + cursor: pointer; + padding: 0 12px; + display: inline-block; + transition: all 0.3s; + height: 100%; + color: rgba(0, 0, 0, 0.65); + + &:hover { + background: rgba(0, 0, 0, 0.025); + } + + .avatar { + margin: 15px 8px 15px 0; + color: #1890ff; + background: hsla(0, 0%, 100%, 0.85); + vertical-align: middle; + } + + .icon { + font-size: 16px; + padding: 4px; + } + } + } + + &.dark { + .user-wrapper { + .action { + color: rgba(255, 255, 255, 0.85); + a { + color: rgba(255, 255, 255, 0.85); + } + + &:hover { + background: rgba(255, 255, 255, 0.16); + } + } + } + } + } + + &.mobile, + &.tablet { + .top-nav-header-index { + .header-index-wide { + .header-index-left { + .trigger { + color: rgba(255, 255, 255, 0.85); + padding: 0 12px; + } + + .logo.top-nav-header { + flex: 0 0 56px; + text-align: center; + line-height: 58px; + h1 { + display: none; + } + } + } + } + + &.light { + .header-index-wide { + .header-index-left { + .trigger { + color: rgba(0, 0, 0, 0.65); + } + } + } + } + } + } + + &.tablet { + // overflow: hidden; text-overflow:ellipsis; white-space: nowrap; + .top-nav-header-index { + .header-index-wide { + .header-index-left { + .logo > a { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } + .ant-menu.ant-menu-horizontal { + flex: 1 1 auto; + white-space: normal; + } + } + } + } + + .top-nav-header-index { + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + position: relative; + transition: background 0.3s, width 0.2s; + + .header-index-wide { + max-width: 1200px; + margin: auto; + padding-left: 0; + display: flex; + height: 55px; + + .ant-menu.ant-menu-horizontal { + max-width: 835px; + flex: 0 1 835px; + border: none; + height: 55px; + line-height: 55px; + } + + .header-index-left { + flex: 0 1 1000px; + display: flex; + + .logo.top-nav-header { + flex: 0 0 165px; + width: 165px; + height: 55px; + position: relative; + line-height: 55px; + transition: all 0.3s; + overflow: hidden; + + img, + svg { + display: inline-block; + vertical-align: middle; + height: 32px; + width: 32px; + } + + h1 { + color: #fff; + display: inline-block; + vertical-align: top; + font-size: 16px; + margin: 0 0 0 12px; + font-weight: 400; + } + } + } + + .header-index-right { + flex: 0 0 238px; + align-self: flex-end; + height: 55px; + overflow: hidden; + + .content-box { + float: right; + .action { + max-width: 140px; + overflow: hidden; + text-overflow:ellipsis; + white-space:nowrap; + } + } + } + } + + &.light { + background-color: #fff; + + .header-index-wide { + .header-index-left { + .logo { + h1 { + color: #002140; + } + } + } + } + } + } + + // 内容区 + .layout-content { + margin: 24px 24px 0px; + //height: 100%; + //height: 64px; + padding: 0 12px 0 0; + } + + // footer + .ant-layout-footer { + padding: 0; + } +} + +.topmenu { + .page-header-index-wide { + max-width: 1200px; + margin: 0 auto; + } +} + +// drawer-sider 自定义 +.ant-drawer.drawer-sider { + .sider { + box-shadow: none; + } + + &.dark { + .ant-drawer-content { + background-color: rgb(0, 21, 41); + } + } + &.light { + box-shadow: none; + .ant-drawer-content { + background-color: #fff; + } + } + + .ant-drawer-body { + padding: 0; + } +} + +// 菜单样式 +.sider { + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + position: relative; + z-index: @ant-global-sider-zindex; + min-height: 100vh; + + .ant-layout-sider-children { + overflow-y: hidden; + + &:hover { + overflow-y: auto; + } + } + + &.ant-fixed-sidemenu { + position: fixed; + height: 100%; + } + + // logo区域样式 + .logo { + position: relative; + height: 55px; + padding-left: 24px; + overflow: hidden; + line-height: 55px; + background: #002140; + transition: all .3s; + + img, + svg, + h1 { + display: inline-block; + vertical-align: middle; + } + + img, + svg { + height: 32px; + width: 32px; + } + + h1 { + color: #fff; + font-size: 20px; + margin: 0 0 0 12px; + font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif; + font-weight: 600; + vertical-align: middle; + } + } + + &.light { + background-color: #fff; + box-shadow: 2px 0px 8px 0px rgba(29, 35, 41, 0.05); + + .logo { + background: #fff; + box-shadow: 1px 1px 0px 0px #e8e8e8; + + h1 { + color: unset; + } + } + + .ant-menu-light { + border-right-color: transparent; + } + } +} + +// 外置的样式控制 +.user-dropdown-menu { + span { + user-select: none; + } +} +.user-dropdown-menu-wrapper.ant-dropdown-menu { + padding: 4px 0; + + .ant-dropdown-menu-item { + width: 160px; + } + + .ant-dropdown-menu-item > .anticon:first-child, + .ant-dropdown-menu-item > a > .anticon:first-child, + .ant-dropdown-menu-submenu-title > .anticon:first-child .ant-dropdown-menu-submenu-title > a > .anticon:first-child { + min-width: 12px; + margin-right: 8px; + } +} + +// 数据列表 样式 +.table-alert { + margin-bottom: 16px; +} + +.table-page-search-wrapper { + .ant-form-inline { + .ant-form-item { + display: flex; + margin-bottom: 24px; + margin-right: 0; + + .ant-form-item-control-wrapper { + flex: 1 1; + display: inline-block; + vertical-align: middle; + } + + > .ant-form-item-label { + line-height: 32px; + padding-right: 8px; + width: auto; + } + .ant-form-item-control { + height: 32px; + line-height: 32px; + } + } + } + + .table-page-search-submitButtons { + display: block; + margin-bottom: 24px; + white-space: nowrap; + } +} + +.content { + .table-operator { + margin-bottom: 18px; + + button { + margin-right: 8px; + } + } +} diff --git a/src/components/index.less b/src/components/index.less new file mode 100644 index 0000000..25cb200 --- /dev/null +++ b/src/components/index.less @@ -0,0 +1,6 @@ +@import "ant-design-vue/lib/style/index"; + +// The prefix to use on all css classes from ant-pro. +@ant-pro-prefix : ant-pro; +@ant-global-sider-zindex : 106; +@ant-global-header-zindex : 105; diff --git a/src/config/iconSelect.js b/src/config/iconSelect.js new file mode 100644 index 0000000..0c57c0b --- /dev/null +++ b/src/config/iconSelect.js @@ -0,0 +1,827 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/** + * 图标选择器基础数据 + * 推荐前往https://icones.js.org下载图标的Vue文件,然后放在src/assets/icons文件夹里面 + * 这个网址有118个图标集,包括antd、font awesome、bootstrap、eleme等累计140456个图标 + */ +const uiwIconComponentMap = import.meta.glob('../assets/icons/uiw/*.vue') // 异步方式 + +const uiwIcons = Object.keys(uiwIconComponentMap).map((key) => { + return key.slice(key.lastIndexOf('/') + 1, key.lastIndexOf('.')) +}) + +export default { + icons: [ + { + name: '基础', + key: 'default', + iconItem: [ + { + name: '线框风格', + key: 'default', + item: [ + 'step-backward-outlined', + 'step-forward-outlined', + 'fast-backward-outlined', + 'fast-forward-outlined', + 'shrink-outlined', + 'arrows-alt-outlined', + 'down-outlined', + 'up-outlined', + 'left-outlined', + 'right-outlined', + 'caret-up-outlined', + 'caret-down-outlined', + 'caret-left-outlined', + 'caret-right-outlined', + 'up-circle-outlined', + 'down-circle-outlined', + 'left-circle-outlined', + 'right-circle-outlined', + 'double-right-outlined', + 'double-left-outlined', + 'vertical-left-outlined', + 'vertical-right-outlined', + 'vertical-align-top-outlined', + 'vertical-align-middle-outlined', + 'vertical-align-bottom-outlined', + 'forward-outlined', + 'backward-outlined', + 'rollback-outlined', + 'enter-outlined', + 'retweet-outlined', + 'swap-outlined', + 'swap-left-outlined', + 'swap-right-outlined', + 'arrow-up-outlined', + 'arrow-down-outlined', + 'arrow-left-outlined', + 'arrow-right-outlined', + 'play-circle-outlined', + 'up-Square-outlined', + 'down-square-outlined', + 'left-square-outlined', + 'right-square-outlined', + 'login-outlined', + 'logout-outlined', + 'menu-fold-outlined', + 'menu-unfold-outlined', + 'border-bottom-outlined', + 'border-horizontal-outlined', + 'border-inner-outlined', + 'border-outer-outlined', + 'border-left-outlined', + 'border-right-outlined', + 'border-top-outlined', + 'border-verticle-outlined', + 'pic-center-outlined', + 'pic-left-outlined', + 'pic-right-outlined', + 'radius-bottomleft-outlined', + 'radius-bottomright-outlined', + 'radius-upleft-outlined', + 'radius-upright-outlined', + 'fullscreen-outlined', + 'fullscreen-exit-outlined', + 'question-outlined', + 'question-circle-outlined', + 'plus-outlined', + 'plus-circle-outlined', + 'pause-outlined', + 'pause-circle-outlined', + 'minus-outlined', + 'minus-circle-outlined', + 'plus-square-outlined', + 'minus-square-outlined', + 'info-outlined', + 'info-circle-outlined', + 'exclamation-outlined', + 'exclamation-circle-outlined', + 'close-outlined', + 'close-circle-outlined', + 'close-square-outlined', + 'check-outlined', + 'check-circle-outlined', + 'check-square-outlined', + 'clock-circle-outlined', + 'warning-outlined', + 'issues-close-outlined', + 'stop-outlined', + 'edit-outlined', + 'form-outlined', + 'copy-outlined', + 'scissor-outlined', + 'delete-outlined', + 'snippets-outlined', + 'diff-outlined', + 'highlight-outlined', + 'align-center-outlined', + 'align-left-outlined', + 'align-right-outlined', + 'bg-colors-outlined', + 'bold-outlined', + 'italic-outlined', + 'underline-outlined', + 'strikethrough-outlined', + 'redo-outlined', + 'undo-outlined', + 'zoom-in-outlined', + 'zoom-out-outlined', + 'font-colors-outlined', + 'font-size-outlined', + 'line-height-outlined', + 'dash-outlined', + 'small-dash-outlined', + 'sort-ascending-outlined', + 'sort-descending-outlined', + 'drag-outlined', + 'ordered-list-outlined', + 'unordered-list-outlined', + 'radius-setting-outlined', + 'column-width-outlined', + 'column-height-outlined', + 'account-book-outlined', + 'aim-outlined', + 'alert-outlined', + 'apartment-outlined', + 'api-outlined', + 'appstore-add-outlined', + 'appstore-outlined', + 'audio-outlined', + 'audio-muted-outlined', + 'audit-outlined', + 'bank-outlined', + 'barcode-outlined', + 'bars-outlined', + 'bell-outlined', + 'block-outlined', + 'book-outlined', + 'border-outlined', + 'borderless-table-outlined', + 'branches-outlined', + 'bug-outlined', + 'build-outlined', + 'bulb-outlined', + 'calculator-outlined', + 'calendar-outlined', + 'camera-outlined', + 'car-outlined', + 'carry-out-outlined', + 'ci-circle-outlined', + 'ci-outlined', + 'clear-outlined', + 'cloud-download-outlined', + 'cloud-outlined', + 'cloud-server-outlined', + 'cloud-sync-outlined', + 'cloud-upload-outlined', + 'cluster-outlined', + 'code-outlined', + 'coffee-outlined', + 'comment-outlined', + 'compass-outlined', + 'compress-outlined', + 'console-sql-outlined', + 'contacts-outlined', + 'container-outlined', + 'control-outlined', + 'copyright-circle-outlined', + 'copyright-outlined', + 'credit-card-outlined', + 'crown-outlined', + 'customer-service-outlined', + 'dashboard-outlined', + 'database-outlined', + 'delete-column-outlined', + 'delete-row-outlined', + 'delivered-procedure-outlined', + 'deployment-unit-outlined', + 'desktop-outlined', + 'dingtalk-outlined', + 'disconnect-outlined', + 'dislike-outlined', + 'dollar-circle-outlined', + 'dollar-outlined', + 'download-outlined', + 'ellipsis-outlined', + 'environment-outlined', + 'euro-circle-outlined', + 'euro-outlined', + 'exception-outlined', + 'expand-alt-outlined', + 'expand-outlined', + 'experiment-outlined', + 'export-outlined', + 'eye-outlined', + 'eye-invisible-outlined', + 'field-binary-outlined', + 'field-number-outlined', + 'field-string-outlined', + 'field-time-outlined', + 'file-add-outlined', + 'file-done-outlined', + 'file-excel-outlined', + 'file-exclamation-outlined', + 'file-outlined', + 'file-gif-outlined', + 'file-image-outlined', + 'file-jpg-outlined', + 'file-markdown-outlined', + 'file-pdf-outlined', + 'file-ppt-outlined', + 'file-protect-outlined', + 'file-search-outlined', + 'file-sync-outlined', + 'file-text-outlined', + 'file-unknown-outlined', + 'file-word-outlined', + 'file-zip-outlined', + 'filter-outlined', + 'fire-outlined', + 'flag-outlined', + 'folder-add-outlined', + 'folder-outlined', + 'folder-open-outlined', + 'folder-view-outlined', + 'fork-outlined', + 'format-painter-outlined', + 'frown-outlined', + 'function-outlined', + 'fund-projection-screen-outlined', + 'fund-view-outlined', + 'funnel-plot-outlined', + 'gateway-outlined', + 'gif-outlined', + 'gift-outlined', + 'global-outlined', + 'gold-outlined', + 'group-outlined', + 'hdd-outlined', + 'heart-outlined', + 'history-outlined', + 'holder-outlined', + 'home-outlined', + 'hourglass-outlined', + 'idcard-outlined', + 'import-outlined', + 'inbox-outlined', + 'insert-row-above-outlined', + 'insert-row-below-outlined', + 'insert-row-left-outlined', + 'insert-row-right-outlined', + 'insurance-outlined', + 'interaction-outlined', + 'key-outlined', + 'laptop-outlined', + 'layout-outlined', + 'like-outlined', + 'line-outlined', + 'link-outlined', + 'loading3-quarters-outlined', + 'loading-outlined', + 'lock-outlined', + 'mac-command-outlined', + 'mail-outlined', + 'man-outlined', + 'medicine-box-outlined', + 'meh-outlined', + 'menu-outlined', + 'merge-cells-outlined', + 'message-outlined', + 'mobile-outlined', + 'money-collect-outlined', + 'monitor-outlined', + 'more-outlined', + 'node-collapse-outlined', + 'node-expand-outlined', + 'node-index-outlined', + 'notification-outlined', + 'number-outlined', + 'one-to-one-outlined', + 'paper-clip-outlined', + 'partition-outlined', + 'pay-circle-outlined', + 'percentage-outlined', + 'phone-outlined', + 'picture-outlined', + 'play-square-outlined', + 'pound-circle-outlined', + 'pound-outlined', + 'poweroff-outlined', + 'printer-outlined', + 'profile-outlined', + 'project-outlined', + 'property-safety-outlined', + 'pull-request-outlined', + 'pushpin-outlined', + 'qrcode-outlined', + 'read-outlined', + 'reconciliation-outlined', + 'red-envelope-outlined', + 'reload-outlined', + 'rest-outlined', + 'robot-outlined', + 'rocket-outlined', + 'rotate-left-outlined', + 'rotate-right-outlined', + 'safety-certificate-outlined', + 'safety-outlined', + 'save-outlined', + 'scan-outlined', + 'schedule-outlined', + 'search-outlined', + 'security-scan-outlined', + 'select-outlined', + 'send-outlined', + 'setting-outlined', + 'shake-outlined', + 'share-alt-outlined', + 'shop-outlined', + 'shopping-cart-outlined', + 'shopping-outlined', + 'sisternode-outlined', + 'skin-outlined', + 'smile-outlined', + 'solution-outlined', + 'sound-outlined', + 'split-cells-outlined', + 'star-outlined', + 'subnode-outlined', + 'switcher-outlined', + 'sync-outlined', + 'table-outlined', + 'tablet-outlined', + 'tag-outlined', + 'tags-outlined', + 'team-outlined', + 'thunderbolt-outlined', + 'to-top-outlined', + 'tool-outlined', + 'trademark-circle-outlined', + 'trademark-outlined', + 'transaction-outlined', + 'translation-outlined', + 'trophy-outlined', + 'ungroup-outlined', + 'unlock-outlined', + 'upload-outlined', + 'usb-outlined', + 'user-add-outlined', + 'user-delete-outlined', + 'user-outlined', + 'user-switch-outlined', + 'usergroup-add-outlined', + 'usergroup-delete-outlined', + 'verified-outlined', + 'video-camera-add-outlined', + 'video-camera-outlined', + 'wallet-outlined', + 'whats-app-outlined', + 'wifi-outlined', + 'woman-outlined' + ] + }, + { + name: '实底风格', + key: 'filled', + item: [ + 'step-backward-filled', + 'step-forward-filled', + 'fast-backward-filled', + 'fast-forward-filled', + 'caret-up-filled', + 'caret-down-filled', + 'caret-left-filled', + 'caret-right-filled', + 'up-circle-filled', + 'down-circle-filled', + 'left-circle-filled', + 'right-circle-filled', + 'forward-filled', + 'backward-filled', + 'play-circle-filled', + 'up-square-filled', + 'down-square-filled', + 'left-square-filled', + 'right-square-filled', + 'question-circle-filled', + 'plus-circle-filled', + 'pause-circle-filled', + 'minus-circle-filled', + 'plus-square-filled', + 'minus-square-filled', + 'info-circle-filled', + 'exclamation-circle-filled', + 'close-circle-filled', + 'close-square-filled', + 'check-circle-filled', + 'check-square-filled', + 'clock-circle-filled', + 'warning-filled', + 'stop-filled', + 'edit-filled', + 'copy-filled', + 'delete-filled', + 'snippets-filled', + 'diff-filled', + 'highlight-filled', + 'pie-chart-filled', + 'box-plot-filled', + 'fund-filled', + 'sliders-filled', + 'android-filled', + 'apple-filled', + 'windows-filled', + 'chrome-filled', + 'github-filled', + 'aliwangwang-filled', + 'weibo-square-filled', + 'weibo-circle-filled', + 'taobao-circle-filled', + 'html5-filled', + 'wechat-filled', + 'youtube-filled', + 'alipay-circle-filled', + 'skype-filled', + 'gitlab-filled', + 'linkedin-filled', + 'facebook-filled', + 'code-sandbox-circle-filled', + 'codepen-circle-filled', + 'slack-square-filled', + 'behance-square-filled', + 'dribbble-square-filled', + 'instagram-filled', + 'yuque-filled', + 'yahoo-filled', + 'account-book-filled', + 'alert-filled', + 'alipay-square-filled', + 'amazon-circle-filled', + 'amazon-square-filled', + 'api-filled', + 'appstore-filled', + 'audio-filled', + 'bank-filled', + 'behance-circle-filled', + 'bell-filled', + 'book-filled', + 'bug-filled', + 'build-filled', + 'bulb-filled', + 'calculator-filled', + 'calendar-filled', + 'camera-filled', + 'car-filled', + 'carry-out-filled', + 'ci-circle-filled', + 'cloud-filled', + 'code-filled', + 'code-sandbox-square-filled', + 'codepen-square-filled', + 'compass-filled', + 'contacts-filled', + 'container-filled', + 'control-filled', + 'copyright-circle-filled', + 'credit-card-filled', + 'crown-filled', + 'customer-service-filled', + 'dashboard-filled', + 'database-filled', + 'dingtalk-circle-filled', + 'dingtalk-square-filled', + 'dislike-filled', + 'dollar-circle-filled', + 'dribbble-circle-filled', + 'dropbox-circle-filled', + 'dropbox-square-filled', + 'environment-filled', + 'euro-circle-filled', + 'experiment-filled', + 'eye-filled', + 'eye-invisible-filled', + 'file-add-filled', + 'file-excel-filled', + 'file-exclamation-filled', + 'file-filled', + 'file-image-filled', + 'file-markdown-filled', + 'file-pdf-filled', + 'file-ppt-filled', + 'file-text-filled', + 'file-unknown-filled', + 'file-word-filled', + 'file-zip-filled', + 'filter-filled', + 'fire-filled', + 'flag-filled', + 'folder-add-filled', + 'folder-filled', + 'folder-open-filled', + 'format-painter-filled', + 'frown-filled', + 'funnel-plot-filled', + 'gift-filled', + 'gold-filled', + 'golden-filled', + 'google-circle-filled', + 'google-plus-circle-filled', + 'google-plus-square-filled', + 'google-square-filled', + 'hdd-filled', + 'heart-filled', + 'home-filled', + 'hourglass-filled', + 'idcard-filled', + 'ie-circle-filled', + 'ie-square-filled', + 'insurance-filled', + 'interaction-filled', + 'layout-filled', + 'like-filled', + 'lock-filled', + 'mac-command-filled', + 'mail-filled', + 'medicine-box-filled', + 'medium-circle-filled', + 'medium-square-filled', + 'meh-filled', + 'message-filled', + 'mobile-filled', + 'money-collect-filled', + 'notification-filled', + 'pay-circle-filled', + 'phone-filled', + 'picture-filled', + 'play-square-filled', + 'pound-circle-filled', + 'printer-filled', + 'profile-filled', + 'project-filled', + 'property-safety-filled', + 'pushpin-filled', + 'qq-circle-filled', + 'qq-square-filled', + 'read-filled', + 'reconciliation-filled', + 'red-envelope-filled', + 'reddit-circle-filled', + 'reddit-square-filled', + 'rest-filled', + 'robot-filled', + 'rocket-filled', + 'safety-certificate-filled', + 'save-filled', + 'schedule-filled', + 'security-scan-filled', + 'setting-filled', + 'shop-filled', + 'shopping-filled', + 'signal-filled', + 'sketch-circle-filled', + 'sketch-square-filled', + 'skin-filled', + 'slack-circle-filled', + 'smile-filled', + 'sound-filled', + 'star-filled', + 'switcher-filled', + 'tablet-filled', + 'tag-filled', + 'tags-filled', + 'taobao-square-filled', + 'thunderbolt-filled', + 'tool-filled', + 'trademark-circle-filled', + 'trophy-filled', + 'twitter-circle-filled', + 'twitter-square-filled', + 'unlock-filled', + 'usb-filled', + 'video-camera-filled', + 'wallet-filled', + 'zhihu-circle-filled', + 'zhihu-square-filled' + ] + }, + { + name: '双色风格', + key: 'twotone', + item: [ + 'up-circle-two-tone', + 'down-circle-two-tone', + 'left-circle-two-tone', + 'right-circle-two-tone', + 'play-circle-two-tone', + 'up-square-two-tone', + 'down-square-two-tone', + 'left-square-two-tone', + 'right-square-two-tone', + 'question-circle-two-tone', + 'plus-circle-two-tone', + 'pause-circle-two-tone', + 'minus-circle-two-tone', + 'plus-square-two-tone', + 'minus-square-two-tone', + 'info-circle-two-tone', + 'exclamation-circle-two-tone', + 'close-circle-two-tone', + 'close-square-two-tone', + 'check-circle-two-tone', + 'check-square-two-tone', + 'clock-circle-two-tone', + 'warning-two-tone', + 'stop-two-tone', + 'edit-two-tone', + 'copy-two-tone', + 'delete-two-tone', + 'snippets-two-tone', + 'diff-two-tone', + 'highlight-two-tone', + 'pie-chart-two-tone', + 'box-plot-two-tone', + 'fund-two-tone', + 'sliders-two-tone', + 'account-book-two-tone', + 'alert-two-tone', + 'api-two-tone', + 'appstore-two-tone', + 'audio-two-tone', + 'bank-two-tone', + 'bell-two-tone', + 'book-two-tone', + 'bug-two-tone', + 'build-two-tone', + 'bulb-two-tone', + 'calculator-two-tone', + 'calendar-two-tone', + 'camera-two-tone', + 'car-two-tone', + 'carry-out-two-tone', + 'ci-circle-two-tone', + 'ci-two-tone', + 'cloud-two-tone', + 'code-two-tone', + 'compass-two-tone', + 'contacts-two-tone', + 'container-two-tone', + 'control-two-tone', + 'copyright-circle-two-tone', + 'copyright-two-tone', + 'credit-card-two-tone', + 'crown-two-tone', + 'customer-service-two-tone', + 'dashboard-two-tone', + 'database-two-tone', + 'dislike-two-tone', + 'dollar-circle-two-tone', + 'dollar-two-tone', + 'environment-two-tone', + 'euro-circle-two-tone', + 'account-book-two-tone', + 'alert-two-tone', + 'api-two-tone', + 'appstore-two-tone', + 'audio-two-tone', + 'bank-two-tone', + 'bell-two-tone', + 'book-two-tone', + 'bug-two-tone', + 'build-two-tone', + 'bulb-two-tone', + 'calculator-two-tone', + 'calendar-two-tone', + 'camera-two-tone', + 'car-two-tone', + 'carry-out-two-tone', + 'ci-circle-two-tone', + 'ci-two-tone', + 'cloud-two-tone', + 'code-two-tone', + 'compass-two-tone', + 'contacts-two-tone', + 'container-two-tone', + 'control-two-tone', + 'copyright-circle-two-tone', + 'copyright-two-tone', + 'credit-card-two-tone', + 'crown-two-tone', + 'customer-service-two-tone', + 'dashboard-two-tone', + 'database-two-tone', + 'dislike-two-tone', + 'dollar-circle-two-tone', + 'dollar-two-tone', + 'environment-two-tone', + 'euro-circle-two-tone', + 'euro-two-tone', + 'experiment-two-tone', + 'eye-two-tone', + 'eye-invisible-two-tone', + 'file-add-two-tone', + 'file-excel-two-tone', + 'file-exclamation-two-tone', + 'file-two-tone', + 'file-image-two-tone', + 'file-markdown-two-tone', + 'file-pdf-two-tone', + 'file-ppt-two-tone', + 'file-text-two-tone', + 'file-unknown-two-tone', + 'file-word-two-tone', + 'file-zip-two-tone', + 'filter-two-tone', + 'fire-two-tone', + 'flag-two-tone', + 'folder-add-two-tone', + 'folder-two-tone', + 'folder-open-two-tone', + 'frown-two-tone', + 'funnel-plot-two-tone', + 'gift-two-tone', + 'gold-two-tone', + 'hdd-two-tone', + 'heart-two-tone', + 'home-two-tone', + 'hourglass-two-tone', + 'idcard-two-tone', + 'insurance-two-tone', + 'interaction-two-tone', + 'layout-two-tone', + 'like-two-tone', + 'lock-two-tone', + 'mail-two-tone', + 'medicine-box-two-tone', + 'meh-two-tone', + 'message-two-tone', + 'mobile-two-tone', + 'money-collect-two-tone', + 'notification-two-tone', + 'phone-two-tone', + 'picture-two-tone', + 'play-square-two-tone', + 'pound-circle-two-tone', + 'printer-two-tone', + 'profile-two-tone', + 'project-two-tone', + 'property-safety-two-tone', + 'pushpin-two-tone', + 'reconciliation-two-tone', + 'red-envelope-two-tone', + 'rest-two-tone', + 'rocket-two-tone', + 'safety-certificate-two-tone', + 'save-two-tone', + 'schedule-two-tone', + 'security-scan-two-tone', + 'setting-two-tone', + 'shop-two-tone', + 'shopping-two-tone', + 'skin-two-tone', + 'smile-two-tone', + 'sound-two-tone', + 'star-two-tone', + 'switcher-two-tone', + 'tablet-two-tone', + 'tag-two-tone', + 'tags-two-tone', + 'thunderbolt-two-tone', + 'tool-two-tone', + 'trademark-circle-two-tone', + 'trophy-two-tone', + 'unlock-two-tone', + 'usb-two-tone', + 'video-camera-two-tone', + 'wallet-two-tone' + ] + } + ] + }, + { + name: '扩展', + key: 'extend', + iconItem: [ + { + name: '常用', + key: 'default', + item: uiwIcons + }, + { + name: '其他', + key: 'other', + item: ['GiteeIcon'] + } + ] + } + ] +} diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 0000000..83491a0 --- /dev/null +++ b/src/config/index.js @@ -0,0 +1,101 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const DEFAULT_CONFIG = { + // 首页地址 + DASHBOARD_URL: '/index', + + // 接口地址 + API_URL: import.meta.env.VITE_API_BASEURL, + + // 请求超时 + TIMEOUT: 60000, + + // TokenName // Authorization + TOKEN_NAME: 'token', + + // Token前缀,注意最后有个空格,如不需要需设置空字符串 // Bearer + TOKEN_PREFIX: '', + + // 追加其他头 + HEADERS: {}, + + // 请求是否开启缓存 + REQUEST_CACHE: false, + + // 布局 经典:classical,双排菜单:doublerow, 顶栏菜单:top + SNOWY_LAYOUT: 'doublerow', + + // 菜单是否折叠 + SNOWY_MENU_COLLAPSE: false, + + // 模块坞 + SNOWY_MODULE_UNFOLD_OPEN: true, + + // 是否开启多标签 + SNOWY_LAYOUT_TAGS_OPEN: true, + + // 是否开启展示面包屑 + SNOWY_BREADCRUMD_OPEN: false, + + // 顶栏是否应用主题色 + SNOWY_TOP_HEADER_THEME_COLOR_OPEN: false, + + // 顶栏主题色通栏 + SNOWY_TOP_HEADER_THEME_COLOR_SPREAD: false, + + // 侧边菜单是否排他展开 + SNOWY_SIDE_UNIQUE_OPEN: true, + + // 登录用户水印 + SNOWY_LOGIN_USER_WATERMARK_OPEN: false, + + // 页脚版权信息 + SNOWY_FOOTER_COPYRIGHT_OPEN: true, + + // 圆角风格 + SNOWY_ROUNDED_CORNER_STYLE_OPEN: true, + + // 语言 + LANG: 'zh-cn', + + // 主题颜色 + COLOR: '#1677FF', + + // 默认整体主题 + SNOWY_THEME: 'dark', + + // 整体表单风格 + SNOWY_FORM_STYLE: 'drawer', + + // 系统基础配置,这些是数据库中保存起来的 + SYS_BASE_CONFIG: { + // 默认logo + SNOWY_SYS_LOGO: '/img/logo.png', + // 背景图 + SNOWY_SYS_BACK_IMAGE: '', + // 系统名称 + SNOWY_SYS_NAME: 'Snowy', + // 版本 + SNOWY_SYS_VERSION: '2.0', + // 版权 + SNOWY_SYS_COPYRIGHT: 'Snowy ©2022 Created by xiaonuo.vip', + // 版权跳转URL + SNOWY_SYS_COPYRIGHT_URL: 'https://www.xiaonuo.vip', + // 默认文件存储 + SNOWY_SYS_DEFAULT_FILE_ENGINE: 'LOCAL', + // 是否开启验证码 + SNOWY_SYS_DEFAULT_CAPTCHA_OPEN: 'false', + // 默认重置密码 + SNOWY_SYS_DEFAULT_PASSWORD: '123456' + } +} + +export default DEFAULT_CONFIG diff --git a/src/config/route.js b/src/config/route.js new file mode 100644 index 0000000..21e1d17 --- /dev/null +++ b/src/config/route.js @@ -0,0 +1,44 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +// 静态路由配置 +const routes = { + // 默认模块,仅限于后端未添加任何单页配置,用此路由 + module: [ + { + id: '01', + name: 'homeModule', + path: '/homeModule', + component: '', + meta: { + title: '默认', + type: 'module', + icon: 'bank-outlined' + }, + children: [] + } + ], + // 默认谁都有个人中心 + menu: [ + { + id: '001', + name: 'usercenter', + path: '/usercenter', + component: 'sys/user/userCenter', + meta: { + title: '个人中心', + type: 'menu', + hidden: true + } + } + ] +} + +export default routes diff --git a/src/config/settingConfig.js b/src/config/settingConfig.js new file mode 100644 index 0000000..9d071df --- /dev/null +++ b/src/config/settingConfig.js @@ -0,0 +1,64 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const colorList = [ + { + key: '薄暮', + color: '#F5222D' + }, + { + key: '火山', + color: '#FA541C' + }, + { + key: '胭脂粉', + color: '#EB2F96' + }, + { + key: '日暮', + color: '#FAAD14' + }, + { + key: '明青', + color: '#13C2C2' + }, + { + key: '极光绿', + color: '#52C41A' + }, + { + key: '深绿', + color: '#009688' + }, + { + key: '拂晓蓝(默认)', + color: '#1677FF' + }, + { + key: '极客蓝', + color: '#2F54EB' + }, + { + key: '酱紫', + color: '#722ED1' + }, + { + key: '主题黑', + color: '#001529' + } +] + +const updateColorWeak = (colorWeak) => { + // document.body.className = colorWeak ? 'colorWeak' : ''; + const app = document.body.querySelector('#app') + colorWeak ? app.classList.add('colorWeak') : app.classList.remove('colorWeak') +} + +export { colorList, updateColorWeak } diff --git a/src/config/themeColor.js b/src/config/themeColor.js new file mode 100644 index 0000000..b9f5456 --- /dev/null +++ b/src/config/themeColor.js @@ -0,0 +1,10 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ diff --git a/src/layout/components/NavMenu.vue b/src/layout/components/NavMenu.vue new file mode 100644 index 0000000..acc532b --- /dev/null +++ b/src/layout/components/NavMenu.vue @@ -0,0 +1,65 @@ + + + + diff --git a/src/layout/components/breadcrumb.vue b/src/layout/components/breadcrumb.vue new file mode 100644 index 0000000..bd852ac --- /dev/null +++ b/src/layout/components/breadcrumb.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/layout/components/iframeView.vue b/src/layout/components/iframeView.vue new file mode 100644 index 0000000..c714a98 --- /dev/null +++ b/src/layout/components/iframeView.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/layout/components/message.vue b/src/layout/components/message.vue new file mode 100644 index 0000000..5166f30 --- /dev/null +++ b/src/layout/components/message.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/layout/components/moduleMenu.vue b/src/layout/components/moduleMenu.vue new file mode 100644 index 0000000..fe47994 --- /dev/null +++ b/src/layout/components/moduleMenu.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/layout/components/panel-search/index.vue b/src/layout/components/panel-search/index.vue new file mode 100644 index 0000000..7ac2320 --- /dev/null +++ b/src/layout/components/panel-search/index.vue @@ -0,0 +1,336 @@ + + + + + diff --git a/src/layout/components/panel-search/item.vue b/src/layout/components/panel-search/item.vue new file mode 100755 index 0000000..5201dee --- /dev/null +++ b/src/layout/components/panel-search/item.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/layout/components/setting.vue b/src/layout/components/setting.vue new file mode 100644 index 0000000..ea70ed8 --- /dev/null +++ b/src/layout/components/setting.vue @@ -0,0 +1,489 @@ + + + + diff --git a/src/layout/components/sideM.vue b/src/layout/components/sideM.vue new file mode 100644 index 0000000..ba66128 --- /dev/null +++ b/src/layout/components/sideM.vue @@ -0,0 +1,143 @@ + + + + diff --git a/src/layout/components/tags.vue b/src/layout/components/tags.vue new file mode 100644 index 0000000..a196c5d --- /dev/null +++ b/src/layout/components/tags.vue @@ -0,0 +1,474 @@ + + + + diff --git a/src/layout/components/topbar.vue b/src/layout/components/topbar.vue new file mode 100644 index 0000000..4e8e61f --- /dev/null +++ b/src/layout/components/topbar.vue @@ -0,0 +1,36 @@ + + diff --git a/src/layout/components/userbar.vue b/src/layout/components/userbar.vue new file mode 100644 index 0000000..2ae8562 --- /dev/null +++ b/src/layout/components/userbar.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/src/layout/enum/layoutEnum.js b/src/layout/enum/layoutEnum.js new file mode 100644 index 0000000..60b916e --- /dev/null +++ b/src/layout/enum/layoutEnum.js @@ -0,0 +1,15 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const layoutEnum = { + CLASSICAL: 'classical', + DOUBLEROW: 'doublerow', + TOP: 'top' +} diff --git a/src/layout/enum/themeEnum.js b/src/layout/enum/themeEnum.js new file mode 100644 index 0000000..d0503b4 --- /dev/null +++ b/src/layout/enum/themeEnum.js @@ -0,0 +1,15 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const themeEnum = { + LIGHT: 'light', + DARK: 'dark', + REAL_DARK: 'realDark' +} diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 0000000..d55a81e --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,650 @@ + + + + + diff --git a/src/layout/menu/classicalMenu.vue b/src/layout/menu/classicalMenu.vue new file mode 100644 index 0000000..882da50 --- /dev/null +++ b/src/layout/menu/classicalMenu.vue @@ -0,0 +1,154 @@ + + + + diff --git a/src/layout/menu/doubleRowMenu.vue b/src/layout/menu/doubleRowMenu.vue new file mode 100644 index 0000000..a4e8038 --- /dev/null +++ b/src/layout/menu/doubleRowMenu.vue @@ -0,0 +1,185 @@ + + + + diff --git a/src/layout/menu/topMenu.vue b/src/layout/menu/topMenu.vue new file mode 100644 index 0000000..90402c2 --- /dev/null +++ b/src/layout/menu/topMenu.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/layout/other/403.vue b/src/layout/other/403.vue new file mode 100644 index 0000000..32fa3f5 --- /dev/null +++ b/src/layout/other/403.vue @@ -0,0 +1,3 @@ + diff --git a/src/layout/other/404.vue b/src/layout/other/404.vue new file mode 100644 index 0000000..27b3fe8 --- /dev/null +++ b/src/layout/other/404.vue @@ -0,0 +1,20 @@ + + diff --git a/src/layout/other/empty.vue b/src/layout/other/empty.vue new file mode 100644 index 0000000..497d470 --- /dev/null +++ b/src/layout/other/empty.vue @@ -0,0 +1,3 @@ + diff --git a/src/locales/index.js b/src/locales/index.js new file mode 100644 index 0000000..08e82b9 --- /dev/null +++ b/src/locales/index.js @@ -0,0 +1,38 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { createI18n } from 'vue-i18n' +import zhCN from 'ant-design-vue/es/locale/zh_CN' +import enGB from 'ant-design-vue/es/locale/en_GB' +import zh_cn from './lang/zh-cn.js' +import en from './lang/en.js' +import tool from '@/utils/tool' +import sysConfig from '@/config/index' + +export const messages = { + 'zh-cn': { + lang: zhCN, + ...zh_cn + }, + en: { + lang: enGB, + ...en + } +} + +const i18n = createI18n({ + legacy: false, + locale: tool.data.get('APP_LANG') || sysConfig.LANG, + fallbackLocale: 'zh-cn', + globalInjection: true, + messages +}) + +export default i18n diff --git a/src/locales/lang/en.js b/src/locales/lang/en.js new file mode 100644 index 0000000..75ac196 --- /dev/null +++ b/src/locales/lang/en.js @@ -0,0 +1,72 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export default { + common: { + searchButton: 'search', + resetButton: 'reset', + addButton: 'add', + editButton: 'edit', + removeButton: 'delete', + batchRemoveButton: 'batch Remove', + detailButton: 'detail', + searchKey: 'Search Key', + imports: 'Import', + more: 'More', + export: 'Export' + }, + model: { + user: 'user', + org: 'org', + pos: 'pos', + role: 'role', + bizUser: 'bizUser' + }, + login: { + signInTitle: 'Sign in', + forgetPassword: 'Forget password', + signIn: 'Sign in', + signInOther: 'Sign in with', + accountPlaceholder: 'Please input a user account', + accountError: 'Please input a user account', + PWPlaceholder: 'Please input a password', + PWError: 'Please input a password', + validLaceholder: 'Please input a valid', + validError: 'Please input a valid', + accountPassword: 'Account Password', + phoneSms: 'Phone SMS', + phonePlaceholder: 'Please input a phone', + smsCodePlaceholder: 'Please input a SMS code', + getSmsCode: 'SMS code', + machineValidation: 'Machine Validation', + sendingSmsMessage: 'Sending SMS Message', + newPwdPlaceholder: 'Please input a new password', + backLogin: 'Back Login', + restPassword: 'Rest Password', + emailPlaceholder: 'Please input a email', + emailCodePlaceholder: 'Please input a Email code', + restPhoneType: 'For phone rest', + restEmailType: 'For email rest' + }, + user: { + userStatus: 'User Status', + resetPassword: 'Reset Password', + role: 'Role', + batchExportButton: 'Batch Export', + grantRole: 'Grant Role', + grantResource: 'Grant Resource', + grantPermission: 'Grant Permission', + exportUserInfo: 'Export UserInfo', + placeholderNameAndSearchKey: 'Please enter your name or keyword', + placeholderUserStatus: 'Please select status', + popconfirmDeleteUser: 'Are you sure you want to delete it?', + popconfirmResatUserPwd: 'Are you sure you want to reset?' + } +} diff --git a/src/locales/lang/zh-cn.js b/src/locales/lang/zh-cn.js new file mode 100644 index 0000000..b25b2d0 --- /dev/null +++ b/src/locales/lang/zh-cn.js @@ -0,0 +1,74 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import 'dayjs/locale/zh-cn' + +export default { + common: { + searchButton: '查询', + resetButton: '重置', + addButton: '增加', + editButton: '编辑', + removeButton: '删除', + batchRemoveButton: '批量删除', + detailButton: '详情', + searchKey: '关键词', + imports: '导入', + more: '更多', + export: '导出' + }, + model: { + user: '用户', + org: '机构', + pos: '职位', + role: '角色', + bizUser: '人员' + }, + login: { + signInTitle: '用户登录', + forgetPassword: '忘记密码', + signIn: '登录', + signInOther: '其他登录方式', + accountPlaceholder: '请输入账号', + accountError: '请输入账号', + PWPlaceholder: '请输入密码', + PWError: '请输入密码', + validLaceholder: '请输入验证码', + validError: '请输入验证码', + accountPassword: '账号密码', + phoneSms: '手机号登录', + phonePlaceholder: '请输入手机号', + smsCodePlaceholder: '请输入短信验证码', + getSmsCode: '获取验证码', + machineValidation: '机器验证', + sendingSmsMessage: '短信发送中', + newPwdPlaceholder: '请输入新密码', + backLogin: '返回登录', + restPassword: '重置密码', + emailPlaceholder: '请输入邮箱号', + emailCodePlaceholder: '请输入邮件验证码', + restPhoneType: '手机号找回', + restEmailType: '邮箱找回' + }, + user: { + userStatus: '用户状态', + resetPassword: '重置密码', + role: '角色', + batchExportButton: '批量导出', + grantRole: '授权角色', + grantResource: '授权资源', + grantPermission: '授权权限', + exportUserInfo: '导出信息', + placeholderNameAndSearchKey: '请输入姓名或关键词', + placeholderUserStatus: '请选择状态', + popconfirmDeleteUser: '确定要删除吗?', + popconfirmResatUserPwd: '确定要重置吗?' + } +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..e3b5ecb --- /dev/null +++ b/src/main.js @@ -0,0 +1,20 @@ +import { createApp } from 'vue' +import Antd from 'ant-design-vue' +import { createPinia } from 'pinia' + +import './style/index.less' +import snowy from './snowy' +import i18n from './locales' +import router from './router' +import App from './App.vue' +import './tailwind.css' + +const app = createApp(App) +app.use(createPinia()) +app.use(router) +app.use(Antd) +app.use(i18n) +app.use(snowy) + +// 挂载app +app.mount('#app') diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..24596f6 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,172 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { createRouter, createWebHistory } from 'vue-router' +import { notification } from 'ant-design-vue' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import systemRouter from './systemRouter' +import { afterEach, beforeEach } from './scrollBehavior' +import whiteListRouters from './whiteList' +import userRoutes from '@/config/route' +import tool from '@/utils/tool' +import { cloneDeep } from 'lodash-es' +import { globalStore } from '@/store' +import { NextLoading } from '@/utils/loading' +import { useMenuStore } from '@/store/menu' + +// 进度条配置 +NProgress.configure({ showSpinner: false, speed: 500 }) + +// 系统特殊路由 +const routes_404 = [ + { + path: '/:pathMatch(.*)*', + hidden: true, + component: () => import('@/layout/other/404.vue') + } +] +// 系统路由 +const routes = [...systemRouter, ...whiteListRouters, ...routes_404] + +const router = createRouter({ + history: createWebHistory(), + routes +}) + +// 设置标题 +// document.title = sysBaseConfig.SNOWY_SYS_NAME + +// 判断是否已加载过动态/静态路由 +const isGetRouter = ref(false) + +// 白名单校验 +const exportWhiteListFromRouter = (router) => { + const res = [] + for (const item of router) res.push(item.path) + return res +} +const whiteList = exportWhiteListFromRouter(whiteListRouters) + +router.beforeEach(async (to, from, next) => { + NProgress.start() + const store = globalStore() + + const sysBaseConfig = tool.data.get('SNOWY_SYS_BASE_CONFIG') || store.sysBaseConfig + // 动态标题 + document.title = to.meta.title + ? `${to.meta.title} - ${sysBaseConfig.SNOWY_SYS_NAME}` + : `${sysBaseConfig.SNOWY_SYS_NAME}` + + // 过滤白名单 + if (whiteList.includes(to.path)) { + next() + // NProgress.done() + return false + } + + if (!isGetRouter.value) { + // 初始化菜单加载,代码位置不能变动 + const menuStore = useMenuStore() + menuStore.refreshMenu() + isGetRouter.value = true + next({ ...to, replace: true }) + return false + } + + const token = tool.data.get('TOKEN') + + // 页面刷新,加载loading + if (from.path === '/' && to.path !== '/login' && !window.nextLoading && token) { + NextLoading.start() + } + if (to.path === '/login') { + // 当用户输入了login路由,将其跳转首页即可 + if (token) { + next({ + path: '/' + }) + return false + } + // 删除路由(替换当前layout路由) + router.addRoute(routes[0]) + next() + return false + } else { + if (token) { + // 有token的时候才保存登录之前要访问的页面 + tool.data.set('LAST_VIEWS_PATH', to.fullPath) + } + } + if (!token) { + next({ + path: '/login' + }) + return false + } + // 整页路由处理 + if (to.meta.fullpage) { + to.matched = [to.matched[to.matched.length - 1]] + } + beforeEach(to, from) + next() +}) + +router.afterEach((to, from) => { + afterEach(to, from) + NProgress.done() + window.nextLoading && NextLoading.done() +}) + +router.onError((error) => { + NProgress.done() + window.nextLoading && NextLoading.done() + notification.error({ + message: '路由错误', + description: error.message + }) +}) + +// 入侵追加自定义方法、对象 +router.getMenu = () => { + const menuStore = useMenuStore() + let apiMenu = menuStore.menuData.value || tool.data.get('MENU') || [] + // 增加固定路由 + if (apiMenu.length === 0) { + // 创建默认模块,显示默认菜单 + apiMenu[0] = cloneDeep(userRoutes.module[0]) + } + const childrenApiMenu = apiMenu[0].children + apiMenu[0].children = [...(childrenApiMenu ? childrenApiMenu : []), ...userRoutes.menu] + return filterUrl(apiMenu) +} + +const filterUrl = (map) => { + const newMap = [] + const traverse = (maps) => { + maps && + maps.forEach((item) => { + item.meta = item.meta ? item.meta : {} + // 处理iframe + if (item.meta.type === 'iframe') { + item.path = `/${item.name}` + } + // 递归循环 + if (item.children && item.children.length > 0) { + item.children = filterUrl(item.children) + } + newMap.push(item) + }) + } + traverse(map) + return newMap +} + +export default router diff --git a/src/router/scrollBehavior.js b/src/router/scrollBehavior.js new file mode 100644 index 0000000..040f60b --- /dev/null +++ b/src/router/scrollBehavior.js @@ -0,0 +1,38 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { nextTick } from 'vue' +import { viewTagsStore } from '@/store' + +export function beforeEach(to, from) { + const adminMain = document.querySelector('#admin-ui-main') + if (!adminMain) { + return false + } + const store = viewTagsStore() + store.updateViewTags({ + fullPath: from.fullPath, + scrollTop: adminMain.scrollTop + }) +} + +export function afterEach(to) { + const adminMain = document.querySelector('#admin-ui-main') + if (!adminMain) { + return false + } + nextTick(() => { + const store = viewTagsStore() + const beforeRoute = store.viewTags.filter((v) => v.fullPath == to.fullPath)[0] + if (beforeRoute) { + adminMain.scrollTop = beforeRoute.scrollTop || 0 + } + }) +} diff --git a/src/router/systemRouter.js b/src/router/systemRouter.js new file mode 100644 index 0000000..e3d19ea --- /dev/null +++ b/src/router/systemRouter.js @@ -0,0 +1,52 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import config from '@/config' +import tool from '@/utils/tool' +import routerUtil from '@/utils/routerUtil' + +import Layout from '@/layout/index.vue' +import Login from '@/views/auth/login/login.vue' +import Findpwd from '@/views/auth/findPwd/index.vue' +import Callback from '@/views/auth/login/callback.vue' + +// 系统路由 +const routes = [ + { + name: 'layout', + path: '/', + component: Layout, + redirect: tool.data.get('MENU') ? routerUtil.getIndexMenu(tool.data.get('MENU')).path : config.DASHBOARD_URL, + children: [] + }, + { + path: '/login', + component: Login, + meta: { + title: '登录' + } + }, + { + path: '/findpwd', + component: Findpwd, + meta: { + title: '找回密码' + } + }, + { + path: '/callback', + component: Callback, + meta: { + title: '三方登录' + } + } +] + +export default routes diff --git a/src/router/whiteList.js b/src/router/whiteList.js new file mode 100644 index 0000000..7da14bf --- /dev/null +++ b/src/router/whiteList.js @@ -0,0 +1,36 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const constRouters = [ + { + path: '/findpwd' + }, + { + path: '/callback' + }, + { + path: '/other', + name: 'other', + component: () => import('@/views/other/index.vue'), + meta: { + title: '其他' + } + } +] +/** + * 路由白名单(数组形式) + * + * 如果组件像登录一样,那就简单的写一个path,即可实现放开, + * 如果组件不在这边的,需要手动添加组件,就像other一样, + * 因为没登陆你没法拿到后端给你返回的那一坨,当然就找不到component + * + * @author yubaoshan + */ +export default constRouters diff --git a/src/snowy.js b/src/snowy.js new file mode 100644 index 0000000..d3feb5b --- /dev/null +++ b/src/snowy.js @@ -0,0 +1,40 @@ +import * as antdvIcons from '@ant-design/icons-vue' +import config from './config' +import tool from './utils/tool' +import { hasPerm } from './utils/permission/index' +import errorHandler from './utils/errorHandler' +import customIcons from './assets/icons/index.js' +import 'highlight.js/styles/atom-one-dark.css' +import hljsCommon from 'highlight.js/lib/common' +import hljsVuePlugin from '@highlightjs/vue-plugin' +import STable from './components/Table/index.vue' +import Ellipsis from './components/Ellipsis/index.vue' +import DragModal from './components/DragModal/index.vue' + +export default { + install(app) { + // 挂载全局对象 + app.config.globalProperties.$CONFIG = config + app.config.globalProperties.$TOOL = tool + app.config.globalProperties.hasPerm = hasPerm + + // 注册常用组件 + app.component('STable', STable) + app.component('Ellipsis', Ellipsis) + app.component('DragModal', DragModal) + + // 统一注册antdv图标 + for (const icon in antdvIcons) { + app.component(icon, antdvIcons[icon]) + } + // 统一注册自定义全局图标 + app.use(customIcons) + // 注册代码高亮组件 (博客:https://blog.csdn.net/weixin_41897680/article/details/124925222) + // 注意:解决Vue使用highlight.js build打包发布后样式消失问题,原因是webpack在打包的时候没有把未被使用的代码打包进去,因此,在此处引用一下,看似无意义实则有用 + hljsCommon.highlightAuto('

Highlight.js has been registered successfully!

').value + app.use(hljsVuePlugin) + + // 全局代码错误捕捉 + app.config.errorHandler = errorHandler + } +} diff --git a/src/store/global.js b/src/store/global.js new file mode 100644 index 0000000..7337fcd --- /dev/null +++ b/src/store/global.js @@ -0,0 +1,174 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' +import { changeColor } from '@/utils/themeUtil' +import config from '@/config' +import { message } from 'ant-design-vue' +import tool from '@/utils/tool' + +const toolDataGet = (key) => { + return tool.data.get(key) +} + +// 获取缓存中的,如果取不到那就用配置的 +const getCacheConfig = (value) => { + const data = toolDataGet(value) + if (data === null) { + return config[value] + } + return data +} + +// deprecated 请使用 useGlobalStore +export const globalStore = defineStore('global', () => { + // 移动端布局 + const isMobile = ref(false) + // 布局 + const layout = ref(getCacheConfig('SNOWY_LAYOUT')) + // 菜单是否折叠 toggle + const menuIsCollapse = ref(getCacheConfig('SNOWY_MENU_COLLAPSE')) + // 侧边菜单是否排他展开 + const sideUniqueOpen = ref(getCacheConfig('SNOWY_SIDE_UNIQUE_OPEN')) + // 多标签栏 + const layoutTagsOpen = ref(getCacheConfig('SNOWY_LAYOUT_TAGS_OPEN')) + // 是否展示面包屑 + const breadcrumbOpen = ref(getCacheConfig('SNOWY_BREADCRUMD_OPEN')) + // 是否开启固定宽度(顶栏菜单) + const fixedWidth = ref(getCacheConfig('SNOWY_FIXEDWIDTH_OPEN')) + // 顶栏是否应用主题色 + const topHeaderThemeColorOpen = ref(getCacheConfig('SNOWY_TOP_HEADER_THEME_COLOR_OPEN')) + // 顶栏主题色通栏 + const topHeaderThemeColorSpread = ref(getCacheConfig('SNOWY_TOP_HEADER_THEME_COLOR_SPREAD')) + // 登录用户水印 + const loginUserWatermarkOpen = ref(getCacheConfig('SNOWY_LOGIN_USER_WATERMARK_OPEN')) + // 页脚版权信息 + const footerCopyrightOpen = ref(getCacheConfig('SNOWY_FOOTER_COPYRIGHT_OPEN')) + // 模块坞 + const moduleUnfoldOpen = ref(getCacheConfig('SNOWY_MODULE_UNFOLD_OPEN')) + // 主题 + const theme = ref(getCacheConfig('SNOWY_THEME')) + // 主题颜色 + const themeColor = ref(toolDataGet('SNOWY_THEME_COLOR') || config.COLOR) + // 圆角分格 + const roundedCornerStyleOpen = ref(getCacheConfig('SNOWY_ROUNDED_CORNER_STYLE_OPEN')) + // 整体表单风格 + const formStyle = ref(getCacheConfig('SNOWY_FORM_STYLE')) + // 用户信息 + const userInfo = ref(toolDataGet('USER_INFO') || {}) + // 系统配置 + const sysBaseConfig = ref(toolDataGet('SNOWY_SYS_BASE_CONFIG') || config.SYS_BASE_CONFIG) + // 默认应用 + const module = ref(getCacheConfig('SNOWY_MENU_MODULE_ID')) + + // 定义action + const setIsMobile = (key) => { + isMobile.value = key + } + const setLayout = (key) => { + layout.value = key + } + const setTheme = (key) => { + theme.value = key + changeColor(themeColor.value, key).then() + } + const setThemeColor = (key) => { + themeColor.value = key + changeColor(key, theme.value).then() + } + const initTheme = () => { + changeColor(themeColor.value, theme.value).then() + } + const toggleConfig = (key) => { + switch (key) { + case 'menuIsCollapse': + menuIsCollapse.value = !menuIsCollapse.value + break + case 'topHeaderThemeColorSpread': + topHeaderThemeColorSpread.value = !topHeaderThemeColorSpread.value + break + case 'sideUniqueOpen': + sideUniqueOpen.value = !sideUniqueOpen.value + break + case 'layoutTagsOpen': + layoutTagsOpen.value = !layoutTagsOpen.value + break + case 'breadcrumbOpen': + breadcrumbOpen.value = !breadcrumbOpen.value + break + case 'fixedWidth': + fixedWidth.value = !fixedWidth.value + break + case 'topHeaderThemeColorOpen': + topHeaderThemeColorOpen.value = !topHeaderThemeColorOpen.value + topHeaderThemeColorSpread.value = topHeaderThemeColorOpen.value + ? topHeaderThemeColorSpread.value + : topHeaderThemeColorOpen.value + break + case 'loginUserWatermarkOpen': + loginUserWatermarkOpen.value = !loginUserWatermarkOpen.value + break + case 'footerCopyrightOpen': + footerCopyrightOpen.value = !footerCopyrightOpen.value + break + case 'roundedCornerStyleOpen': + roundedCornerStyleOpen.value = !roundedCornerStyleOpen.value + break + case 'moduleUnfoldOpen': + moduleUnfoldOpen.value = !moduleUnfoldOpen.value + break + } + } + const setFormStyle = (key) => { + formStyle.value = key + } + const setUserInfo = (key) => { + userInfo.value = key + } + const setSysBaseConfig = (key) => { + sysBaseConfig.value = key + } + const setModule = (key) => { + module.value = key + } + return { + isMobile, + layout, + menuIsCollapse, + sideUniqueOpen, + layoutTagsOpen, + breadcrumbOpen, + fixedWidth, + topHeaderThemeColorOpen, + topHeaderThemeColorSpread, + loginUserWatermarkOpen, + footerCopyrightOpen, + moduleUnfoldOpen, + theme, + themeColor, + roundedCornerStyleOpen, + formStyle, + userInfo, + sysBaseConfig, + module, + setIsMobile, + setLayout, + setTheme, + setThemeColor, + initTheme, + toggleConfig, + setFormStyle, + setUserInfo, + setSysBaseConfig, + setModule + } +}) + +export const useGlobalStore = globalStore diff --git a/src/store/iframe.js b/src/store/iframe.js new file mode 100644 index 0000000..a3a8e9c --- /dev/null +++ b/src/store/iframe.js @@ -0,0 +1,58 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' + +export const iframeStore = defineStore('iframe', () => { + // 定义state + const iframeList = ref([]) + const setIframeList = (route) => { + iframeList.value = [] + iframeList.value.push(route) + } + + // 定义action + const pushIframeList = (route) => { + const target = iframeList.value.find((item) => item.path === route.path) + if (!target) { + iframeList.value.push(route) + } + } + const removeIframeList = (route) => { + iframeList.value.forEach((item, index) => { + if (item.path === route.path) { + iframeList.value.splice(index, 1) + } + }) + } + const refreshIframe = (route) => { + iframeList.value.forEach((item) => { + if (item.path === route.path) { + const url = route.meta.url + item.meta.url = '' + setTimeout(() => { + item.meta.url = url + }, 200) + } + }) + } + const clearIframeList = () => { + iframeList.value = [] + } + + return { + iframeList, + setIframeList, + pushIframeList, + removeIframeList, + refreshIframe, + clearIframeList + } +}) diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..c4004d2 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,5 @@ +export * from './global' +export * from './search' +export * from './iframe' +export * from './keepAlive' +export * from './viewTags' diff --git a/src/store/keepAlive.js b/src/store/keepAlive.js new file mode 100644 index 0000000..d40546b --- /dev/null +++ b/src/store/keepAlive.js @@ -0,0 +1,55 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' + +export const keepAliveStore = defineStore('keepAlive', () => { + // 定义state + const keepLiveRoute = ref([]) + const routeKey = ref(null) + const routeShow = ref(true) + + // 定义action + const pushKeepLive = (component) => { + if (!keepLiveRoute.value.includes(component)) { + keepLiveRoute.value.push(component) + } + } + const removeKeepLive = (component) => { + const index = keepLiveRoute.value.indexOf(component) + if (index !== -1) { + keepLiveRoute.value.splice(index, 1) + } + } + const clearKeepLive = () => { + keepLiveRoute.value = [] + } + const setRouteKey = (key) => { + routeKey.value = key + } + const setRouteShow = (key) => { + routeShow.value = key + } + const setRouteKeyAction = (key) => { + setRouteKey(key) + } + + return { + keepLiveRoute, + routeKey, + routeShow, + pushKeepLive, + removeKeepLive, + clearKeepLive, + setRouteKey, + setRouteShow, + setRouteKeyAction + } +}) diff --git a/src/store/menu.js b/src/store/menu.js new file mode 100644 index 0000000..62aca7b --- /dev/null +++ b/src/store/menu.js @@ -0,0 +1,142 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' +import tool from '@/utils/tool' +import { cloneDeep } from 'lodash-es' +import userRoutes from '@/config/route' +import { searchStore } from '@/store/search' +import router from '@/router' +import userCenterApi from '@/api/sys/userCenterApi' +import whiteList from '@/router/whiteList' +import routesData from '@/router/systemRouter' + +const modules = import.meta.glob('/src/views/**/**.vue') +export const useMenuStore = defineStore('menuStore', () => { + const menuData = ref([]) + const refreshFlag = ref(false) + // 改变刷新标志 + const changeRefreshFlag = (flag) => { + refreshFlag.value = flag + } + // 加载菜单 + const loadMenu = () => { + // 获取用户菜单 + const apiMenu = tool.data.get('MENU') || [] + if (apiMenu.length === 0) { + // 创建默认模块,显示默认菜单 + apiMenu[0] = cloneDeep(userRoutes.module[0]) + } + const childrenApiMenu = apiMenu[0].children + apiMenu[0].children = [...(childrenApiMenu ? childrenApiMenu : []), ...userRoutes.menu] + let menuRouter = filterAsyncRouter(apiMenu) + menuRouter = flatAsyncRoutes(menuRouter) + menuData.value = menuRouter + // 初始化搜索 + const search_store = searchStore() + search_store.init(menuRouter) + } + // 过滤异步路由 + const filterAsyncRouter = (routerMap) => { + const accessedRouters = [] + routerMap.forEach((item) => { + item.meta = item.meta ? item.meta : {} + // 处理外部链接特殊路由 + if (item.meta.type === 'iframe') { + item.meta.url = item.path + item.path = `/${item.name}` + } + // MAP转路由对象 + const route = { + path: item.path, + name: item.name, + meta: item.meta, + redirect: item.redirect, + children: item.children ? filterAsyncRouter(item.children) : null, + component: loadComponent(item.component) + } + accessedRouters.push(route) + }) + return accessedRouters + } + // 将异步路由扁平化 + const flatAsyncRoutes = (routes, breadcrumb = []) => { + const res = [] + routes.forEach((route) => { + const tmp = { ...route } + if (tmp.children) { + const childrenBreadcrumb = [...breadcrumb] + childrenBreadcrumb.push(route) + const tmpRoute = { ...route } + tmpRoute.meta.breadcrumb = childrenBreadcrumb + delete tmpRoute.children + res.push(tmpRoute) + const childrenRoutes = flatAsyncRoutes(tmp.children, childrenBreadcrumb) + childrenRoutes.map((item) => { + res.push(item) + }) + } else { + const tmpBreadcrumb = [...breadcrumb] + tmpBreadcrumb.push(tmp) + tmp.meta.breadcrumb = tmpBreadcrumb + res.push(tmp) + } + }) + return res + } + // 动态加载组件 + const loadComponent = (component) => { + if (component) { + if (component.includes('/')) { + return modules[`/src/views/${component}.vue`] + } + return modules[`/src/views/${component}/index.vue`] + } else { + return () => import(/* @vite-ignore */ `/src/layout/other/empty.vue`) + } + } + // 从路由中移除菜单 + const removeFromRouter = () => { + const routes = router.getRoutes() + // 遍历所有路由 + routes.forEach((route) => { + // 过滤白名单 + if ( + whiteList.filter((e) => e.path === route.path).length > 0 || + routesData.filter((e) => e.path === route.path).length > 0 + ) { + return + } + if (route.name && route.name !== 'layout') { + router.removeRoute(route.name) + } + }) + } + // 获取用户菜单 + const fetchMenu = async () => { + const menu = await userCenterApi.userLoginMenu() + tool.data.set('MENU', menu) + refreshMenu() + } + // 刷新菜单 + const refreshMenu = () => { + loadMenu() + removeFromRouter() + addToRouter() + changeRefreshFlag(true) + } + // 将菜单添加到路由 + const addToRouter = () => { + menuData.value.forEach((item) => { + router.addRoute('layout', item) + }) + } + return { menuData, loadMenu, addToRouter, refreshMenu, changeRefreshFlag, refreshFlag, fetchMenu } +}) diff --git a/src/store/search.js b/src/store/search.js new file mode 100755 index 0000000..e1ca521 --- /dev/null +++ b/src/store/search.js @@ -0,0 +1,63 @@ +import '@/utils/objects' +import { defineStore } from 'pinia' + +export const searchStore = defineStore('search', () => { + // 定义state + const pool = ref([]) + const hotkey = ref({ + open: 's', + close: 'esc' + }) + const active = ref(false) + + // 定义action + const toggleActive = () => { + active.value = !active.value + } + const setActive = (val) => { + active.value = val + } + const init = (menu) => { + const poolList = [] + const getFullName = function (meta) { + if (meta.breadcrumb) { + let list = [] + meta.breadcrumb.forEach((item) => { + list.push(item.meta.title) + }) + return list.join(' / ') + } + return meta.title + } + const push = function (menu) { + menu.forEach((m) => { + if ('menu' === m.meta.type) { + if (m.children) { + push(m.children) + } else if (m.children === null) { + poolList.push({ + icon: m.meta.icon, + path: m.path, + fullPath: m.path, + name: m.meta.title, + fullName: getFullName(m.meta), + namePinyin: m.meta.title.toPinyin(), + namePinyinFirst: m.meta.title.toPinyin(true) + }) + } + } + }) + } + push(menu) + pool.value = poolList + } + + return { + pool, + hotkey, + active, + toggleActive, + setActive, + init + } +}) diff --git a/src/store/sysBaseConfig.js b/src/store/sysBaseConfig.js new file mode 100644 index 0000000..33fb235 --- /dev/null +++ b/src/store/sysBaseConfig.js @@ -0,0 +1,40 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import configApi from '@/api/dev/configApi' +import { message } from 'ant-design-vue' + +const formData = ref({ + SNOWY_SYS_LOGO: '', + SNOWY_SYS_BACK_IMAGE: '', + SNOWY_SYS_NAME: '', + SNOWY_SYS_VERSION: '', + SNOWY_SYS_COPYRIGHT: '', + SNOWY_SYS_COPYRIGHT_URL: '', + SNOWY_SYS_DEFAULT_FILE_ENGINE: 'LOCAL', + SNOWY_SYS_DEFAULT_CAPTCHA_OPEN: false, + SNOWY_SYS_DEFAULT_PASSWORD: '' +}) + +const param = { + category: 'SYS_BASE' +} + +const getSysBaseConfig = () => { + configApi.configList(param).then((data) => { + if (data) { + data.forEach((item) => { + formData.value[item.configKey] = item.configValue ? '' : item.configValue + }) + } else { + message.warning('表单项不存在,请初始化数据库') + } + }) +} diff --git a/src/store/user.js b/src/store/user.js new file mode 100644 index 0000000..6fb7401 --- /dev/null +++ b/src/store/user.js @@ -0,0 +1,32 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' +import loginApi from '@/api/auth/loginApi' +import { useGlobalStore } from '@/store' +import tool from '@/utils/tool' +export const userStore = defineStore('userStore', () => { + // 初始化用户信息 + const initUserInfo = async () => { + const data = await loginApi.getLoginUser() + const globalStore = useGlobalStore() + globalStore.setUserInfo(data) + tool.data.set('USER_INFO', data) + } + // 刷新登录用户信息 + const refreshUserLoginUserInfo = () => { + loginApi.getLoginUser().then((data) => { + const globalStore = useGlobalStore() + globalStore.setUserInfo(data) + tool.data.set('USER_INFO', data) + }) + } + return { initUserInfo, refreshUserLoginUserInfo } +}) diff --git a/src/store/viewTags.js b/src/store/viewTags.js new file mode 100644 index 0000000..b0862cc --- /dev/null +++ b/src/store/viewTags.js @@ -0,0 +1,89 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { defineStore } from 'pinia' + +export const viewTagsStore = defineStore('viewTags', () => { + // 定义state + const viewTags = ref([]) + + // 定义action + const pushViewTags = (route) => { + const target = viewTags.value.find((item) => item.path === route.path) + const isName = route.name + if (!target && isName) { + viewTags.value.push(route) + } + if (target) { + viewTags.value.forEach((item, index) => { + if (item.path === route.path) { + viewTags.value[index] = { ...route, ...item } + // Object.assign(item, route) + } + }) + } + } + const removeViewTags = (route) => { + viewTags.value.forEach((item, index) => { + if (item.fullPath === route.fullPath) { + viewTags.value.splice(index, 1) + } + }) + } + const updateViewTags = (route) => { + viewTags.value.forEach((item, index) => { + if (item.fullPath === route.fullPath) { + viewTags.value[index] = { ...route, ...item } + // Object.assign(item, route) + } + }) + } + // 更新或删除视图标签 + const updateOrRemoveViewTags = (routes) => { + if (routes && routes.length > 0) { + viewTags.value.forEach((item, index) => { + const target = routes.find((route) => route.path === item.fullPath) + if (!target) { + // 路由不存在,删除 + viewTags.value.splice(index, 1) + } else { + // 路由存在,更新 + viewTags.value = viewTags.value.map((item) => { + if (item.fullPath === target.path) { + return { ...item, meta: target.meta } + } + return item + }) + } + }) + } + } + const updateViewTagsTitle = (title = '') => { + const nowFullPath = location.hash.substring(1) + viewTags.value.forEach((item) => { + if (item.fullPath === nowFullPath) { + item.meta.title = title + } + }) + } + const clearViewTags = () => { + viewTags.value = [] + } + + return { + viewTags, + pushViewTags, + removeViewTags, + updateViewTags, + updateViewTagsTitle, + clearViewTags, + updateOrRemoveViewTags + } +}) diff --git a/src/style/default.less b/src/style/default.less new file mode 100644 index 0000000..c3846d6 --- /dev/null +++ b/src/style/default.less @@ -0,0 +1,399 @@ +:root { + --blue-1: #e6f7ff; + --blue-2: #bae7ff; + --blue-3: #91d5ff; + --blue-4: #69c0ff; + --blue-5: #40a9ff; + --blue-6: #1677FF; + --blue-7: #096dd9; + --blue-8: #0050b3; + --blue-9: #003a8c; + --blue-10: #002766; + + --green-1: #f6ffed; + --green-2: #d9f7be; + --green-3: #b7eb8f; + --green-4: #95de64; + --green-5: #73d13d; + --green-6: #52c41a; + --green-7: #389e0d; + --green-8: #237804; + --green-9: #135200; + --green-10: #092b00; + + --red-1: #fff1f0; + --red-2: #ffccc7; + --red-3: #ffa39e; + --red-4: #ff7875; + --red-5: #ff4d4f; + --red-6: #f5222d; + --red-7: #cf1322; + --red-8: #a8071a; + --red-9: #820014; + --red-10: #5c0011; + + --gold-1: #fffbe6; + --gold-2: #fff1b8; + --gold-3: #ffe58f; + --gold-4: #ffd666; + --gold-5: #ffc53d; + --gold-6: #faad14; + --gold-7: #d48806; + --gold-8: #ad6800; + --gold-9: #874d00; + --gold-10: #613400; + + --purple-1: #f9f0ff; + --purple-2: #efdbff; + --purple-3: #d3adf7; + --purple-4: #b37feb; + --purple-5: #9254de; + --purple-6: #722ed1; + --purple-7: #531dab; + --purple-8: #391085; + --purple-9: #22075e; + --purple-10: #120338; + + --cyan-1: #e6fffb; + --cyan-2: #b5f5ec; + --cyan-3: #87e8de; + --cyan-4: #5cdbd3; + --cyan-5: #36cfc9; + --cyan-6: #13c2c2; + --cyan-7: #08979c; + --cyan-8: #006d75; + --cyan-9: #00474f; + --cyan-10: #002329; + + --pink-1: #fff0f6; + --pink-2: #ffd6e7; + --pink-3: #ffadd2; + --pink-4: #ff85c0; + --pink-5: #f759ab; + --pink-6: #eb2f96; + --pink-7: #c41d7f; + --pink-8: #9e1068; + --pink-9: #780650; + --pink-10: #520339; + + --orange-1: #fff7e6; + --orange-2: #ffe7ba; + --orange-3: #ffd591; + --orange-4: #ffc069; + --orange-5: #ffa940; + --orange-6: #fa8c16; + --orange-7: #d46b08; + --orange-8: #ad4e00; + --orange-9: #873800; + --orange-10: #612500; + + --primary-radius: #fff; + --primary-1: var(--blue-1); + --primary-2: var(--blue-2); + --primary-3: var(--blue-3); + --primary-4: var(--blue-4); + --primary-5: var(--blue-5); + --primary-6: var(--blue-6); + --primary-7: var(--blue-7); + --primary-8: var(--blue-8); + --primary-9: var(--blue-9); + --primary-10: var(--blue-10); + + --primary-color: var(--primary-6); + --primary-color-hover: var(--primary-5); + --primary-color-active: var(--primary-7); + --primary-color-outline: var(--primary-2); + + --info-color: var(--primary-color); + --success-color: var(--green-6); + --processing-color: var(--blue-6); + --highlight-color: var(--red-5); + + --warning-color: var(--gold-6); + --warning-color-hover: var(--gold-5); + --warning-color-active: var(--gold-7); + --warning-color-outline: var(--gold-2); + + --error-color: var(--red-5); + --error-color-hover: var(--red-4); + --error-color-active: var(--red-7); + --error-color-outline: var(--red-2); + + --body-background: #fff; + --component-background: #fff; + + --popover-background: @component-background; + --popover-customize-border-color: @border-color-split; + + --text-color: fade(@black, 85%); + --text-color-secondary: fade(@black, 45%); + --text-color-inverse: @white; + --icon-color-hover: fade(@black, 75%); + --heading-color: fade(@black, 85%); + + --item-hover-bg: #f5f5f5; + + // Border color + --border-color-base: hsv(0, 0, 85%); + --border-color-split: hsv(0, 0, 94%); + //--border-color-inverse: @white; + + // + --background-color-light: hsv(0, 0, 98%); + --background-color-base: hsv(0, 0, 96%); + + // Disabled states + --disabled-color: fade(#000, 25%); + --disabled-bg: @background-color-base; + --disabled-color-dark: fade(#fff, 35%); + + // Shadow + --shadow-color: rgba(195, 62, 62, 0.15); + --shadow-color-inverse: @component-background; + --box-shadow-base: @shadow-1-down; + --shadow-1-up: 0 -2px 8px @shadow-color; + --shadow-1-down: 0 2px 8px @shadow-color; + --shadow-1-left: -2px 0 8px @shadow-color; + --shadow-1-right: 2px 0 8px @shadow-color; + --shadow-2: 0 4px 12px @shadow-color; + + // Buttons + --btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + --btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); + --btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + + --btn-default-bg: @component-background; + + --btn-default-ghost-color: @component-background; + --btn-default-ghost-border: @component-background; + + --btn-text-hover-bg: rgba(0, 0, 0, 0.018); + --btn-text-active-bg: rgba(0, 0, 0, 0.028); + + // Checkbox + --checkbox-check-bg: @checkbox-check-color; + + // Descriptions + --descriptions-bg: #fafafa; + + // Divider + --divider-color: rgba(0, 0, 0, 6%); + + // Dropdown 有两个 + --dropdown-menu-submenu-disabled-bg: @component-background; + + // Radio + --radio-dot-disabled-color: fade(@black, 20%); + --radio-solid-checked-color: @component-background; + + // Radio buttons + --radio-disabled-button-checked-bg: coverTintMixin(@black, 90%); + --radio-disabled-button-checked-color: @disabled-color; + + // Layout + --layout-body-background: #f0f2f5; + --layout-header-background: #001529; + --layout-trigger-background: #002140; + //--layout-sider-background-1: coverTintMixin(#001529, 10%); + + // Dropdown 有两个 + --dropdown-menu-bg: @component-background; + + // Input + --input-placeholder-color: hsv(0, 0, 75%); + --input-icon-color: @input-color; + --input-bg: @component-background; + --input-number-handler-active-bg: #f4f4f4; + --input-icon-hover-color: fade(@black, 85%); + + // Mentions + --mentions-dropdown-bg: @component-background; + + // Select + --select-dropdown-bg: @component-background; + --select-background: @component-background; + --select-clear-background: @select-background; + --select-selection-item-bg: @background-color-base; + --select-selection-item-border-color: @border-color-split; + --select-multiple-disabled-background: @input-disabled-bg; + --select-multiple-item-disabled-color: #bfbfbf; + --select-multiple-item-disabled-border-color: @select-border-color; + + // Cascader + --cascader-bg: @component-background; + --cascader-menu-bg: @component-background; + --cascader-menu-border-color-split: @border-color-split; + + // Tooltip + --tooltip-bg: rgba(0, 0, 0, 0.75); + + // Popover + --popover-bg: @component-background; + + // Modal + --modal-header-bg: @component-background; + --modal-header-border-color-split: @border-color-split; + --modal-content-bg: @component-background; + --modal-footer-border-color-split: @border-color-split; + + // Progress + --progress-steps-item-bg: #f3f3f3; + + // Menu + --menu-popup-bg: @component-background; + --menu-dark-bg: @layout-header-background; + --menu-dark-inline-submenu-bg: #000c17; + + // Table + --table-header-bg: @background-color-light; + --table-header-sort-bg: @background-color-base; + --table-body-sort-bg: #fafafa; + --table-row-hover-bg: @background-color-light; + --table-expanded-row-bg: #fbfbfb; + --table-header-cell-split-color: rgba(0, 0, 0, 0.06); + --table-header-sort-active-bg: rgba(0, 0, 0, 0.04); + --table-header-filter-active-bg: rgba(0, 0, 0, 0.04); + --table-filter-btns-bg: inherit; + --table-filter-dropdown-bg: @component-background; + --table-expand-icon-bg: @component-background; + + // TimePicker + --picker-bg: @component-background; + --picker-basic-cell-disabled-bg: @disabled-bg; + --picker-border-color: @border-color-split; + + // Calendar + --calendar-bg: @component-background; + --calendar-input-bg: @input-bg; + --calendar-border-color: @border-color-inverse; + --calendar-full-bg: @calendar-bg; + + // Badge + --badge-text-color: @component-background; + + // Rate + --rate-star-bg: @border-color-split; + + // Card + --card-actions-background: @component-background; + --card-skeleton-bg: #cfd8dc; + --card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), + 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); + + // Comment + --comment-bg: inherit; + --comment-author-time-color: #ccc; + --comment-action-hover-color: #595959; + + // BackTop + --back-top-bg: @text-color-secondary; + --back-top-hover-bg: @text-color; + + // Avatar + --avatar-bg: #ccc; + + // Switch + --switch-bg: @component-background; + + // Pagination + --pagination-item-bg: @component-background; + --pagination-item-bg-active: @component-background; + --pagination-item-link-bg: @component-background; + --pagination-item-disabled-color-active: @white; + --pagination-item-disabled-bg-active: darken(hsv(0, 0, 96%), 10%); + --pagination-item-input-bg: @component-background; + + // PageHeader + --page-header-back-color: #000; + --page-header-ghost-bg: inherit; + + // Slider + --slider-rail-background-color: @background-color-base; + --slider-rail-background-color-hover: #e1e1e1; + --slider-dot-border-color: @border-color-split; + --slider-dot-border-color-active: @primary-4; + + // Tree + --tree-bg: @component-background; + + // Skeleton + --skeleton-to-color: coverShadeMixin(@skeleton-color, 5%); + + // Transfer + --transfer-item-hover-bg: @item-hover-bg; + + // Message + --message-notice-content-bg: @component-background; + + // List + --list-customize-card-bg: @component-background; + + // Drawer + --drawer-bg: @component-background; + + // Timeline + --timeline-color: @border-color-split; + --timeline-dot-color: @primary-color; + + // Image + --image-preview-operation-disabled-color: rgba(255, 255, 255, 0.45); + + // Steps + --steps-nav-arrow-color: fade(@black, 25%); + --steps-background: @component-background; + + // Notification + --notification-bg: @component-background; + + // 侧边栏 + --sidebar-light-shadow: 1px 3px 3px rgba(0, 21, 41, 0.08); + --sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, 0.35); + + // 顶栏 + --header-light-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + --header-dark-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); + --header-tool-hover-bg: rgba(0, 0, 0, 0.025); + --header-dark-tool-hover-bg: rgba(255, 255, 255, 0.05); + --header-color-split: rgba(0, 0, 0, 0.08); + + // logo + --logo-light-shadow: 1px 2px 3px rgba(0, 21, 41, 0.08); + --logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, 0.35); + + // + --gradient-min: fade(#cfd8dc, 20%); + --gradient-max: fade(#cfd8dc, 40%); + + // font + --font-color: rgba(0, 0, 0, 0.88); + // header-bottom + --header-bottom: rgba(246, 246, 246, 0.85); + // breadcrumb-background + --breadcrumb-background: rgba(253, 253, 253, 0.85); + // background-color + --snowy-background-color: #FFFFFF; + // tag-background + --tag-background: rgba(253, 253, 253); + // + --success-fade-20: fade(#52c41a, 20%); + --error-fade-20: fade(#ff4d4f, 20%); + --warning-fade-20: fade(#faad14, 20%); + + //--primary-fade-20: fade(#1890ff, 20%); + --primary-fade-20: var(--primary-2); + //--primary-fade-8: fade(#1890ff, 8%); + + --white--fade--65: rgba(255,255,255,.65); + --menu-dark-highlight-color: #fff; + --btn-primary-color: #fff; + --tooltip-color: #fff; + --card-above-color: #F0F0F0; + --card-above-border-color: #CCCCCC; + + // workfolw design + --node-wrap-box-color: rgb(255, 255, 255); + --node-wrap-box-before-color: #FFFFFF; + --node-wrap-box-before-borde-color: rgb(202, 202, 202); + --auto-judge-before-color: #FFF; + --cover-line-before-color: #FFF; +} diff --git a/src/style/index.less b/src/style/index.less new file mode 100644 index 0000000..056a13f --- /dev/null +++ b/src/style/index.less @@ -0,0 +1,519 @@ +@import './realdark'; +@import './default'; + +.body, html { + width: 100%; + height: 100%; + background-color: #f6f8f9; +} + +a, button, input, textarea { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + box-sizing: border-box; + outline: none !important; + -webkit-appearance: none; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + outline: none; +} + +/* 大布局样式 */ +.admin-ui { + overflow: hidden; + height: 100%; + display: flex; + flex-flow: column; +} + +.admin-ui-wrapper { + display: flex; + flex: 1; + overflow: auto; +} + +.admin-ui-main { + display: flex; + flex-direction: column; + height: 100%; + flex: 1; +} +.main-content-wrapper{ + padding: 11px 11px 0px; + overflow-y: auto; + overflow-x: hidden; + flex: auto; +} + +.main-bottom-wrapper { + height: 60px; + margin-top: 25px; + text-align: center; + flex: auto; + display: flex; + align-items: flex-end; + justify-content: center; + padding-bottom: 25px; +} + +/* 双排菜单布局 */ +.snowy-doublerow-layout-menu { + padding-right: 5px; + line-height: 0; + align-items: center; +} + +.snowy-doublerow-layout-menu-item-fort-div { + overflow: hidden; + text-overflow: ellipsis; + opacity: 1; + display: block; + flex: auto; +} + +.snowy-doublerow-layout-menu-item-fort-div-span { + font-size: 13px; + text-overflow: ellipsis; +} + +.snowy-title{ + color: var(--text-color); +} +.ant-layout-sider-collapsed{ + .logo-bar>span{ + display: none; + } +} +.ant-layout-sider-dark{ + .snowy-header-logo{ + color: #fff; + } +} + +/* 设置抽屉样式 */ +.layout-setting { + position: fixed; + width: 40px; + height: 40px; + border-radius: 3px 0 0 3px; + bottom: 50%; + right: 0px; + z-index: 100; + background: @primary-color; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + cursor: pointer; +} + +.layout-setting i { + color: #fff; +} + +/* 头部 */ +.snowy-header { + height: 50px; + display: flex; + justify-content: space-between; + border-bottom: 1px solid var(--header-bottom); + box-shadow: 0 0.4px 0.5px rgb(0 21 41 / 12%); + .ant-menu-item{ + height: 48px; + line-height: 48px; + } + background: var(--snowy-background-color); +} +// 应用主题色 +.snowy-header-primary-color { + color: white; + background-color: var(--primary-color); + .ant-badge{ + color: white; + } + .ant-breadcrumb-link { + color: white; + } + .ant-breadcrumb-separator { + color: white; + } + .ant-menu-light .ant-menu-item:hover{ + color: #ccc; + background-color: var(--primary-7); + } +} + +.ant-layout-sider-dark { + .snowy-title{ + color: #fff; + } +} + +.snowy-header-left { + display: flex; + align-items: center; + padding-left: 20px; +} + +.snowy-header-left .menu-unfold-outlined { + padding: 0 12px +} + +.snowy-header-right { + display: flex; + align-items: center; +} + +.snowy-header-logo { + height: 49px; + display: flex; + justify-content: space-between; + border-bottom: 1px solid rgba(255, 255, 255, 0.04); +} + +.snowy-header-logo-primary-color { + color: white; + background-color: var(--primary-color); +} + +.snowy-header-logo .logo-bar { + font-weight: bold; + display: flex; + align-items: center; + font-size: 20px; +} + +.snowy-header-logo .logo-bar .logo { + margin-right: 10px; + width: 35px; + height: 35px; +} + +.top-snowy-header { + background: #001529; + color: white; +} +.top-snowy-header-light { + background: #ffffff; + color: #000000; +} +.top-snowy-header-layout { + background: var(--primary-color); + color: #ffffff; +} +.panel-item { + padding: 0 10px; + cursor: pointer; + height: 100%; + display: flex; + align-items: center; + /*color: var(--font-color);*/ +} +.panel-item:hover { + background: var(--header-color-split); +} +.contextmenu { + position: fixed; + width: 200px; + margin:0; + border-radius: 0px; + background: @body-background; + border: 1px solid var(--border-color-split); + box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); + z-index: 3000; + list-style-type: none; + padding: 10px 0; +} +.contextmenu hr { + margin:5px 0; + border: none; + height: 1px; + font-size: 0px; + background-color: var(--border-color-split) +} +.contextmenu li { + display: flex; + align-items: center; + margin:0; + cursor: pointer; + line-height: 30px; + padding: 0 17px; + color: @text-color; +} +.contextmenu li i { + font-size: 14px; + margin-right: 10px; +} +.contextmenu li:hover { + background-color: @component-background; + color: #66b1ff; +} +.contextmenu li.disabled { + cursor: not-allowed; + color: #bbb; + background: transparent; +} + +/*页面最大化*/ +.app-main.main-maximize { + .main-maximize-exit { + display: block; + } + .ant-layout-sider, .ant-layout-sider-dark, .layout-setting, .snowy-header, .admin-ui-breadcrumb, .snowy-tags { + display: none; + } + .main-content-wrapper { + padding: 0; + } +} + +/* 最大化后的退出按钮 */ +.main-maximize-exit { + display: none; + position: fixed; + z-index: 3000; + top: -20px; + padding-top: 18px; + left: 50%; + margin-left: -20px; + border-radius: 50%; + width: 40px; + height: 40px; + cursor: pointer; + background: rgba(0, 0, 0, 0.2); + text-align: center; +} + +.main-maximize-exit:hover { + background: rgba(0, 0, 0, 0.4); +} + +.ant-layout-sider{ + overflow: auto; +} + +/* 重写antdv的一些样式,定义到全局 */ +.ant-card-head-title { + padding: 12px 0!important; +} +.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab { + padding: 12px 0!important; +} +.ant-card-extra { + padding: 12px 0!important; +} +.ant-card-head { + border-bottom: 0px !important; + min-height: 50px !important; +} + +/* 重写antdv的表格滚动条 */ +.ant-table-body, .ant-table-content{ + &::-webkit-scrollbar { + height: 10px; + width: 10px; + } + &::-webkit-scrollbar-thumb { + border-radius: 10px; + -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1); + background: @border-color-split; + } + &::-webkit-scrollbar-track { + -webkit-box-shadow: 0; + border-radius: 10px; + background: @background-color-base; + } +} + +.left-span-label { + border-left: 4px solid var(--primary-color); + font-size: 15px; + color: var(--font-color); + font-weight: 600; + padding-left: 8px; +} + +// 滚动条,需要哪里,加哪个class +body, +.ant-scrolling-effect, +.ant-drawer-wrapper-body, +.ant-drawer-body, +.admin-ui, +.ant-modal-wrap, +.ant-transfer-list-content, +.ant-card, +.ant-layout-sider, +.CodeMirror-scroll, +.main-content-wrapper, +.xn-icon-select-list, +.form-user-table, +.scopeDefineOrgTreeDiv, +.user-table, +.role-table, +.org-table, +.pos-table, +.poi-list, +.snowy-orgpos-vis, +.index-message-list, +.ant-picker-time-panel-column, +.timeline-div, +.gen-preview-content, +.ant-menu, +.ant-tabs-dropdown-menu, +.xn-table, +.selector-table, +.card-div, +.ant-table-body, + +.admin-ui-main{ + &::-webkit-scrollbar { + /*滚动条整体样式*/ + width : 0; /*高宽分别对应横竖滚动条的尺寸*/ + height: 0; + } + &::-webkit-scrollbar-thumb { + /*滚动条里面小方块*/ + border-radius : 10px; + background-color: @component-background; // skyblue + background-image: -webkit-linear-gradient( + 45deg, + rgba(255, 255, 255, 0.2) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.2) 50%, + rgba(255, 255, 255, 0.2) 75%, + transparent 75%, + transparent + ); + } + &::-webkit-scrollbar-track { + /*滚动条里面轨道*/ + box-shadow : inset 0 0 2px rgba(0, 0, 0, 0.2); + background : @component-background; + border-radius: 5px; + opacity: 0; + display: none; + } +} + +.json-box-9136076486841527{ + overflow: hidden!important;; + .CodeMirror-scrollbar-filler{ + display: none!important; + } +} +.ant-modal-close-x .anticon { + padding: 2px !important; +} +.xn-mb10 { + margin-bottom: 10px; +} +.xn-mt4 { + margin-top: 4px; +} +.xn-mg08 { + margin: 0 8px; +} +.xn-fdr { + float: right; +} +.xn-wd { + width: 100%; +} +.xn-wd90 { + width: 90px; +} +.xn-wdcalc-70 { + width: calc(100% - 70px); +} +.xn-mr8 { + margin-right: 8px; +} +.xn-ht400 { + height: 400px; +} +.xn-wh25 { + height: 25px; + width: 25px; +} +.xn-ml10 { + margin-left: 10px; +} +.xn-pl0 { + padding-left: 0px; +} +.xn-pd8 { + padding: 8px; +} +.xn-pb10 { + padding-bottom: 10px; +} +.xn-color-a0a0a0 { + color: #a0a0a0; +} +.xn-color-d9d9d9 { + color: #d9d9d9; +} +.xn-color-ff4d4f { + color: #ff4d4f; +} +.xn-color-00025 { + color: rgba(0, 0, 0, 0.25); +} +.xn-jk-line { + width: 188px; + margin-bottom: 8px; + display: block; +} +.xn-findform-line { + border: 1px solid var(--border-color-split); + cursor: pointer; + width: 100%; + height: 40px; +} +.odd { + background-color: var(--table-row-hover-bg); +} +.snowy-theme-dark .odd { + background-color: #1d1d1d +} +// 以下是重写表单设计器的样式 +.list-main { + background: var(--auto-judge-before-color) !important; +} +.drag-move-box:before { + background: var(--primary-color) !important; +} +.drag-move-box>.delete { + background: var(--primary-color) !important; +} +.drag-move-box>.copy { + background: var(--primary-color) !important; +} +.drag-move-box .show-key-box { + color: var(--primary-color) !important; +} +.left-ul-item:hover { + color: var(--primary-color) !important; + border: 1px solid var(--primary-color) !important; + -webkit-box-shadow: 0 2px 6px var(--primary-color) !important; + box-shadow: 0 2px 6px var(--primary-color) !important; +} +.list-main>.moving:before { + background: var(--primary-color) !important; +} +.operating-area a:hover { + color: var(--primary-color) !important; +} +.batch-box>.delete { + background: var(--primary-color) !important; +} +.batch-box>.copy { + background: var(--primary-color) !important; +} +.batch-box.active:before { + background: var(--primary-color) !important; +} diff --git a/src/style/readme.md b/src/style/readme.md new file mode 100644 index 0000000..700dda4 --- /dev/null +++ b/src/style/readme.md @@ -0,0 +1,7 @@ + +适配暗黑模式的操作 + +直接 var(--primary-color) + +例如:新建个变量,在default.less跟realdark.less中设定好,这个时候就会跟着颜色的主题变化 + diff --git a/src/style/realdark.less b/src/style/realdark.less new file mode 100644 index 0000000..644e6c6 --- /dev/null +++ b/src/style/realdark.less @@ -0,0 +1,417 @@ +[snowy-theme=realdark] { + .ant-btn-primary{ + color: #fff; + &:hover, &:focus{ + color: #fff; + } + } + +} +.fade() { + @functions: ~`(function() { + this.fade = function(color, amount) { + if (String(color).indexOf('var(') === 0) { + if (color.indexOf('--primary-color') !== -1 ) { + var m = amount > 10 ? amount/10 :amount + return color.replace('-color)', '-' + m + ')') + } + return color.replace(')', '--fade--' + parseInt(amount) + ')') + } + return color + } + })()`; +} +.fade(); + +@import 'ant-design-vue/dist/reset.css'; + +.snowy-theme-dark { + --blue-1: #111d2c; + --blue-2: #112a45; + --blue-3: #15395b; + --blue-4: #164c7e; + --blue-5: #1765ad; + --blue-6: #177ddc; + --blue-7: #3c9ae8; + --blue-8: #65b7f3; + --blue-9: #8dcff8; + --blue-10: #b7e3fa; + + --green-1: #162312; + --green-2: #1d3712; + --green-3: #274916; + --green-4: #306317; + --green-5: #3c8618; + --green-6: #49aa19; + --green-7: #6abe39; + --green-8: #8fd460; + --green-9: #b2e58b; + --green-10: #d5f2bb; + + --red-1: #2a1215; + --red-2: #431418; + --red-3: #58181c; + --red-4: #791a1f; + --red-5: #a61d24; + --red-6: #f5222d; + --red-7: #e84749; + --red-8: #f37370; + --red-9: #f89f9a; + --red-10: #fac8c3; + + --gold-1: #2b2111; + --gold-2: #443111; + --gold-3: #594214; + --gold-4: #7c5914; + --gold-5: #aa7714; + --gold-6: #d89614; + --gold-7: #e8b339; + --gold-8: #f3cc62; + --gold-9: #f8df8b; + --gold-10: #faedb5; + + --purple-1: #1a1325; + --purple-2: #24163a; + --purple-3: #301c4d; + --purple-4: #3e2069; + --purple-5: #51258f; + --purple-6: #642ab5; + --purple-7: #854eca; + --purple-8: #ab7ae0; + --purple-9: #cda8f0; + --purple-10: #ebd7fa; + + --cyan-1: #112123; + --cyan-2: #113536; + --cyan-3: #144848; + --cyan-4: #146262; + --cyan-5: #138585; + --cyan-6: #13a8a8; + --cyan-7: #33bcb7; + --cyan-8: #58d1c9; + --cyan-9: #84e2d8; + --cyan-10: #b2f1e8; + + --pink-1: #291321; + --pink-2: #40162f; + --pink-3: #551c3b; + --pink-4: #75204f; + --pink-5: #a02669; + --pink-6: #cb2b83; + --pink-7: #e0529c; + --pink-8: #f37fb7; + --pink-9: #f8a8cc; + --pink-10: #fad2e3; + + --orange-1: #2b1d11; + --orange-2: #442a11; + --orange-3: #593815; + --orange-4: #7c4a15; + --orange-5: #aa6215; + --orange-6: #d87a16; + --orange-7: #e89a3c; + --orange-8: #f3b765; + --orange-9: #f8cf8d; + --orange-10: #fae3b7; + + --primary-radius: #141414; + --primary-1: var(--blue-1); + --primary-2: var(--blue-2); + --primary-3: var(--blue-3); + --primary-4: var(--blue-4); + --primary-5: var(--blue-5); + --primary-6: var(--blue-6); + --primary-7: var(--blue-7); + --primary-8: var(--blue-8); + --primary-9: var(--blue-9); + --primary-10: var(--blue-10); + + --primary-color: var(--primary-6); + --primary-color-hover: var(--primary-5); + --primary-color-active: var(--primary-7); + --primary-color-outline: var(--primary-2); + + --info-color: var(--primary-color); + --success-color: var(--green-6); + --processing-color: var(--blue-6); + --highlight-color: var(--red-5); + + --warning-color: var(--gold-6); + --warning-color-hover: var(--gold-5); + --warning-color-active: var(--gold-7); + --warning-color-outline: var(--gold-2); + + --error-color: var(--red-5); + --error-color-hover: var(--red-4); + --error-color-active: var(--red-7); + --error-color-outline: var(--red-2); + + --body-background: @black; + --component-background: #141414; + --popover-background: #1f1f1f; + --popover-customize-border-color: #3a3a3a; + + --text-color: fade(@white, 85%); + --text-color-secondary: fade(@white, 45%); + --text-color-inverse: @white; + --icon-color-hover: fade(@white, 75%); + --heading-color: fade(@white, 85%); + + --item-hover-bg: fade(@white, 8%); + + // Border color + --border-color-base: #434343; + --border-color-split: #303030; + //--border-color-inverse: @black; + + // + --background-color-light: fade(@white, 4%); + --background-color-base: fade(@white, 8%); + + // Disabled states + --disabled-color: fade(@white, 30%); + --disabled-bg: @background-color-base; + --disabled-color-dark: fade(@white, 30%); + + // Shadow + --shadow-color: rgba(0, 0, 0, 0.45); + --shadow-color-inverse: @component-background; + --box-shadow-base: @shadow-2; + --shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.32), + 0 -9px 28px 0 rgba(0, 0, 0, 0.2), 0 -12px 48px 16px rgba(0, 0, 0, 0.12); + --shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.32), + 0 9px 28px 0 rgba(0, 0, 0, 0.2), 0 12px 48px 16px rgba(0, 0, 0, 0.12); + --shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.32), + 9px 0 28px 0 rgba(0, 0, 0, 0.2), 12px 0 48px 16px rgba(0, 0, 0, 0.12); + --shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.48), + 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2); + + // Buttons + --btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + --btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); + --btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + + --btn-default-bg: transparent; + + --btn-default-ghost-color: @text-color; + --btn-default-ghost-border: fade(@white, 25%); + + --btn-text-hover-bg: rgba(255, 255, 255, 0.03); + --btn-text-active-bg: rgba(255, 255, 255, 0.04); + + // Checkbox + --checkbox-check-bg: transparent; + + // Descriptions + --descriptions-bg: @background-color-light; + + // Divider + --divider-color: rgba(255, 255, 255, 12%); + + // Dropdown 有两个 + --dropdown-menu-submenu-disabled-bg: transparent; + + // Radio + --radio-dot-disabled-color: fade(@white, 20%); + --radio-solid-checked-color: @white; + + // Radio buttons + --radio-disabled-button-checked-bg: fade(@white, 20%); + --radio-disabled-button-checked-color: @disabled-color; + + // Layout + --layout-body-background: @body-background; + --layout-header-background: @popover-background; + --layout-trigger-background: #262626; + //--layout-sider-background-1: tint(#1f1f1f, 10%); + + // Dropdown 有两个 + --dropdown-menu-bg: @popover-background; + + // Input + --input-placeholder-color: fade(@white, 30%); + --input-icon-color: fade(@white, 30%); + --input-bg: transparent; + --input-number-handler-active-bg: @item-hover-bg; + --input-icon-hover-color: fade(@white, 85%); + + // Mentions + --mentions-dropdown-bg: @popover-background; + + // Select + --select-dropdown-bg: @popover-background; + --select-background: transparent; + --select-clear-background: @component-background; + --select-selection-item-bg: fade(@white, 8); + --select-selection-item-border-color: @border-color-split; + --select-multiple-disabled-background: @component-background; + --select-multiple-item-disabled-color: #595959; + --select-multiple-item-disabled-border-color: @popover-background; + + // Cascader + --cascader-bg: transparent; + --cascader-menu-bg: @popover-background; + --cascader-menu-border-color-split: @border-color-split; + + // Tooltip + --tooltip-bg: #434343; + + // Popover + --popover-bg: @popover-background; + + // Modal + --modal-header-bg: @popover-background; + --modal-header-border-color-split: @border-color-split; + --modal-content-bg: @popover-background; + --modal-footer-border-color-split: @border-color-split; + + // Progress + --progress-steps-item-bg: fade(@white, 8%); + + // Menu + --menu-popup-bg: @popover-background; + --menu-dark-bg: @popover-background; + --menu-dark-inline-submenu-bg: @component-background; + + // Table + --table-header-bg: #1d1d1d; + --table-header-sort-bg: #262626; + --table-body-sort-bg: fade(@white, 1%); + --table-row-hover-bg: #262626; + --table-expanded-row-bg: @table-header-bg; + --table-header-cell-split-color: fade(@white, 8%); + --table-header-sort-active-bg: #303030; + --table-header-filter-active-bg: #434343; + --table-filter-btns-bg: @popover-background; + --table-filter-dropdown-bg: @popover-background; + --table-expand-icon-bg: transparent; + + // TimePicker + --picker-bg: transparent; + --picker-basic-cell-disabled-bg: #303030; + --picker-border-color: @border-color-split; + + // Calendar + --calendar-bg: @popover-background; + --calendar-input-bg: @calendar-bg; + --calendar-border-color: transparent; + --calendar-full-bg: @component-background; + + // Badge + --badge-text-color: @white; + + // Rate + --rate-star-bg: fade(@white, 12%); + + // Card + --card-actions-background: @component-background; + --card-skeleton-bg: #303030; + --card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.64), + 0 3px 6px 0 rgba(0, 0, 0, 0.48), 0 5px 12px 4px rgba(0, 0, 0, 0.36); + + // Comment + --comment-bg: transparent; + --comment-author-time-color: fade(@white, 30%); + --comment-action-hover-color: fade(@white, 65%); + + // BackTop + --back-top-bg: var(--tooltip-bg); + --back-top-hover-bg: var(--border-color-split); + + // Avatar + --avatar-bg: fade(@white, 30%); + + // Switch + --switch-bg: @white; + + // Pagination + --pagination-item-bg: transparent; + --pagination-item-bg-active: transparent; + --pagination-item-link-bg: transparent; + --pagination-item-disabled-color-active: @black; + --pagination-item-disabled-bg-active: fade(@white, 25%); + --pagination-item-input-bg: @pagination-item-bg; + + // PageHeader + --page-header-back-color: @icon-color; + --page-header-ghost-bg: transparent; + + // Slider + --slider-rail-background-color: #262626; + --slider-rail-background-color-hover: @border-color-base; + --slider-dot-border-color: @border-color-split; + --slider-dot-border-color-active: @primary-4; + + // Tree + --tree-bg: transparent; + + // Skeleton + --skeleton-to-color: fade(@white, 16%); + + // Transfer + --transfer-item-hover-bg: #262626; + + // Message + --message-notice-content-bg: @popover-background; + + // List + --list-customize-card-bg: transparent; + + // Drawer + --drawer-bg: @popover-background; + + // Timeline + --timeline-color: @border-color-split; + --timeline-dot-color: @primary-color; + + // Steps + --steps-nav-arrow-color: fade(@white, 20%); + --steps-background: transparent; + + // Notification + --notification-bg: @popover-background; + + // 侧边栏 + --sidebar-light-shadow: 0 4px 4px rgba(0, 0, 0, 0.6); + --sidebar-dark-shadow: 0 4px 4px rgba(0, 0, 0, 0.6); + + // 顶栏 + --header-light-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); + --header-dark-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); + --header-tool-hover-bg: rgba(255, 255, 255, 0.05); + --header-dark-tool-hover-bg: rgba(255, 255, 255, 0.05); + --header-color-split: rgba(255, 255, 255, 0.15); + + // logo + --logo-light-shadow: 0 3px 4px rgba(0, 0, 0, 0.6); + --logo-dark-shadow: 0 3px 4px rgba(0, 0, 0, 0.6); + + // + --gradient-min: fade(#303030, 20%); + --gradient-max: fade(#303030, 40%); + + // font + --font-color: #FFFFFF; + // header-bottom + --header-bottom: rgba(54, 54, 54, 0.6); + // breadcrumb-background + --breadcrumb-background: rgba(54, 54, 54, 0.6); + // background-color + --snowy-background-color: #141414; + // tag-background + --tag-background: rgba(56, 56, 56); + // + --primary-fade-20: var(--primary-2); + + --black--fade--85: rgba(255, 255, 255, 0.85); + --switch-shadow-color: 0 2px 4px rgb(0 35 11 / 20%); + --card-above-color: #303030; + --card-above-border-color: #484848; + + // workfolw design + --node-wrap-box-color: #303030; + --node-wrap-box-before-color: rgba(255, 255, 255, 0.09); // 箭头旁边 + --node-wrap-box-before-borde-color: rgba(255, 255, 255, 0.09); // 箭头 + --auto-judge-before-color: #141414; // 箭头背景 + --cover-line-before-color: #141414; +} diff --git a/src/tailwind.css b/src/tailwind.css new file mode 100644 index 0000000..2f67a33 --- /dev/null +++ b/src/tailwind.css @@ -0,0 +1,91 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { +} + +@layer utilities { +} + +/*默认为row,横向排列*/ +.layout-items-center { + display: flex; + align-items: center; +} + +.layout-items-baseline { + display: flex; + align-items: baseline; +} + +.layout-baseline-between { + display: flex; + align-items: baseline; + justify-content: space-between; +} + +/*左右居中*/ +.layout-center { + display: flex; + justify-content: center; +} + +/*两边排列*/ +.layout-slide { + display: flex; + align-items: center; + justify-content: space-between; +} + +/*左中右排列*/ +.layout-around { + display: flex; + align-items: center; + justify-content: space-around; +} + +/*两边排列, 换行*/ +.layout-slide-wrap { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; +} + +/*上下排列*/ +.layout-col-slide { + display: flex; + flex-direction: column; + justify-content: space-between; +} + +/*左右垂直居中*/ + +.layout-abs-center { + display: flex; + justify-content: center; + align-items: center; +} + +/*横向左右垂直居右*/ +.layout-end { + display: flex; + justify-content: flex-end; + align-items: center; +} + +/*纵向左右垂直居中*/ +.layout-col-center { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.text-color{ + color: var(--text-color); +} + + + diff --git a/src/utils/color.js b/src/utils/color.js new file mode 100644 index 0000000..595a39b --- /dev/null +++ b/src/utils/color.js @@ -0,0 +1,64 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/* eslint-disable eqeqeq */ +export default { + // 加深 + darken(color, level) { + const rgbc = this.hexToRgb(color) + for (let i = 0; i < 3; i++) rgbc[i] = Math.floor(rgbc[i] * (1 - level)) + return this.rgbToHex(rgbc[0], rgbc[1], rgbc[2]) + }, + // 变淡 + lighten(color, level) { + const rgbc = this.hexToRgb(color) + for (let i = 0; i < 3; i++) rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i]) + return this.rgbToHex(rgbc[0], rgbc[1], rgbc[2]) + }, + // rgb颜色转hex颜色 + rgbToHex(rgb) { + const bg = rgb.match(/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/) + // 返回空字符串 + if (!bg) { + return '' + } + return '#' + toHex(bg[1]) + toHex(bg[2]) + toHex(bg[3]) + }, + // hex颜色转rgb颜色 + hexToRgb(hex) { + // 去除开头 # + if (hex.startsWith('#')) { + hex = hex.substring(1) + } + // 如果当前传入的是 3 位小数值,直接转换为 6 位进行处理 + if (hex.length === 3) { + hex = [hex[0], hex[0], hex[1], hex[1], hex[2], hex[2]].join('') + } + if (hex.length !== 6) { + throw new Error('invalid hex:' + hex) + } + const r = parseInt(hex.slice(0, 2), 16) + const g = parseInt(hex.slice(2, 4), 16) + const b = parseInt(hex.slice(4, 6), 16) + if ([r, g, b].some((x) => Number.isNaN(x))) { + throw new Error('invalid hex:' + hex) + } + return [r, g, b] + }, + // 透明度 + alpha(color, alpha = 1) { + let hex = color.length > 7 ? color.rgbToHex(color) : color + const { r, g, b } = color.hexToRgb(hex) + return `rgba(${r}, ${g}, ${b}, ${alpha})` + } +} + +// 转Hex +const toHex = (x) => ('0' + parseInt(x).toString(16)).slice(-2) diff --git a/src/utils/device.js b/src/utils/device.js new file mode 100644 index 0000000..64d30fc --- /dev/null +++ b/src/utils/device.js @@ -0,0 +1,43 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import enquireJs from 'enquire.js' + +export const DEVICE_TYPE = { + DESKTOP: 'desktop', + TABLET: 'tablet', + MOBILE: 'mobile' +} + +export const deviceEnquire = function (callback) { + const matchDesktop = { + match: () => { + callback && callback(DEVICE_TYPE.DESKTOP) + } + } + + const matchTablet = { + match: () => { + callback && callback(DEVICE_TYPE.TABLET) + } + } + + const matchMobile = { + match: () => { + callback && callback(DEVICE_TYPE.MOBILE) + } + } + + // screen and (max-width: 1087.99px) + enquireJs + .register('screen and (max-width: 576px)', matchMobile) + .register('screen and (min-width: 576px) and (max-width: 1199px)', matchTablet) + .register('screen and (min-width: 1200px)', matchDesktop) +} diff --git a/src/utils/downloadUtil.js b/src/utils/downloadUtil.js new file mode 100644 index 0000000..ba4ab92 --- /dev/null +++ b/src/utils/downloadUtil.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { message } from 'ant-design-vue' + +export default { + // 对下载的流进行处理,直接从浏览器下载下来 + resultDownload(res) { + if (res.data.type === 'application/json') { + // 错误以及无权限 + const reader = new FileReader(res.data) + reader.readAsText(res.data) + reader.onload = () => { + const result = JSON.parse(reader.result) + message.error(result.msg) + } + } else { + const blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' }) + const contentDisposition = res.headers['content-disposition'] + const patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*') + const $link = document.createElement('a') + $link.href = URL.createObjectURL(blob) + $link.download = decodeURIComponent(patt.exec(contentDisposition)[1]) + $link.click() + document.body.appendChild($link) + document.body.removeChild($link) // 下载完成移除元素 + window.URL.revokeObjectURL($link.href) // 释放掉blob对象 + } + } +} diff --git a/src/utils/enum.js b/src/utils/enum.js new file mode 100644 index 0000000..eec36b2 --- /dev/null +++ b/src/utils/enum.js @@ -0,0 +1,15 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const ThemeModeEnum = { + LIGHT: 'light', + DARK: 'dark', + REAL_DARK: 'realDark' +} diff --git a/src/utils/errorHandler.js b/src/utils/errorHandler.js new file mode 100644 index 0000000..1671cb5 --- /dev/null +++ b/src/utils/errorHandler.js @@ -0,0 +1,29 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export default (error) => { + // 过滤HTTP请求错误 + if (error.code) { + return false + } + const errorMap = { + InternalError: 'Javascript引擎内部错误', + ReferenceError: '未找到对象', + TypeError: '使用了错误的类型或对象', + RangeError: '使用内置对象时,参数超范围', + SyntaxError: '语法错误', + EvalError: '错误的使用了Eval', + URIError: 'URI错误' + } + const errorName = errorMap[error.name] || '未知错误' + nextTick(() => { + console.error(errorName) + }) +} diff --git a/src/utils/formRules.js b/src/utils/formRules.js new file mode 100644 index 0000000..778b6a2 --- /dev/null +++ b/src/utils/formRules.js @@ -0,0 +1,51 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +export const required = (message, trigger = ['blur', 'change']) => ({ + required: true, + message, + trigger +}) + +// 常用正则规则大全:https://any86.github.io/any-rule/ + +export const rules = { + phone: { + pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/, + message: '请填写符合要求的11位手机号', + trigger: 'blur' + }, + email: { + pattern: /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/, + message: '请填写正确的邮箱号', + trigger: 'blur' + }, + idCard: { + pattern: + /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/, + message: '请填写符合要求的身份证号', + trigger: 'blur' + }, + lettersNum: { + pattern: /^[A-Za-z0-9]+$/, + message: '填写内容须是字母或数字组成', + trigger: 'blur' + }, + number: { + pattern: /^\d{1,}$/, + message: '填写内容必须是纯数字', + trigger: 'blur' + }, + price: { + pattern: /(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/, + message: '只支持正数金额', + trigger: 'blur' + } +} diff --git a/src/utils/loading.js b/src/utils/loading.js new file mode 100644 index 0000000..35ce380 --- /dev/null +++ b/src/utils/loading.js @@ -0,0 +1,38 @@ +import { nextTick } from 'vue' + +/** + * 页面全局 Loading + * @method start 创建 loading + * @method done 移除 loading + */ +export const NextLoading = { + // 创建 loading + start: () => { + const el = document.querySelector('.admin-ui') + if (el) return + const bodys = document.body + const div = document.createElement('div') + div.setAttribute('class', 'admin-ui') + const htmls = ` +
+ +
+
Snowy
+
` + div.innerHTML = htmls + bodys.insertBefore(div, bodys.childNodes[0]) + window.nextLoading = true + }, + // 移除 loading + done: (time = 0) => { + nextTick(() => { + setTimeout(() => { + window.nextLoading = false + const el = document.querySelector('.admin-ui') + el?.parentNode?.removeChild(el) + }, time) + }) + } +} diff --git a/src/utils/objects.js b/src/utils/objects.js new file mode 100644 index 0000000..ec8cfef --- /dev/null +++ b/src/utils/objects.js @@ -0,0 +1,39 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import pinyin from 'js-pinyin' + +// 中文转拼音 传入仅首字母 +Object.defineProperty(String.prototype, 'toPinyin', { + writable: false, + enumerable: false, + configurable: true, + value: function (first) { + let str = this + if (first) { + return pinyin.getCamelChars(str).replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, '') + } + return pinyin.getFullChars(str).replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, '') + } +}) + +// 字符检索 传入检索值 +Object.defineProperty(String.prototype, 'filter', { + writable: false, + enumerable: false, + configurable: true, + value: function (input) { + let str = this + let en = str.toLowerCase().includes(input.toLowerCase()) + let zhFull = str.toPinyin().toLowerCase().includes(input.toLowerCase()) + let zhFirst = str.toPinyin(true).toLowerCase().includes(input.toLowerCase()) + return en || zhFull || zhFirst + } +}) diff --git a/src/utils/permission/index.js b/src/utils/permission/index.js new file mode 100644 index 0000000..0d8b5ae --- /dev/null +++ b/src/utils/permission/index.js @@ -0,0 +1,40 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import tool from '@/utils/tool' + +/** + * 权限判断是否能看到这个按钮,同时后端也做了校验,前端只是显示与不显示 + * @param {string, array} data 按钮的权限点,可以是单个字符串,也可以是数组 + * @param {string} rule or代表或,and代表与 + * 使用方法: + * 例如 buttonCodeList 的数据为: ['button1', 'button2', 'button3'] + * 想要判断 button1 的权限,可以写成:hasPerm('button1') + * 想要判断 button1 或 button2 的权限,可以写成:hasPerm(['button1', 'button2' ]) + * 想要判断 button1 与 button2 的权限,可以写成:hasPerm(['button1', 'button2' ], 'and') + */ +export function hasPerm(data, rule = 'or') { + if (!data) { + return false + } + const userInfo = tool.data.get('USER_INFO') + if (!userInfo) { + return false + } + const { buttonCodeList } = userInfo + if (!buttonCodeList) { + return false + } + if (Array.isArray(data)) { + const fn = rule === 'or' ? 'some' : 'every' + return data[fn]((item) => buttonCodeList.includes(item)) + } + return buttonCodeList.includes(data) +} diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..1c799dd --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,185 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +// 统一的请求发送 +import axios from 'axios' +import qs from 'qs' +import { Modal, message, notification } from 'ant-design-vue' +import sysConfig from '@/config/index' +import tool from '@/utils/tool' + +// 以下这些code需要重新登录 +const reloadCodes = [401, 1011007, 1011008] +const errorCodeMap = { + 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', + 401: '用户没有权限(令牌、用户名、密码错误)。', + 403: '用户得到授权,但是访问是被禁止的。', + 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', + 406: '请求的格式不可得。', + 410: '请求的资源被永久删除,且不会再得到的。', + 422: '当创建一个对象时,发生一个验证错误。', + 500: '服务器发生错误,请检查服务器。', + 502: '网关错误。', + 503: '服务不可用,服务器暂时过载或维护。', + 504: '网关超时。' +} +// 定义一个重新登录弹出窗的变量 +const loginBack = ref(false) +// 创建 axios 实例 +const service = axios.create({ + baseURL: '/api', // api base_url + timeout: sysConfig.TIMEOUT // 请求超时时间 +}) + +// HTTP request 拦截器 +service.interceptors.request.use( + (config) => { + const token = tool.data.get('TOKEN') + if (token) { + config.headers[sysConfig.TOKEN_NAME] = sysConfig.TOKEN_PREFIX + token + } + if (!sysConfig.REQUEST_CACHE && config.method === 'get') { + config.params = config.params || {} + config.params._ = new Date().getTime() + } + Object.assign(config.headers, sysConfig.HEADERS) + return config + }, + (error) => { + return Promise.reject(error) + } +) + +// 保持重新登录Modal的唯一性 +const error = () => { + loginBack.value = true + Modal.error({ + title: '提示:', + okText: '重新登录', + content: '登录已失效, 请重新登录', + onOk: () => { + loginBack.value = false + tool.data.remove('TOKEN') + tool.data.remove('USER_INFO') + tool.data.remove('MENU') + tool.data.remove('PERMISSIONS') + window.location.reload() + } + }) +} + +// HTTP response 拦截器 +service.interceptors.response.use( + (response) => { + // 配置了blob,不处理直接返回文件流 + if (response.config.responseType === 'blob') { + if (response.status === 200) { + return response + } else { + message.warning('文件下载失败或此文件不存在') + return + } + } + const data = response.data + const code = data.code + if (reloadCodes.includes(code)) { + if (!loginBack.value) { + error() + } + return + } + if (code !== 200) { + const customErrorMessage = response.config.customErrorMessage + message.error(customErrorMessage || data.msg) + return Promise.reject(data) + // 自定义错误提示,覆盖后端返回的message + // 使用示例: + // export function customerList (data) { + // return request('list', data, 'get', { + // customErrorMessage: '自定义错误消息提示' + // }); + // } + } else { + // 统一成功提示 + const responseUrls = response.config.url.split('/') + const apiNameArray = [ + 'add', + 'edit', + 'delete', + 'update', + 'grant', + 'reset', + 'stop', + 'pass', + 'disable', + 'enable', + 'revoke', + 'suspend', + 'active', + 'turn', + 'adjust', + 'reject', + 'saveDraft' + ] + apiNameArray.forEach((apiName) => { + if (responseUrls[responseUrls.length - 1] === apiName) { + message.success(data.msg) + } + }) + } + return Promise.resolve(data.data) + }, + (error) => { + if (error) { + const status = 503 + const description = errorCodeMap[status] + notification.error({ + message: '请求错误', + description + }) + return Promise.reject(status) + } + } +) + +// 适配器, 用于适配不同的请求方式 +export const baseRequest = (url, value = {}, method = 'post', options = {}) => { + url = sysConfig.API_URL + url + if (method === 'post') { + return service.post(url, value, options) + } else if (method === 'get') { + return service.get(url, { params: value, ...options }) + } else if (method === 'formdata') { + // form-data表单提交的方式 + return service.post(url, qs.stringify(value), { + headers: { + 'Content-Type': 'multipart/form-data' + }, + ...options + }) + } else { + // 其他请求方式,例如:put、delete + return service({ + method: method, + url: url, + data: value, + ...options + }) + } +} + +// 模块内的请求, 会自动加上模块的前缀 +export const moduleRequest = + (moduleUrl) => + (url, ...arg) => { + return baseRequest(moduleUrl + url, ...arg) + } + +export default service diff --git a/src/utils/routerUtil.js b/src/utils/routerUtil.js new file mode 100644 index 0000000..24905a1 --- /dev/null +++ b/src/utils/routerUtil.js @@ -0,0 +1,43 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import userRoutes from '@/config/route' + +// 获取第一个界面 +const getIndexMenu = (menu) => { + if (menu[0] && menu[0].children) { + let indexMenu = menu[0].children[0] + // 如果第一个菜单为目录,接着往下找 + if (indexMenu.meta.type === 'catalog') { + indexMenu = traverseChild(menu) + } + return indexMenu + } else { + return userRoutes.menu[0] + } +} +// 遍历进行判断,其中处理了被隐藏的 +const traverseChild = (menu) => { + if (menu[0] && menu[0].children !== undefined) { + if (menu[0].children.length > 0) { + if (menu[0].children[0] && menu[0].children[0].meta.hidden && menu[0].children[0].meta.hidden === true) { + return menu[0] + } else { + return traverseChild(menu[0].children) + } + } + } else { + return menu[0] + } +} + +export default { + getIndexMenu +} diff --git a/src/utils/smCrypto.js b/src/utils/smCrypto.js new file mode 100644 index 0000000..7f7bab0 --- /dev/null +++ b/src/utils/smCrypto.js @@ -0,0 +1,36 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/** + * 加解密的工具类 + * 使用:https://github.com/JuneAndGreen/sm-crypto + * + * @author yubaoshan + */ +import smCrypto from 'sm-crypto' + +const sm2 = smCrypto.sm2 +const cipherMode = 1 // 1 - C1C3C2,0 - C1C2C3,默认为1 +const publicKey = + '04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54' + +/** + * 国密加解密工具类 + */ +export default { + // SM2加密 + doSm2Encrypt(msgString) { + return sm2.doEncrypt(msgString, publicKey, cipherMode) + }, + // SM2数组加密 + doSm2ArrayEncrypt(msgString) { + return sm2.doEncrypt(msgString, publicKey, cipherMode) + } +} diff --git a/src/utils/template.js b/src/utils/template.js new file mode 100644 index 0000000..bba3316 --- /dev/null +++ b/src/utils/template.js @@ -0,0 +1,326 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/* ! + * template.js v0.7.1 (https://github.com/yanhaijing/template.js) + * API https://github.com/yanhaijing/template.js/blob/master/doc/api.md + * Copyright 2015 yanhaijing. All Rights Reserved + * Licensed under MIT (https://github.com/yanhaijing/template.js/blob/master/MIT-LICENSE.txt) + */ +/* eslint-disable */ +;(function(root, factory) { + var template = factory(root); + if (typeof define === 'function' && define.amd) { + // AMD + define('template', function() { + return template; + }); + } else if (typeof exports === 'object') { + // Node.js + module.exports = template; + } else { + // Browser globals + var _template = root.template; + + template.noConflict = function() { + if (root.template === template) { + root.template = _template; + } + + return template; + }; + root.template = template; + } +}(this, function(root) { + 'use strict'; + var o = { + sTag: '<%',//开始标签 + eTag: '%>',//结束标签 + compress: false,//是否压缩html + escape: true, //默认输出是否进行HTML转义 + error: function (e) {}//错误回调 + }; + var functionMap = {}; //内部函数对象 + //修饰器前缀 + var modifierMap = { + '': function (param) {return nothing(param)}, + 'h': function (param) {return encodeHTML(param)}, + 'u': function (param) {return encodeURI(param)} + }; + + var toString = {}.toString; + var slice = [].slice; + function type(x) { + if(x === null){ + return 'null'; + } + + var t= typeof x; + + if(t !== 'object'){ + return t; + } + + var c = toString.call(x).slice(8, -1).toLowerCase(); + if(c !== 'object'){ + return c; + } + + if(x.constructor==Object){ + return c; + } + + return 'unknown'; + } + + function isObject(obj) { + return type(obj) === 'object'; + } + function isFunction(fn) { + return type(fn) === 'function'; + } + function isString(str) { + return type(str) === 'string'; + } + function extend() { + var target = arguments[0] || {}; + var arrs = slice.call(arguments, 1); + var len = arrs.length; + + for (var i = 0; i < len; i++) { + var arr = arrs[i]; + for (var name in arr) { + target[name] = arr[name]; + } + + } + return target; + } + function clone() { + var args = slice.call(arguments); + return extend.apply(null, [{}].concat(args)); + } + function nothing(param) { + return param; + } + function encodeHTML(source) { + return String(source) + .replace(/&/g,'&') + .replace(//g,'>') + .replace(/\\/g,'\') + .replace(/"/g,'"') + .replace(/'/g,'''); + } + function compress(html) { + return html.replace(/\s+/g, ' ').replace(//g, ''); + } + function consoleAdapter(cmd, msg) { + typeof console !== 'undefined' && console[cmd] && console[cmd](msg); + } + function handelError(e) { + var message = 'template.js error\n\n'; + + for (var key in e) { + message += '<' + key + '>\n' + e[key] + '\n\n'; + } + message += '\n' + e.message + '\n\n'; + consoleAdapter('error', message); + + o.error(e); + function error() { + return 'template.js error'; + } + error.toString = function () { + return '__code__ = "template.js error"'; + } + return error; + } + function parse(tpl, opt) { + var code = ''; + var sTag = opt.sTag; + var eTag = opt.eTag; + var escape = opt.escape; + function parsehtml(line) { + // 单双引号转义,换行符替换为空格 + line = line.replace(/('|")/g, '\\$1'); + var lineList = line.split('\n'); + var code = ''; + for (var i = 0; i < lineList.length; i++) { + code += ';__code__ += ("' + lineList[i] + (i === lineList.length - 1 ? '")\n' : '\\n")\n'); + } + return code; + } + function parsejs(line) { + //var reg = /^(:?)(.*?)=(.*)$/; + var reg = /^(?:=|(:.*?)=)(.*)$/ + var html; + var arr; + var modifier; + + // = := :*= + // :h=123 [':h=123', 'h', '123'] + if (arr = reg.exec(line)) { + html = arr[2]; // 输出 + if (Boolean(arr[1])) { + // :开头 + modifier = arr[1].slice(1); + } else { + // = 开头 + modifier = escape ? 'h' : ''; + } + + return ';__code__ += __modifierMap__["' + modifier + '"](typeof (' + html + ') !== "undefined" ? (' + html + ') : "")\n'; + } + + //原生js + return ';' + line + '\n'; + } + + var tokens = tpl.split(sTag); + + for (var i = 0, len = tokens.length; i < len; i++) { + var token = tokens[i].split(eTag); + + if (token.length === 1) { + code += parsehtml(token[0]); + } else { + code += parsejs(token[0], true); + if (token[1]) { + code += parsehtml(token[1]); + } + } + } + return code; + } + function compiler(tpl, opt) { + var mainCode = parse(tpl, opt); + + var headerCode = '\n' + + ' var html = (function (__data__, __modifierMap__) {\n' + + ' var __str__ = "", __code__ = "";\n' + + ' for(var key in __data__) {\n' + + ' __str__+=("var " + key + "=__data__[\'" + key + "\'];");\n' + + ' }\n' + + ' eval(__str__);\n\n'; + + var footerCode = '\n' + + ' ;return __code__;\n' + + ' }(__data__, __modifierMap__));\n' + + ' return html;\n'; + + var code = headerCode + mainCode + footerCode; + code = code.replace(/[\r]/g, ' '); // ie 7 8 会报错,不知道为什么 + try { + var Render = new Function('__data__', '__modifierMap__', code); + Render.toString = function () { + return mainCode; + } + return Render; + } catch(e) { + e.temp = 'function anonymous(__data__, __modifierMap__) {' + code + '}'; + throw e; + } + } + function compile(tpl, opt) { + opt = clone(o, opt); + + try { + var Render = compiler(tpl, opt); + } catch(e) { + e.name = 'CompileError'; + e.tpl = tpl; + e.render = e.temp; + delete e.temp; + return handelError(e); + } + + function render(data) { + data = clone(functionMap, data); + try { + var html = Render(data, modifierMap); + html = opt.compress ? compress(html) : html; + return html; + } catch(e) { + e.name = 'RenderError'; + e.tpl = tpl; + e.render = Render.toString(); + return handelError(e)(); + } + } + + render.toString = function () { + return Render.toString(); + }; + return render; + } + function template(tpl, data) { + if (typeof tpl !== 'string') { + return ''; + } + + var fn = compile(tpl); + if (!isObject(data)) { + return fn; + } + + return fn(data); + } + + template.config = function (option) { + if (isObject(option)) { + o = extend(o, option); + } + return clone(o); + }; + + template.registerFunction = function(name, fn) { + if (!isString(name)) { + return clone(functionMap); + } + if (!isFunction(fn)) { + return functionMap[name]; + } + + return functionMap[name] = fn; + } + template.unregisterFunction = function (name) { + if (!isString(name)) { + return false; + } + delete functionMap[name]; + return true; + } + + template.registerModifier = function(name, fn) { + if (!isString(name)) { + return clone(modifierMap); + } + if (!isFunction(fn)) { + return modifierMap[name]; + } + + return modifierMap[name] = fn; + } + template.unregisterModifier = function (name) { + if (!isString(name)) { + return false; + } + delete modifierMap[name]; + return true; + } + + template.__encodeHTML = encodeHTML; + template.__compress = compress; + template.__handelError = handelError; + template.__compile = compile; + template.version = '0.7.1'; + return template; +})); diff --git a/src/utils/themeUtil.js b/src/utils/themeUtil.js new file mode 100644 index 0000000..1c6b3d9 --- /dev/null +++ b/src/utils/themeUtil.js @@ -0,0 +1,81 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { generate } from '@ant-design/colors' +import tool from '../utils/tool' +import config from '../config' +import { themeEnum } from '@/layout/enum/themeEnum' + +const changeColor = (newPrimaryColor, theme, darkClass = 'snowy-theme-dark') => { + return new Promise((resolve) => { + const themeEleId = 'snowy-theme-var' + const themeEle = document.querySelector(`#${themeEleId}`) + if (themeEle && themeEle.parentNode) { + themeEle.parentNode.removeChild(themeEle) + } + const isRealDark = theme === themeEnum.REAL_DARK + if (newPrimaryColor) { + const colors = generate(newPrimaryColor, isRealDark ? { theme: 'dark' } : {}) + const rootClass = isRealDark ? `.${darkClass}` : ':root' + const styleElement = document.createElement('style') + styleElement.id = themeEleId + styleElement.setAttribute('type', 'text/css') + styleElement.innerHTML = `${rootClass}{${colors + .map((c, i) => { + return `--primary-${i + 1}:${c};` + }) + .concat([`--primary-color:${newPrimaryColor};`]) + .join('')}}` + document.head.appendChild(styleElement) + } else { + document.body.removeAttribute('snowy-theme') + } + if (isRealDark) { + document.body.classList.add(darkClass) + } else { + document.body.classList.remove(darkClass) + } + resolve() + }) +} + +const loadLocalTheme = (localSetting) => { + if (localSetting) { + let { theme, themeColor } = localSetting + themeColor = themeColor || config.COLOR + theme = theme || config.THEME + changeColor(themeColor, theme) + } +} + +/** + * 获取本地保存的配置 + * @param loadTheme {boolean} 是否加载配置中的主题 + * @returns {Object} + */ +const getLocalSetting = (loadTheme) => { + let localSetting = {} + try { + const theme = tool.data.get('SNOWY_THEME') + const themeColor = tool.data.get('SNOWY_THEME_COLOR') + localSetting = { + theme, + themeColor + } + } catch (e) { + console.error(e) + } + if (loadTheme) { + loadLocalTheme(localSetting) + } + return localSetting +} + +export { loadLocalTheme, getLocalSetting, changeColor } diff --git a/src/utils/tool.js b/src/utils/tool.js new file mode 100644 index 0000000..6703aa1 --- /dev/null +++ b/src/utils/tool.js @@ -0,0 +1,169 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +/** + * @Descripttion: 工具集 + * @version: 1.1 + * @LastEditors: yubaoshan + * @LastEditTime: 2022年4月19日10:58:41 + */ +const tool = {} + +// localStorage +tool.data = { + set(table, settings) { + const _set = JSON.stringify(settings) + const SNOWYSTRING = table.slice(0, 6) === 'SNOWY_' && table !== 'SNOWY_SYS_BASE_CONFIG' + if (SNOWYSTRING) { + let localSetting = JSON.parse(localStorage.getItem('SNOWY_SETTING')) || {} + let newSetting = {} + newSetting[table] = _set + return localStorage.setItem('SNOWY_SETTING', JSON.stringify(Object.assign(localSetting, newSetting))) + } else return localStorage.setItem(table, _set) + }, + get(table) { + const SNOWYSTRING = table.slice(0, 6) === 'SNOWY_' && table !== 'SNOWY_SYS_BASE_CONFIG' + const SNOWY_SETTING = JSON.parse(localStorage.getItem('SNOWY_SETTING')) || {} + let data = SNOWYSTRING ? SNOWY_SETTING[table] : localStorage.getItem(table) + try { + data = JSON.parse(data) + } catch (err) { + return null + } + return data + }, + remove(table) { + return localStorage.removeItem(table) + }, + + clear() { + return localStorage.clear() + } +} + +// sessionStorage +tool.session = { + set(table, settings) { + const _set = JSON.stringify(settings) + return sessionStorage.setItem(table, _set) + }, + get(table) { + let data = sessionStorage.getItem(table) + try { + data = JSON.parse(data) + } catch (err) { + return null + } + return data + }, + remove(table) { + return sessionStorage.removeItem(table) + }, + clear() { + return sessionStorage.clear() + } +} + +// 千分符 +tool.groupSeparator = (num) => { + num = `${num}` + if (!num.includes('.')) num += '.' + + return num + .replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { + return `${$1},` + }) + .replace(/\.$/, '') +} + +// 获取所有字典数组 +tool.dictDataAll = () => { + return tool.data.get('DICT_TYPE_TREE_DATA') +} + +// 字典翻译方法,界面插槽使用方法 {{ $TOOL.dictType('sex', record.sex) }} +tool.dictTypeData = (dictValue, value) => { + const dictTypeTree = tool.dictDataAll() + if (!dictTypeTree) { + return '需重新登录' + } + const tree = dictTypeTree.find((item) => item.dictValue === dictValue) + if (!tree) { + return '无此字典' + } + const children = tree.children + const dict = children.find((item) => item.dictValue === value) + return dict ? dict.dictLabel : '无此字典项' +} + +// 获取某个code下字典的列表,多用于字典下拉框 +tool.dictTypeList = (dictValue) => { + const dictTypeTree = tool.dictDataAll() + if (!dictTypeTree) { + return [] + } + const tree = dictTypeTree.find((item) => item.dictValue === dictValue) + if (tree && tree.children) { + return tree.children + } + return [] +} + +// 获取某个code下字典的列表,基于dictTypeList 改进,保留老的,逐步替换 +tool.dictList = (dictValue) => { + const dictTypeTree = tool.dictDataAll() + if (!dictTypeTree) { + return [] + } + const tree = dictTypeTree.find((item) => item.dictValue === dictValue) + if (tree) { + return tree.children.map((item) => { + return { + value: item['dictValue'], + label: item['name'] + } + }) + } + return [] +} + +// 树形翻译 需要指定最顶级的 parentValue 和当级的value +tool.translateTree = (parentValue, value) => { + const tree = tool.dictDataAll().find((item) => item.dictValue === parentValue) + const targetNode = findNodeByValue(tree, value) + return targetNode ? targetNode.dictLabel : '' +} +const findNodeByValue = (node, value) => { + if (node.dictValue === value) { + return node + } + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + const result = findNodeByValue(node.children[i], value) + if (result) { + return result + } + } + } + return null +} + +// 生成UUID +tool.snowyUuid = () => { + let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + let r = (Math.random() * 16) | 0, + v = c === 'x' ? r : (r & 0x3) | 0x8 + return v.toString(16) + }) + // 首字符转换成字母 + return 'xn' + uuid.slice(2) +} + +export default tool diff --git a/src/utils/useTabs.js b/src/utils/useTabs.js new file mode 100644 index 0000000..5b8a926 --- /dev/null +++ b/src/utils/useTabs.js @@ -0,0 +1,75 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { nextTick } from 'vue' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import router from '@/router' +import { iframeStore, keepAliveStore, viewTagsStore } from '@/store' +export default { + // 刷新标签 + refresh() { + NProgress.start() + const keepAlive = keepAliveStore() + const route = router.currentRoute.value + keepAlive.removeKeepLive(route.name) + keepAlive.setRouteShow(false) + nextTick(() => { + keepAlive.pushKeepLive(route.name) + keepAlive.setRouteShow(true) + NProgress.done() + }) + }, + // 关闭标签 + close(tag) { + const route = tag || router.currentRoute.value + const store = viewTagsStore() + store.removeViewTags(route) + iframeStore().removeIframeList(route) + keepAliveStore().removeKeepLive(route.name) + const tagList = store.viewTags + const latestView = tagList.slice(-1)[0] + if (latestView) { + router.push(latestView) + } else { + router.push('/') + } + }, + // 关闭标签后处理 + closeNext(next) { + const route = router.currentRoute.value + const store = viewTagsStore() + store.removeViewTags(route) + iframeStore().removeIframeList(route) + keepAliveStore().removeKeepLive(route.name) + if (next) { + const tagList = store.viewTags + next(tagList) + } + }, + // 关闭其他 + closeOther() { + const route = router.currentRoute.value + const store = viewTagsStore() + const tagList = [...store.viewTags] + tagList.forEach((tag) => { + // eslint-disable-next-line prettier/prettier + if ((tag.meta && tag.meta.affix) || route.fullPath == tag.fullPath) { + return true + } else { + this.close(tag) + } + }) + }, + // 设置标题 + setTitle(title) { + viewTagsStore().updateViewTagsTitle(title) + } +} diff --git a/src/utils/watermark.js b/src/utils/watermark.js new file mode 100644 index 0000000..a17e9b2 --- /dev/null +++ b/src/utils/watermark.js @@ -0,0 +1,91 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import tool from '@/utils/tool' +export const watermark = { + set: function (text1, text2) { + const canvas = document.createElement('canvas') + canvas.width = 150 + canvas.height = 120 + canvas.style.display = 'none' + const shuiyin = canvas.getContext('2d') + // 控制文字的旋转角度和上下位置 + shuiyin.rotate((-20 * Math.PI) / 180) + shuiyin.translate(-50, 20) + //文字颜色 + shuiyin.fillStyle = '#f5f5f5' + //文字样式 + shuiyin.font = '100 16px Microsoft JhengHei ' + shuiyin.fillText(text1, canvas.width / 3, canvas.height / 2) + shuiyin.fillText(text2, canvas.width / 3, canvas.height / 2 + 20) + /* 新建一个用于填充canvas水印的标签,之所以没有直接在body上添加, + 是因为z-index对个别内容影响,才考虑的不用body */ + const watermark = document.createElement('div') + const styleStr = ` + position:fixed; + top:0; + left:0; + width:100vw; + height:100vh; + z-index:99999; + pointer-events:none; + background-repeat:repeat; + mix-blend-mode: multiply; + background-image:url('${canvas.toDataURL('image/png')}')` + watermark.setAttribute('style', styleStr) + watermark.classList.add('watermark') + document.body.appendChild(watermark) + + //此方法是防止用户通过控制台修改样式去除水印效果 + /* MutationObserver 是一个可以监听DOM结构变化的接口。 */ + const observer = new MutationObserver(() => { + // 此处根据用户登录状态,判断是否终止监听,避免用户退出后登录页面仍然有水印 + if (!tool.data.get('TOKEN')) { + this.close() + observer.disconnect() + } + const wmInstance = document.body.querySelector('.watermark') + if (!wmInstance || wmInstance.getAttribute('style') !== styleStr) { + //如果标签在,只修改了属性,重新赋值属性 + if (wmInstance) { + // 避免一直触发 + // observer.disconnect(); + wmInstance.setAttribute('style', styleStr) + } else { + /* 此处根据用户登录状态,判断是否终止监听,避免用户退出后登录页面仍然有水印 */ + if (tool.data.get('TOKEN')) { + //标签被移除,重新添加标签 + document.body.appendChild(watermark) + } else { + observer.disconnect() + } + } + } + }) + observer.observe(document.body, { + attributes: true, + subtree: true, + childList: true + }) + }, + close: function () { + /* 关闭页面的水印,即要移除水印标签 */ + let watermark = document.body.querySelector('.watermark') + if (watermark) { + document.body.removeChild(watermark) + } + } +} +// 使用方法 +// import { watermark } from '@/utils/watermark' +// 添加水印 +// watermark.set('Snowy','xiaonuo.vip') +// 移除水印,传 null 移除水印 +// watermark.close() diff --git a/src/views/auth/findPwd/emailFindForm.vue b/src/views/auth/findPwd/emailFindForm.vue new file mode 100644 index 0000000..bae2a2f --- /dev/null +++ b/src/views/auth/findPwd/emailFindForm.vue @@ -0,0 +1,193 @@ + + + diff --git a/src/views/auth/findPwd/index.vue b/src/views/auth/findPwd/index.vue new file mode 100644 index 0000000..9c63da2 --- /dev/null +++ b/src/views/auth/findPwd/index.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/src/views/auth/findPwd/phoneFindForm.vue b/src/views/auth/findPwd/phoneFindForm.vue new file mode 100644 index 0000000..1d8322f --- /dev/null +++ b/src/views/auth/findPwd/phoneFindForm.vue @@ -0,0 +1,194 @@ + + + diff --git a/src/views/auth/login/callback.vue b/src/views/auth/login/callback.vue new file mode 100644 index 0000000..fe27485 --- /dev/null +++ b/src/views/auth/login/callback.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/views/auth/login/login.less b/src/views/auth/login/login.less new file mode 100644 index 0000000..ef65f3c --- /dev/null +++ b/src/views/auth/login/login.less @@ -0,0 +1,200 @@ +.login-icon-gray { + color: rgba(0, 0, 0, 0.25); +} +.login-validCode-img { + border: 1px solid var(--border-color-split); + cursor: pointer; + width: 100%; + height: 40px; +} +.login-wrapper{ + width: 100vw; + height:100vh; + overflow: hidden; + background-color: #fff; + display: flex; +} +.login_background { + width: 50%; + height: 100%; + overflow: hidden; + background-size: cover; + background-position: center; + background-image: url(/img/login_background.png); + position: relative; +} +.login_background_front { + width: 450px; + height: 450px; + margin-left: 100px; + margin-top: 15%; + overflow: hidden; + /*position: relative;*/ + background-size: cover; + background-position: center; + background-image: url(/img/login_background_front.png); + animation-name: myfirst; + animation-duration: 5s; + animation-timing-function: linear; + animation-delay: 1s; + animation-iteration-count: infinite; + animation-direction: alternate; + animation-play-state: running; +} +@keyframes myfirst { + 0% { + left: 0px; + top: 0px; + } + 50% { + left: 50px; + top: 0px; + } + 100% { + left: 0px; + top: 0px; + } +} +@-webkit-keyframes myfirst /* Safari and Chrome */ { + 0% { + left: 0px; + top: 0px; + } + 50% { + left: 50px; + top: 0px; + } + 100% { + left: 0px; + top: 0px; + } +} +.login_adv__title h2 { + font-size: 40px; +} +.login_adv__title h4 { + font-size: 18px; + margin-top: 10px; + font-weight: normal; +} +.login_adv__title p { + font-size: 14px; + margin-top: 10px; + line-height: 1.8; + color: rgba(255, 255, 255, 0.6); +} +.login_adv__title div { + margin-top: 10px; + display: flex; + align-items: center; +} +.login_adv__title div span { + margin-right: 15px; +} +.login_adv__title div i { + font-size: 40px; +} +.login_adv__title div i.add { + font-size: 20px; + color: rgba(255, 255, 255, 0.6); +} +/*background-image:linear-gradient(transparent, #000);*/ +.login_main { + width: 50%; + height: 100%; + display: flex; + justify-content: center; +} +.login-form { + width: 450px; + position: absolute; + top:21.8% +} +.login-header { + margin-bottom: 20px; +} +.login-header h2 { + font-size: 24px; + font-weight: bold; + margin-top: 10px; +} +.login_config { + position: absolute; + top: 20px; + right: 20px; +} +.logo_background{ + position: absolute; + left: 0; + top: 56px; + height: 60px; + padding-left: 56px; + width: 100%; + background: linear-gradient(120deg, rgb(255 255 255 / 90%), rgba(255, 255, 255, 0)); + display: flex; + align-items: center; +} +.logo_background a{ + text-decoration: none; + cursor: pointer; + display: flex; + align-items: center; +} +.logo_background a.no-link, +.logo_background a.no-link label{ + cursor: default; +} +.logo_background img{ + height:40px; + margin-right: 10px; +} +.logo_background a label{ + font-size:24px; + color:#fff; + cursor: pointer; +} +.login_background .version{ + width: 100%; + font-size: 14px; + color:#fff; + font-weight: 300; + padding: 0 56px; + box-sizing: border-box; + position: absolute; + bottom:12px; +} +.login_background .version p{ + line-height: 22px; + text-align: center; + margin-bottom:6px; +} +@media (max-width: 1200px) { + .login-form { + width: 340px; + } +} +@media (max-width: 1000px) { + .login_main { + width: 100%; + position: absolute; + left:0; + right:0; + } + .login_background_front { + display: none; + } + .login-form { + width: 100%; + padding: 20px 40px; + top:15% + } + .logo_background{ + padding-left:40px; + } + .login_background .version{ + padding:0 20px; + } + .login_background .version p:first-child{ + display: none; + } +} diff --git a/src/views/auth/login/login.vue b/src/views/auth/login/login.vue new file mode 100644 index 0000000..5569243 --- /dev/null +++ b/src/views/auth/login/login.vue @@ -0,0 +1,267 @@ + + + diff --git a/src/views/auth/login/phoneLoginForm.vue b/src/views/auth/login/phoneLoginForm.vue new file mode 100644 index 0000000..6ca4876 --- /dev/null +++ b/src/views/auth/login/phoneLoginForm.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/views/auth/login/threeLogin.vue b/src/views/auth/login/threeLogin.vue new file mode 100644 index 0000000..c3ab83a --- /dev/null +++ b/src/views/auth/login/threeLogin.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/views/auth/login/util.js b/src/views/auth/login/util.js new file mode 100644 index 0000000..18d382b --- /dev/null +++ b/src/views/auth/login/util.js @@ -0,0 +1,49 @@ +import userCenterApi from '@/api/sys/userCenterApi' +import dictApi from '@/api/dev/dictApi' +import router from '@/router' +import tool from '@/utils/tool' +import { message } from 'ant-design-vue' +import routerUtil from '@/utils/routerUtil' +import { useMenuStore } from '@/store/menu' +import { userStore } from '@/store/user' + +export const afterLogin = async (loginToken) => { + const menuStore = useMenuStore() + tool.data.set('TOKEN', loginToken) + // 初始化用户信息 + await userStore().initUserInfo() + + // 获取用户的菜单 + const menu = await userCenterApi.userLoginMenu() + let indexMenu = routerUtil.getIndexMenu(menu).path + await menuStore.fetchMenu() + // 重置系统默认应用 + tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id) + message.success('登录成功') + if (tool.data.get('LAST_VIEWS_PATH')) { + // 如果有缓存,将其登录跳转到最后访问的路由 + indexMenu = tool.data.get('LAST_VIEWS_PATH') + } + // 如果存在退出后换新账号登录,进行重新匹配,匹配无果则默认首页 + if (menu) { + let routerTag = 0 + menu.forEach((item) => { + if (item.children) { + if (JSON.stringify(item.children).indexOf(indexMenu) > -1) { + routerTag++ + } + } + }) + if (routerTag === 0) { + // 取首页 + indexMenu = routerUtil.getIndexMenu(menu).path + } + } + dictApi.dictTree().then((data) => { + // 设置字典到store中 + tool.data.set('DICT_TYPE_TREE_DATA', data) + }) + await router.replace({ + path: indexMenu + }) +} diff --git a/src/views/auth/monitor/analyse.vue b/src/views/auth/monitor/analyse.vue new file mode 100644 index 0000000..9ca7ab1 --- /dev/null +++ b/src/views/auth/monitor/analyse.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/views/auth/monitor/bTab.vue b/src/views/auth/monitor/bTab.vue new file mode 100644 index 0000000..a907ffd --- /dev/null +++ b/src/views/auth/monitor/bTab.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/views/auth/monitor/cTab.vue b/src/views/auth/monitor/cTab.vue new file mode 100644 index 0000000..ab762d8 --- /dev/null +++ b/src/views/auth/monitor/cTab.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/views/auth/monitor/index.vue b/src/views/auth/monitor/index.vue new file mode 100644 index 0000000..34830e1 --- /dev/null +++ b/src/views/auth/monitor/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/views/auth/monitor/tokenInfoList.vue b/src/views/auth/monitor/tokenInfoList.vue new file mode 100644 index 0000000..6bba9e0 --- /dev/null +++ b/src/views/auth/monitor/tokenInfoList.vue @@ -0,0 +1,183 @@ + + + diff --git a/src/views/auth/third/index.vue b/src/views/auth/third/index.vue new file mode 100644 index 0000000..6e724ab --- /dev/null +++ b/src/views/auth/third/index.vue @@ -0,0 +1,102 @@ + + + diff --git a/src/views/biz/dict/form.vue b/src/views/biz/dict/form.vue new file mode 100644 index 0000000..4acfd42 --- /dev/null +++ b/src/views/biz/dict/form.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/biz/dict/index.vue b/src/views/biz/dict/index.vue new file mode 100644 index 0000000..ab1e8e7 --- /dev/null +++ b/src/views/biz/dict/index.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/biz/index/index.vue b/src/views/biz/index/index.vue new file mode 100644 index 0000000..9fd6bdf --- /dev/null +++ b/src/views/biz/index/index.vue @@ -0,0 +1,41 @@ + + + diff --git a/src/views/biz/notice/detail.vue b/src/views/biz/notice/detail.vue new file mode 100644 index 0000000..c239f1b --- /dev/null +++ b/src/views/biz/notice/detail.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/views/biz/notice/form.vue b/src/views/biz/notice/form.vue new file mode 100644 index 0000000..fd76a69 --- /dev/null +++ b/src/views/biz/notice/form.vue @@ -0,0 +1,148 @@ + + + diff --git a/src/views/biz/notice/index.vue b/src/views/biz/notice/index.vue new file mode 100644 index 0000000..e26eb8f --- /dev/null +++ b/src/views/biz/notice/index.vue @@ -0,0 +1,250 @@ + + + diff --git a/src/views/biz/org/form.vue b/src/views/biz/org/form.vue new file mode 100644 index 0000000..537e5be --- /dev/null +++ b/src/views/biz/org/form.vue @@ -0,0 +1,151 @@ + + + diff --git a/src/views/biz/org/index.vue b/src/views/biz/org/index.vue new file mode 100644 index 0000000..0b3afd3 --- /dev/null +++ b/src/views/biz/org/index.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/src/views/biz/position/form.vue b/src/views/biz/position/form.vue new file mode 100644 index 0000000..90c870b --- /dev/null +++ b/src/views/biz/position/form.vue @@ -0,0 +1,118 @@ + + + diff --git a/src/views/biz/position/index.vue b/src/views/biz/position/index.vue new file mode 100644 index 0000000..26bdb13 --- /dev/null +++ b/src/views/biz/position/index.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/views/biz/user/form.vue b/src/views/biz/user/form.vue new file mode 100644 index 0000000..fc6587a --- /dev/null +++ b/src/views/biz/user/form.vue @@ -0,0 +1,568 @@ + + + + + diff --git a/src/views/biz/user/index.vue b/src/views/biz/user/index.vue new file mode 100644 index 0000000..522efd7 --- /dev/null +++ b/src/views/biz/user/index.vue @@ -0,0 +1,425 @@ + + + + diff --git a/src/views/dev/config/emailConfig/aliyunEmailForm.vue b/src/views/dev/config/emailConfig/aliyunEmailForm.vue new file mode 100644 index 0000000..7f42718 --- /dev/null +++ b/src/views/dev/config/emailConfig/aliyunEmailForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/dev/config/emailConfig/index.vue b/src/views/dev/config/emailConfig/index.vue new file mode 100644 index 0000000..4225739 --- /dev/null +++ b/src/views/dev/config/emailConfig/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/views/dev/config/emailConfig/localEmailForm.vue b/src/views/dev/config/emailConfig/localEmailForm.vue new file mode 100644 index 0000000..896842b --- /dev/null +++ b/src/views/dev/config/emailConfig/localEmailForm.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/views/dev/config/emailConfig/tencentEmailForm.vue b/src/views/dev/config/emailConfig/tencentEmailForm.vue new file mode 100644 index 0000000..e69f7f9 --- /dev/null +++ b/src/views/dev/config/emailConfig/tencentEmailForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/dev/config/fileConfig/aliyunFileForm.vue b/src/views/dev/config/fileConfig/aliyunFileForm.vue new file mode 100644 index 0000000..dc6ae29 --- /dev/null +++ b/src/views/dev/config/fileConfig/aliyunFileForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/views/dev/config/fileConfig/index.vue b/src/views/dev/config/fileConfig/index.vue new file mode 100644 index 0000000..ad3674a --- /dev/null +++ b/src/views/dev/config/fileConfig/index.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/views/dev/config/fileConfig/localFileForm.vue b/src/views/dev/config/fileConfig/localFileForm.vue new file mode 100644 index 0000000..06f3557 --- /dev/null +++ b/src/views/dev/config/fileConfig/localFileForm.vue @@ -0,0 +1,86 @@ + + + diff --git a/src/views/dev/config/fileConfig/minioFileForm.vue b/src/views/dev/config/fileConfig/minioFileForm.vue new file mode 100644 index 0000000..ead4129 --- /dev/null +++ b/src/views/dev/config/fileConfig/minioFileForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/views/dev/config/fileConfig/tencentFileForm.vue b/src/views/dev/config/fileConfig/tencentFileForm.vue new file mode 100644 index 0000000..87d30b3 --- /dev/null +++ b/src/views/dev/config/fileConfig/tencentFileForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/views/dev/config/index.vue b/src/views/dev/config/index.vue new file mode 100644 index 0000000..011eddb --- /dev/null +++ b/src/views/dev/config/index.vue @@ -0,0 +1,74 @@ + + + diff --git a/src/views/dev/config/otherConfig/form.vue b/src/views/dev/config/otherConfig/form.vue new file mode 100644 index 0000000..8d5eb4d --- /dev/null +++ b/src/views/dev/config/otherConfig/form.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/dev/config/otherConfig/index.vue b/src/views/dev/config/otherConfig/index.vue new file mode 100644 index 0000000..600095a --- /dev/null +++ b/src/views/dev/config/otherConfig/index.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/views/dev/config/smsConfig/aliyunSmsForm.vue b/src/views/dev/config/smsConfig/aliyunSmsForm.vue new file mode 100644 index 0000000..cea4ff2 --- /dev/null +++ b/src/views/dev/config/smsConfig/aliyunSmsForm.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/views/dev/config/smsConfig/index.vue b/src/views/dev/config/smsConfig/index.vue new file mode 100644 index 0000000..9b20f83 --- /dev/null +++ b/src/views/dev/config/smsConfig/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/views/dev/config/smsConfig/tencentSmsForm.vue b/src/views/dev/config/smsConfig/tencentSmsForm.vue new file mode 100644 index 0000000..333e6dd --- /dev/null +++ b/src/views/dev/config/smsConfig/tencentSmsForm.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue b/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue new file mode 100644 index 0000000..247f83b --- /dev/null +++ b/src/views/dev/config/smsConfig/xiaonuoSmsForm.vue @@ -0,0 +1,108 @@ + + + diff --git a/src/views/dev/config/sysConfig.vue b/src/views/dev/config/sysConfig.vue new file mode 100644 index 0000000..c92481c --- /dev/null +++ b/src/views/dev/config/sysConfig.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/views/dev/config/thirdConfig/giteeThirdForm.vue b/src/views/dev/config/thirdConfig/giteeThirdForm.vue new file mode 100644 index 0000000..9c7b619 --- /dev/null +++ b/src/views/dev/config/thirdConfig/giteeThirdForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/dev/config/thirdConfig/index.vue b/src/views/dev/config/thirdConfig/index.vue new file mode 100644 index 0000000..bf0d7b8 --- /dev/null +++ b/src/views/dev/config/thirdConfig/index.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/dev/config/thirdConfig/wechatThirdForm.vue b/src/views/dev/config/thirdConfig/wechatThirdForm.vue new file mode 100644 index 0000000..33ce2a3 --- /dev/null +++ b/src/views/dev/config/thirdConfig/wechatThirdForm.vue @@ -0,0 +1,90 @@ + + + diff --git a/src/views/dev/dict/category/bizIndex.vue b/src/views/dev/dict/category/bizIndex.vue new file mode 100644 index 0000000..43eaaef --- /dev/null +++ b/src/views/dev/dict/category/bizIndex.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/views/dev/dict/category/form.vue b/src/views/dev/dict/category/form.vue new file mode 100644 index 0000000..ff117f0 --- /dev/null +++ b/src/views/dev/dict/category/form.vue @@ -0,0 +1,127 @@ + + + diff --git a/src/views/dev/dict/category/frmIndex.vue b/src/views/dev/dict/category/frmIndex.vue new file mode 100644 index 0000000..cbfa999 --- /dev/null +++ b/src/views/dev/dict/category/frmIndex.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/views/dev/dict/index.vue b/src/views/dev/dict/index.vue new file mode 100644 index 0000000..a126cd8 --- /dev/null +++ b/src/views/dev/dict/index.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/views/dev/email/detail.vue b/src/views/dev/email/detail.vue new file mode 100644 index 0000000..5eb083e --- /dev/null +++ b/src/views/dev/email/detail.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/views/dev/email/form.vue b/src/views/dev/email/form.vue new file mode 100644 index 0000000..2954061 --- /dev/null +++ b/src/views/dev/email/form.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/views/dev/email/index.vue b/src/views/dev/email/index.vue new file mode 100644 index 0000000..72eca9b --- /dev/null +++ b/src/views/dev/email/index.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/dev/email/send/aliyunEmailSend.vue b/src/views/dev/email/send/aliyunEmailSend.vue new file mode 100644 index 0000000..82c8e1b --- /dev/null +++ b/src/views/dev/email/send/aliyunEmailSend.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/views/dev/email/send/localEmailSend.vue b/src/views/dev/email/send/localEmailSend.vue new file mode 100644 index 0000000..13f0a26 --- /dev/null +++ b/src/views/dev/email/send/localEmailSend.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/dev/email/send/tencentEmailSend.vue b/src/views/dev/email/send/tencentEmailSend.vue new file mode 100644 index 0000000..6caabc5 --- /dev/null +++ b/src/views/dev/email/send/tencentEmailSend.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/views/dev/file/detail.vue b/src/views/dev/file/detail.vue new file mode 100644 index 0000000..79dac58 --- /dev/null +++ b/src/views/dev/file/detail.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/views/dev/file/index.vue b/src/views/dev/file/index.vue new file mode 100644 index 0000000..665b913 --- /dev/null +++ b/src/views/dev/file/index.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/src/views/dev/file/preview.vue b/src/views/dev/file/preview.vue new file mode 100644 index 0000000..7db4a1d --- /dev/null +++ b/src/views/dev/file/preview.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/dev/file/uploadForm.vue b/src/views/dev/file/uploadForm.vue new file mode 100644 index 0000000..2cfb615 --- /dev/null +++ b/src/views/dev/file/uploadForm.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/views/dev/job/form.vue b/src/views/dev/job/form.vue new file mode 100644 index 0000000..fc42c4f --- /dev/null +++ b/src/views/dev/job/form.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/views/dev/job/index.vue b/src/views/dev/job/index.vue new file mode 100644 index 0000000..809f265 --- /dev/null +++ b/src/views/dev/job/index.vue @@ -0,0 +1,216 @@ + + + diff --git a/src/views/dev/log/oplog/columnChart.vue b/src/views/dev/log/oplog/columnChart.vue new file mode 100644 index 0000000..b93e717 --- /dev/null +++ b/src/views/dev/log/oplog/columnChart.vue @@ -0,0 +1,44 @@ + + + + diff --git a/src/views/dev/log/oplog/detail.vue b/src/views/dev/log/oplog/detail.vue new file mode 100644 index 0000000..50d2c4d --- /dev/null +++ b/src/views/dev/log/oplog/detail.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/views/dev/log/oplog/index.vue b/src/views/dev/log/oplog/index.vue new file mode 100644 index 0000000..b7c1bd1 --- /dev/null +++ b/src/views/dev/log/oplog/index.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/views/dev/log/oplog/pieChart.vue b/src/views/dev/log/oplog/pieChart.vue new file mode 100644 index 0000000..def0089 --- /dev/null +++ b/src/views/dev/log/oplog/pieChart.vue @@ -0,0 +1,38 @@ + + + + diff --git a/src/views/dev/log/vislog/detail.vue b/src/views/dev/log/vislog/detail.vue new file mode 100644 index 0000000..5fbb130 --- /dev/null +++ b/src/views/dev/log/vislog/detail.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/views/dev/log/vislog/index.vue b/src/views/dev/log/vislog/index.vue new file mode 100644 index 0000000..33bc370 --- /dev/null +++ b/src/views/dev/log/vislog/index.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/views/dev/log/vislog/lineChart.vue b/src/views/dev/log/vislog/lineChart.vue new file mode 100644 index 0000000..db1cfc1 --- /dev/null +++ b/src/views/dev/log/vislog/lineChart.vue @@ -0,0 +1,53 @@ + + + + diff --git a/src/views/dev/log/vislog/pieChart.vue b/src/views/dev/log/vislog/pieChart.vue new file mode 100644 index 0000000..a9c9938 --- /dev/null +++ b/src/views/dev/log/vislog/pieChart.vue @@ -0,0 +1,38 @@ + + + + diff --git a/src/views/dev/message/detail.vue b/src/views/dev/message/detail.vue new file mode 100644 index 0000000..e08d98f --- /dev/null +++ b/src/views/dev/message/detail.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/views/dev/message/form.vue b/src/views/dev/message/form.vue new file mode 100644 index 0000000..1811b99 --- /dev/null +++ b/src/views/dev/message/form.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/views/dev/message/index.vue b/src/views/dev/message/index.vue new file mode 100644 index 0000000..d13c33e --- /dev/null +++ b/src/views/dev/message/index.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/views/dev/monitor/index.vue b/src/views/dev/monitor/index.vue new file mode 100644 index 0000000..967296a --- /dev/null +++ b/src/views/dev/monitor/index.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/src/views/dev/slideshow/form.vue b/src/views/dev/slideshow/form.vue new file mode 100644 index 0000000..be23587 --- /dev/null +++ b/src/views/dev/slideshow/form.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/dev/slideshow/index.vue b/src/views/dev/slideshow/index.vue new file mode 100644 index 0000000..f6c3d48 --- /dev/null +++ b/src/views/dev/slideshow/index.vue @@ -0,0 +1,233 @@ + + + diff --git a/src/views/dev/slideshow/subForm.vue b/src/views/dev/slideshow/subForm.vue new file mode 100644 index 0000000..a3bfe3e --- /dev/null +++ b/src/views/dev/slideshow/subForm.vue @@ -0,0 +1,162 @@ + + + + diff --git a/src/views/dev/sms/detail.vue b/src/views/dev/sms/detail.vue new file mode 100644 index 0000000..8282597 --- /dev/null +++ b/src/views/dev/sms/detail.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/dev/sms/form.vue b/src/views/dev/sms/form.vue new file mode 100644 index 0000000..8f65487 --- /dev/null +++ b/src/views/dev/sms/form.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/views/dev/sms/index.vue b/src/views/dev/sms/index.vue new file mode 100644 index 0000000..8dea5f7 --- /dev/null +++ b/src/views/dev/sms/index.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/src/views/dev/sms/send/aliyunSmsSend.vue b/src/views/dev/sms/send/aliyunSmsSend.vue new file mode 100644 index 0000000..886fe88 --- /dev/null +++ b/src/views/dev/sms/send/aliyunSmsSend.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/views/dev/sms/send/tencentSmsSend.vue b/src/views/dev/sms/send/tencentSmsSend.vue new file mode 100644 index 0000000..daec4b5 --- /dev/null +++ b/src/views/dev/sms/send/tencentSmsSend.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/views/dev/sms/send/xiaonuoSmsSend.vue b/src/views/dev/sms/send/xiaonuoSmsSend.vue new file mode 100644 index 0000000..4a6b139 --- /dev/null +++ b/src/views/dev/sms/send/xiaonuoSmsSend.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/views/exm/chart/eCBingZhuangTu.vue b/src/views/exm/chart/eCBingZhuangTu.vue new file mode 100644 index 0000000..6fd9aa1 --- /dev/null +++ b/src/views/exm/chart/eCBingZhuangTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/views/exm/chart/eCHengTiaoTu.vue b/src/views/exm/chart/eCHengTiaoTu.vue new file mode 100644 index 0000000..b0fdccd --- /dev/null +++ b/src/views/exm/chart/eCHengTiaoTu.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/views/exm/chart/eCKXianTu.vue b/src/views/exm/chart/eCKXianTu.vue new file mode 100644 index 0000000..0fa96d3 --- /dev/null +++ b/src/views/exm/chart/eCKXianTu.vue @@ -0,0 +1,20 @@ + + + + diff --git a/src/views/exm/chart/eCLouDouTu.vue b/src/views/exm/chart/eCLouDouTu.vue new file mode 100644 index 0000000..30031fc --- /dev/null +++ b/src/views/exm/chart/eCLouDouTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/views/exm/chart/eCSanDianTu.vue b/src/views/exm/chart/eCSanDianTu.vue new file mode 100644 index 0000000..12ea54a --- /dev/null +++ b/src/views/exm/chart/eCSanDianTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/views/exm/chart/eCShuXingTu.vue b/src/views/exm/chart/eCShuXingTu.vue new file mode 100644 index 0000000..da765af --- /dev/null +++ b/src/views/exm/chart/eCShuXingTu.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/views/exm/chart/eCXianXingTu.vue b/src/views/exm/chart/eCXianXingTu.vue new file mode 100644 index 0000000..600cb83 --- /dev/null +++ b/src/views/exm/chart/eCXianXingTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/views/exm/chart/eCYiBiaoTu.vue b/src/views/exm/chart/eCYiBiaoTu.vue new file mode 100644 index 0000000..832e560 --- /dev/null +++ b/src/views/exm/chart/eCYiBiaoTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/views/exm/chart/eCZheZhuTu.vue b/src/views/exm/chart/eCZheZhuTu.vue new file mode 100644 index 0000000..085ea55 --- /dev/null +++ b/src/views/exm/chart/eCZheZhuTu.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/views/exm/chart/eCZhuZhuangTu.vue b/src/views/exm/chart/eCZhuZhuangTu.vue new file mode 100644 index 0000000..df9e49d --- /dev/null +++ b/src/views/exm/chart/eCZhuZhuangTu.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/views/exm/chart/g2BingZhuangTu.vue b/src/views/exm/chart/g2BingZhuangTu.vue new file mode 100644 index 0000000..37c7200 --- /dev/null +++ b/src/views/exm/chart/g2BingZhuangTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2CiYunTu.vue b/src/views/exm/chart/g2CiYunTu.vue new file mode 100644 index 0000000..f4b7f6b --- /dev/null +++ b/src/views/exm/chart/g2CiYunTu.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/exm/chart/g2JinDuTu.vue b/src/views/exm/chart/g2JinDuTu.vue new file mode 100644 index 0000000..554ad63 --- /dev/null +++ b/src/views/exm/chart/g2JinDuTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2LouDouTu.vue b/src/views/exm/chart/g2LouDouTu.vue new file mode 100644 index 0000000..6e2dfac --- /dev/null +++ b/src/views/exm/chart/g2LouDouTu.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/exm/chart/g2MianJiTu.vue b/src/views/exm/chart/g2MianJiTu.vue new file mode 100644 index 0000000..f652d79 --- /dev/null +++ b/src/views/exm/chart/g2MianJiTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2SanDianTu.vue b/src/views/exm/chart/g2SanDianTu.vue new file mode 100644 index 0000000..88a03a1 --- /dev/null +++ b/src/views/exm/chart/g2SanDianTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2TiaoXingTu.vue b/src/views/exm/chart/g2TiaoXingTu.vue new file mode 100644 index 0000000..4065f0e --- /dev/null +++ b/src/views/exm/chart/g2TiaoXingTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2ZheXianTu.vue b/src/views/exm/chart/g2ZheXianTu.vue new file mode 100644 index 0000000..c72ec83 --- /dev/null +++ b/src/views/exm/chart/g2ZheXianTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2ZhuZhuangTu.vue b/src/views/exm/chart/g2ZhuZhuangTu.vue new file mode 100644 index 0000000..cc5cb5c --- /dev/null +++ b/src/views/exm/chart/g2ZhuZhuangTu.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/views/exm/chart/g2ZiDanTu.vue b/src/views/exm/chart/g2ZiDanTu.vue new file mode 100644 index 0000000..d3e7a47 --- /dev/null +++ b/src/views/exm/chart/g2ZiDanTu.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/exm/editor/index.vue b/src/views/exm/editor/index.vue new file mode 100644 index 0000000..4ec42ca --- /dev/null +++ b/src/views/exm/editor/index.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/views/exm/iconSelect/index.vue b/src/views/exm/iconSelect/index.vue new file mode 100644 index 0000000..b602a78 --- /dev/null +++ b/src/views/exm/iconSelect/index.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/views/exm/map/baiduMap.vue b/src/views/exm/map/baiduMap.vue new file mode 100644 index 0000000..957e8a1 --- /dev/null +++ b/src/views/exm/map/baiduMap.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/views/exm/map/gaodeMap.vue b/src/views/exm/map/gaodeMap.vue new file mode 100644 index 0000000..66aca85 --- /dev/null +++ b/src/views/exm/map/gaodeMap.vue @@ -0,0 +1,138 @@ + + + diff --git a/src/views/exm/nestRoutor/index.vue b/src/views/exm/nestRoutor/index.vue new file mode 100644 index 0000000..61da89e --- /dev/null +++ b/src/views/exm/nestRoutor/index.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/views/gen/basic.vue b/src/views/gen/basic.vue new file mode 100644 index 0000000..a8a86c5 --- /dev/null +++ b/src/views/gen/basic.vue @@ -0,0 +1,466 @@ + + + + diff --git a/src/views/gen/config.vue b/src/views/gen/config.vue new file mode 100644 index 0000000..4bb4210 --- /dev/null +++ b/src/views/gen/config.vue @@ -0,0 +1,455 @@ + + + + diff --git a/src/views/gen/index.vue b/src/views/gen/index.vue new file mode 100644 index 0000000..1fd4d0e --- /dev/null +++ b/src/views/gen/index.vue @@ -0,0 +1,197 @@ + + + diff --git a/src/views/gen/preview.vue b/src/views/gen/preview.vue new file mode 100644 index 0000000..a4085cc --- /dev/null +++ b/src/views/gen/preview.vue @@ -0,0 +1,103 @@ + + + + diff --git a/src/views/gen/steps.vue b/src/views/gen/steps.vue new file mode 100644 index 0000000..59e8d6c --- /dev/null +++ b/src/views/gen/steps.vue @@ -0,0 +1,163 @@ + + + diff --git a/src/views/index/index.vue b/src/views/index/index.vue new file mode 100644 index 0000000..3eb9bca --- /dev/null +++ b/src/views/index/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/src/views/mobile/resource/button/form.vue b/src/views/mobile/resource/button/form.vue new file mode 100644 index 0000000..281b2b0 --- /dev/null +++ b/src/views/mobile/resource/button/form.vue @@ -0,0 +1,77 @@ + + + diff --git a/src/views/mobile/resource/button/index.vue b/src/views/mobile/resource/button/index.vue new file mode 100644 index 0000000..6278433 --- /dev/null +++ b/src/views/mobile/resource/button/index.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/views/mobile/resource/menu/changeModuleForm.vue b/src/views/mobile/resource/menu/changeModuleForm.vue new file mode 100644 index 0000000..7e5e106 --- /dev/null +++ b/src/views/mobile/resource/menu/changeModuleForm.vue @@ -0,0 +1,78 @@ + + + diff --git a/src/views/mobile/resource/menu/form.vue b/src/views/mobile/resource/menu/form.vue new file mode 100644 index 0000000..76aa3d9 --- /dev/null +++ b/src/views/mobile/resource/menu/form.vue @@ -0,0 +1,248 @@ + + + diff --git a/src/views/mobile/resource/menu/index.vue b/src/views/mobile/resource/menu/index.vue new file mode 100644 index 0000000..bbf5644 --- /dev/null +++ b/src/views/mobile/resource/menu/index.vue @@ -0,0 +1,212 @@ + + + diff --git a/src/views/mobile/resource/module/form.vue b/src/views/mobile/resource/module/form.vue new file mode 100644 index 0000000..0f4629a --- /dev/null +++ b/src/views/mobile/resource/module/form.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/views/mobile/resource/module/index.vue b/src/views/mobile/resource/module/index.vue new file mode 100644 index 0000000..c1c713c --- /dev/null +++ b/src/views/mobile/resource/module/index.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/views/other/index.vue b/src/views/other/index.vue new file mode 100644 index 0000000..c65f310 --- /dev/null +++ b/src/views/other/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/views/sys/org/form.vue b/src/views/sys/org/form.vue new file mode 100644 index 0000000..c98fe29 --- /dev/null +++ b/src/views/sys/org/form.vue @@ -0,0 +1,151 @@ + + + diff --git a/src/views/sys/org/index.vue b/src/views/sys/org/index.vue new file mode 100644 index 0000000..247dc57 --- /dev/null +++ b/src/views/sys/org/index.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/views/sys/position/form.vue b/src/views/sys/position/form.vue new file mode 100644 index 0000000..3014661 --- /dev/null +++ b/src/views/sys/position/form.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/views/sys/position/index.vue b/src/views/sys/position/index.vue new file mode 100644 index 0000000..42d00a8 --- /dev/null +++ b/src/views/sys/position/index.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/views/sys/resource/button/form.vue b/src/views/sys/resource/button/form.vue new file mode 100644 index 0000000..e002f99 --- /dev/null +++ b/src/views/sys/resource/button/form.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/views/sys/resource/button/index.vue b/src/views/sys/resource/button/index.vue new file mode 100644 index 0000000..125c8e8 --- /dev/null +++ b/src/views/sys/resource/button/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/sys/resource/field/form.vue b/src/views/sys/resource/field/form.vue new file mode 100644 index 0000000..c4a3996 --- /dev/null +++ b/src/views/sys/resource/field/form.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/views/sys/resource/field/index.vue b/src/views/sys/resource/field/index.vue new file mode 100644 index 0000000..2f8d56b --- /dev/null +++ b/src/views/sys/resource/field/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/views/sys/resource/menu/changeModuleForm.vue b/src/views/sys/resource/menu/changeModuleForm.vue new file mode 100644 index 0000000..cd36024 --- /dev/null +++ b/src/views/sys/resource/menu/changeModuleForm.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/views/sys/resource/menu/form.vue b/src/views/sys/resource/menu/form.vue new file mode 100644 index 0000000..9fea126 --- /dev/null +++ b/src/views/sys/resource/menu/form.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/sys/resource/menu/index.vue b/src/views/sys/resource/menu/index.vue new file mode 100644 index 0000000..165c09c --- /dev/null +++ b/src/views/sys/resource/menu/index.vue @@ -0,0 +1,266 @@ + + + diff --git a/src/views/sys/resource/module/form.vue b/src/views/sys/resource/module/form.vue new file mode 100644 index 0000000..d2e5683 --- /dev/null +++ b/src/views/sys/resource/module/form.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/views/sys/resource/module/index.vue b/src/views/sys/resource/module/index.vue new file mode 100644 index 0000000..2942354 --- /dev/null +++ b/src/views/sys/resource/module/index.vue @@ -0,0 +1,134 @@ + + + diff --git a/src/views/sys/role/form.vue b/src/views/sys/role/form.vue new file mode 100644 index 0000000..f9d38d4 --- /dev/null +++ b/src/views/sys/role/form.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/views/sys/role/grantMobileResourceForm.vue b/src/views/sys/role/grantMobileResourceForm.vue new file mode 100644 index 0000000..e035394 --- /dev/null +++ b/src/views/sys/role/grantMobileResourceForm.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/src/views/sys/role/grantPermissionForm.vue b/src/views/sys/role/grantPermissionForm.vue new file mode 100644 index 0000000..29c124e --- /dev/null +++ b/src/views/sys/role/grantPermissionForm.vue @@ -0,0 +1,414 @@ + + + + + diff --git a/src/views/sys/role/grantResourceForm.vue b/src/views/sys/role/grantResourceForm.vue new file mode 100644 index 0000000..c82b3ea --- /dev/null +++ b/src/views/sys/role/grantResourceForm.vue @@ -0,0 +1,310 @@ + + + + + diff --git a/src/views/sys/role/index.vue b/src/views/sys/role/index.vue new file mode 100644 index 0000000..ede65e1 --- /dev/null +++ b/src/views/sys/role/index.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/src/views/sys/role/scopeDefineOrg.vue b/src/views/sys/role/scopeDefineOrg.vue new file mode 100644 index 0000000..44bb0bc --- /dev/null +++ b/src/views/sys/role/scopeDefineOrg.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/sys/user/form.vue b/src/views/sys/user/form.vue new file mode 100644 index 0000000..5b39c58 --- /dev/null +++ b/src/views/sys/user/form.vue @@ -0,0 +1,567 @@ + + + + + diff --git a/src/views/sys/user/grantPermissionForm.vue b/src/views/sys/user/grantPermissionForm.vue new file mode 100644 index 0000000..fcac339 --- /dev/null +++ b/src/views/sys/user/grantPermissionForm.vue @@ -0,0 +1,415 @@ + + + + + diff --git a/src/views/sys/user/grantResourceForm.vue b/src/views/sys/user/grantResourceForm.vue new file mode 100644 index 0000000..b6b3361 --- /dev/null +++ b/src/views/sys/user/grantResourceForm.vue @@ -0,0 +1,312 @@ + + + + + diff --git a/src/views/sys/user/impExp.vue b/src/views/sys/user/impExp.vue new file mode 100644 index 0000000..2042724 --- /dev/null +++ b/src/views/sys/user/impExp.vue @@ -0,0 +1,131 @@ + + + + diff --git a/src/views/sys/user/index.vue b/src/views/sys/user/index.vue new file mode 100644 index 0000000..976e230 --- /dev/null +++ b/src/views/sys/user/index.vue @@ -0,0 +1,422 @@ + + + + + diff --git a/src/views/sys/user/scopeDefineOrg.vue b/src/views/sys/user/scopeDefineOrg.vue new file mode 100644 index 0000000..e9ddae3 --- /dev/null +++ b/src/views/sys/user/scopeDefineOrg.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/sys/user/userCenter.vue b/src/views/sys/user/userCenter.vue new file mode 100644 index 0000000..f47806a --- /dev/null +++ b/src/views/sys/user/userCenter.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/src/views/sys/user/userTab/accountBasic.vue b/src/views/sys/user/userTab/accountBasic.vue new file mode 100644 index 0000000..d9209e5 --- /dev/null +++ b/src/views/sys/user/userTab/accountBasic.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/views/sys/user/userTab/accountBind.vue b/src/views/sys/user/userTab/accountBind.vue new file mode 100644 index 0000000..53155f1 --- /dev/null +++ b/src/views/sys/user/userTab/accountBind.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/views/sys/user/userTab/bindForm/updatePassword.vue b/src/views/sys/user/userTab/bindForm/updatePassword.vue new file mode 100644 index 0000000..a16a294 --- /dev/null +++ b/src/views/sys/user/userTab/bindForm/updatePassword.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/views/sys/user/userTab/organizationChart.vue b/src/views/sys/user/userTab/organizationChart.vue new file mode 100644 index 0000000..ee7fe0d --- /dev/null +++ b/src/views/sys/user/userTab/organizationChart.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/views/sys/user/userTab/shortcutSetting.vue b/src/views/sys/user/userTab/shortcutSetting.vue new file mode 100644 index 0000000..ac8632c --- /dev/null +++ b/src/views/sys/user/userTab/shortcutSetting.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/views/sys/user/userTab/userMessage.vue b/src/views/sys/user/userTab/userMessage.vue new file mode 100644 index 0000000..bf5e293 --- /dev/null +++ b/src/views/sys/user/userTab/userMessage.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/sys/user/userTab/userMessage/detail.vue b/src/views/sys/user/userTab/userMessage/detail.vue new file mode 100644 index 0000000..add81db --- /dev/null +++ b/src/views/sys/user/userTab/userMessage/detail.vue @@ -0,0 +1,87 @@ + + + diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..4312db3 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,72 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +const generatePrimaryColors = () => { + const result = { + primary: `var(--primary-color)` + } + for (let i = 0; i < 10; i++) { + result[`primary-${i}`] = `var(--primary-${i})` + } + return result +} + +const generateFontSize = () => { + const result = {} + for (let i = 10; i < 32; i++) { + result[i] = `${i}px` + } + return result +} + +const colors = require('tailwindcss/colors') + +const filterWarnColors = (colors) => { + const result = {} + for (const key in colors) { + if (['lightBlue', 'warmGray', 'trueGray', 'coolGray', 'blueGray'].indexOf(key) === -1) { + result[key] = colors[key] + } + } + return result +} + +module.exports = { + content: ['./src/**/*.vue', './src/**/*.js'], + darkMode: 'class', // or 'media' or 'class' + corePlugins: { + preflight: false + }, + theme: { + extend: {}, + colors: { + transparent: 'transparent', + current: 'currentColor', + ...filterWarnColors(colors), + ...generatePrimaryColors() + }, + fontWeight: { + 1: 100, + 2: 200, + 3: 300, + 4: 400, + 5: 500, + 6: 600, + 7: 700, + 8: 800, + 9: 900 + }, + fontSize: { + ...generateFontSize() + } + }, + variants: {}, + plugins: [] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..5b68587 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + // /* Bundler mode */ + "allowJs": true, + "baseUrl": ".", + "outDir": "./dist", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src/**/*"] +} diff --git a/vite.config.mjs b/vite.config.mjs new file mode 100644 index 0000000..1a0e820 --- /dev/null +++ b/vite.config.mjs @@ -0,0 +1,119 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { resolve } from 'path' +import { defineConfig, loadEnv } from 'vite' +import vue from '@vitejs/plugin-vue' +import Components from 'unplugin-vue-components/vite' +import VueJSX from '@vitejs/plugin-vue-jsx' +import AutoImport from 'unplugin-auto-import/vite' +import vueSetupExtend from 'vite-plugin-vue-setup-extend' +import { visualizer } from 'rollup-plugin-visualizer' +import Less2CssVariablePlugin from 'antd-less-to-css-variable' +import viteCompression from 'vite-plugin-compression' + +// ant-design-vue 的 less 变量,通过兼容包将 v4 变量转译成 v3 版本,并通过 less-loader 注入 +import { theme } from 'ant-design-vue/lib' +import convertLegacyToken from 'ant-design-vue/lib/theme/convertLegacyToken' +const { defaultAlgorithm, defaultSeed } = theme +const mapToken = defaultAlgorithm(defaultSeed) +const v3Token = convertLegacyToken.default(mapToken) + +export const r = (...args) => resolve(__dirname, '.', ...args) + +export default defineConfig(({ command, mode }) => { + const envConfig = loadEnv(mode, './') + const alias = { + '~': `${resolve(__dirname, './')}`, + '@/': `${resolve(__dirname, 'src')}/` + } + return { + server: { + port: envConfig.VITE_PORT, + proxy: { + '/api': { + target: envConfig.VITE_API_BASEURL, + ws: false, + changeOrigin: true, + rewrite: (path) => path.replace(/^\/api/, '') + } + } + }, + resolve: { + alias + }, + // 解决警告You are running the esm-bundler build of vue-i18n. + define: { + __VUE_I18N_FULL_INSTALL__: true, + __VUE_I18N_LEGACY_API__: true, + __VUE_I18N_PROD_DEVTOOLS__: true, + __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: true + }, + build: { + // sourcemap: true, + manifest: true, + brotliSize: false, + rollupOptions: { + output: { + manualChunks: { + echarts: ['echarts'], + 'ant-design-vue': ['ant-design-vue'], + vue: ['vue', 'vue-router', 'pinia', 'vue-i18n'] + } + } + }, + chunkSizeWarningLimit: 1000 + }, + plugins: [ + vue({ + script: { + refTransform: true + } + }), + viteCompression(), + vueSetupExtend(), + VueJSX(), + AutoImport({ + imports: ['vue'], + dirs: ['./src/utils/permission'], + dts: r('src/auto-imports.d.ts') + }), + // 组件按需引入 + Components( + { + dirs: [r('src/components')], + dts: false, + resolvers: [] + }, + { + dirs: [r('src/components/HomeCard')], + dts: false, + resolvers: [] + } + ), + visualizer() + ], + css: { + preprocessorOptions: { + less: { + javascriptEnabled: true, + plugins: [ + new Less2CssVariablePlugin({ + // TODO:有必要用的情况下,是否需要传入 variables,可能会造成重复引用 + variables: { ...v3Token } + }) + ], + modifyVars: v3Token + } + } + }, + optimizeDeps: {} + } +})

Kdwi7OcCcz4>5k-$$08D2M( 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 literal 0 HcmV?d00001 diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1a1df32cfe6b2b97177ac66ace7597f228b447 GIT binary patch literal 10499 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 literal 0 HcmV?d00001 diff --git a/public/tinymce/langs/zh_CN.js b/public/tinymce/langs/zh_CN.js new file mode 100644 index 0000000..89b106c --- /dev/null +++ b/public/tinymce/langs/zh_CN.js @@ -0,0 +1,419 @@ +tinymce.addI18n('zh_CN',{ +"Redo": "\u91cd\u505a", +"Undo": "\u64a4\u9500", +"Cut": "\u526a\u5207", +"Copy": "\u590d\u5236", +"Paste": "\u7c98\u8d34", +"Select all": "\u5168\u9009", +"New document": "\u65b0\u6587\u4ef6", +"Ok": "\u786e\u5b9a", +"Cancel": "\u53d6\u6d88", +"Visual aids": "\u7f51\u683c\u7ebf", +"Bold": "\u7c97\u4f53", +"Italic": "\u659c\u4f53", +"Underline": "\u4e0b\u5212\u7ebf", +"Strikethrough": "\u5220\u9664\u7ebf", +"Superscript": "\u4e0a\u6807", +"Subscript": "\u4e0b\u6807", +"Clear formatting": "\u6e05\u9664\u683c\u5f0f", +"Align left": "\u5de6\u8fb9\u5bf9\u9f50", +"Align center": "\u4e2d\u95f4\u5bf9\u9f50", +"Align right": "\u53f3\u8fb9\u5bf9\u9f50", +"Justify": "\u4e24\u7aef\u5bf9\u9f50", +"Bullet list": "\u9879\u76ee\u7b26\u53f7", +"Numbered list": "\u7f16\u53f7\u5217\u8868", +"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb", +"Increase indent": "\u589e\u52a0\u7f29\u8fdb", +"Close": "\u5173\u95ed", +"Formats": "\u683c\u5f0f", +"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\u3002", +"Headers": "\u6807\u9898", +"Header 1": "\u6807\u98981", +"Header 2": "\u6807\u98982", +"Header 3": "\u6807\u98983", +"Header 4": "\u6807\u98984", +"Header 5": "\u6807\u98985", +"Header 6": "\u6807\u98986", +"Headings": "\u6807\u9898", +"Heading 1": "\u6807\u98981", +"Heading 2": "\u6807\u98982", +"Heading 3": "\u6807\u98983", +"Heading 4": "\u6807\u98984", +"Heading 5": "\u6807\u98985", +"Heading 6": "\u6807\u98986", +"Preformatted": "\u9884\u5148\u683c\u5f0f\u5316\u7684", +"Div": "Div", +"Pre": "Pre", +"Code": "\u4ee3\u7801", +"Paragraph": "\u6bb5\u843d", +"Blockquote": "\u5f15\u6587\u533a\u5757", +"Inline": "\u6587\u672c", +"Blocks": "\u57fa\u5757", +"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002", +"Fonts": "\u5b57\u4f53", +"Font Sizes": "\u5b57\u53f7", +"Class": "\u7c7b\u578b", +"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf", +"OR": "\u6216", +"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64", +"Upload": "\u4e0a\u4f20", +"Block": "\u5757", +"Align": "\u5bf9\u9f50", +"Default": "\u9ed8\u8ba4", +"Circle": "\u7a7a\u5fc3\u5706", +"Disc": "\u5b9e\u5fc3\u5706", +"Square": "\u65b9\u5757", +"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd", +"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd", +"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd", +"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd", +"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd", +"Anchor...": "\u951a\u70b9...", +"Name": "\u540d\u79f0", +"Id": "\u6807\u8bc6\u7b26", +"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002", +"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f", +"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f", +"Special character...": "\u7279\u6b8a\u5b57\u7b26...", +"Source code": "\u6e90\u4ee3\u7801", +"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b", +"Language": "\u8bed\u8a00", +"Code sample...": "\u793a\u4f8b\u4ee3\u7801...", +"Color Picker": "\u9009\u8272\u5668", +"R": "R", +"G": "G", +"B": "B", +"Left to right": "\u4ece\u5de6\u5230\u53f3", +"Right to left": "\u4ece\u53f3\u5230\u5de6", +"Emoticons...": "\u8868\u60c5\u7b26\u53f7...", +"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\u6587\u6863\u5c5e\u6027", +"Title": "\u6807\u9898", +"Keywords": "\u5173\u952e\u8bcd", +"Description": "\u63cf\u8ff0", +"Robots": "\u673a\u5668\u4eba", +"Author": "\u4f5c\u8005", +"Encoding": "\u7f16\u7801", +"Fullscreen": "\u5168\u5c4f", +"Action": "\u64cd\u4f5c", +"Shortcut": "\u5feb\u6377\u952e", +"Help": "\u5e2e\u52a9", +"Address": "\u5730\u5740", +"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f", +"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f", +"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84", +"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355", +"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):", +"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a", +"Learn more...": "\u4e86\u89e3\u66f4\u591a...", +"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}", +"Plugins": "\u63d2\u4ef6", +"Handy Shortcuts": "\u5feb\u6377\u952e", +"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf", +"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247", +"Image description": "\u56fe\u7247\u63cf\u8ff0", +"Source": "\u5730\u5740", +"Dimensions": "\u5927\u5c0f", +"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4", +"General": "\u666e\u901a", +"Advanced": "\u9ad8\u7ea7", +"Style": "\u6837\u5f0f", +"Vertical space": "\u5782\u76f4\u8fb9\u8ddd", +"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd", +"Border": "\u8fb9\u6846", +"Insert image": "\u63d2\u5165\u56fe\u7247", +"Image...": "\u56fe\u7247...", +"Image list": "\u56fe\u7247\u5217\u8868", +"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c", +"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c", +"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c", +"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c", +"Edit image": "\u7f16\u8f91\u56fe\u7247", +"Image options": "\u56fe\u7247\u9009\u9879", +"Zoom in": "\u653e\u5927", +"Zoom out": "\u7f29\u5c0f", +"Crop": "\u88c1\u526a", +"Resize": "\u8c03\u6574\u5927\u5c0f", +"Orientation": "\u65b9\u5411", +"Brightness": "\u4eae\u5ea6", +"Sharpen": "\u9510\u5316", +"Contrast": "\u5bf9\u6bd4\u5ea6", +"Color levels": "\u989c\u8272\u5c42\u6b21", +"Gamma": "\u4f3d\u9a6c\u503c", +"Invert": "\u53cd\u8f6c", +"Apply": "\u5e94\u7528", +"Back": "\u540e\u9000", +"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4", +"Date\/time": "\u65e5\u671f\/\u65f6\u95f4", +"Insert\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", +"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", +"Text to display": "\u663e\u793a\u6587\u5b57", +"Url": "\u5730\u5740", +"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...", +"Current window": "\u5f53\u524d\u7a97\u53e3", +"None": "\u65e0", +"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00", +"Remove link": "\u5220\u9664\u94fe\u63a5", +"Anchors": "\u951a\u70b9", +"Link...": "\u94fe\u63a5...", +"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5", +"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f", +"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f", +"Link list": "\u94fe\u63a5\u5217\u8868", +"Insert video": "\u63d2\u5165\u89c6\u9891", +"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891", +"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53", +"Alternative source": "\u955c\u50cf", +"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740", +"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)", +"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:", +"Embed": "\u5185\u5d4c", +"Media...": "\u591a\u5a92\u4f53...", +"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c", +"Page break": "\u5206\u9875\u7b26", +"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c", +"Preview": "\u9884\u89c8", +"Print...": "\u6253\u5370...", +"Save": "\u4fdd\u5b58", +"Find": "\u67e5\u627e", +"Replace with": "\u66ff\u6362\u4e3a", +"Replace": "\u66ff\u6362", +"Replace all": "\u5168\u90e8\u66ff\u6362", +"Previous": "\u4e0a\u4e00\u4e2a", +"Next": "\u4e0b\u4e00\u4e2a", +"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...", +"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.", +"Match case": "\u533a\u5206\u5927\u5c0f\u5199", +"Find whole words only": "\u5168\u5b57\u5339\u914d", +"Spell check": "\u62fc\u5199\u68c0\u67e5", +"Ignore": "\u5ffd\u7565", +"Ignore all": "\u5168\u90e8\u5ffd\u7565", +"Finish": "\u5b8c\u6210", +"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178", +"Insert table": "\u63d2\u5165\u8868\u683c", +"Table properties": "\u8868\u683c\u5c5e\u6027", +"Delete table": "\u5220\u9664\u8868\u683c", +"Cell": "\u5355\u5143\u683c", +"Row": "\u884c", +"Column": "\u5217", +"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027", +"Merge cells": "\u5408\u5e76\u5355\u5143\u683c", +"Split cell": "\u62c6\u5206\u5355\u5143\u683c", +"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165", +"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165", +"Delete row": "\u5220\u9664\u884c", +"Row properties": "\u884c\u5c5e\u6027", +"Cut row": "\u526a\u5207\u884c", +"Copy row": "\u590d\u5236\u884c", +"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9", +"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9", +"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165", +"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165", +"Delete column": "\u5220\u9664\u5217", +"Cols": "\u5217", +"Rows": "\u884c", +"Width": "\u5bbd", +"Height": "\u9ad8", +"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd", +"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd", +"Show caption": "\u663e\u793a\u6807\u9898", +"Left": "\u5de6\u5bf9\u9f50", +"Center": "\u5c45\u4e2d", +"Right": "\u53f3\u5bf9\u9f50", +"Cell type": "\u5355\u5143\u683c\u7c7b\u578b", +"Scope": "\u8303\u56f4", +"Alignment": "\u5bf9\u9f50\u65b9\u5f0f", +"H Align": "\u6c34\u5e73\u5bf9\u9f50", +"V Align": "\u5782\u76f4\u5bf9\u9f50", +"Top": "\u9876\u90e8\u5bf9\u9f50", +"Middle": "\u5782\u76f4\u5c45\u4e2d", +"Bottom": "\u5e95\u90e8\u5bf9\u9f50", +"Header cell": "\u8868\u5934\u5355\u5143\u683c", +"Row group": "\u884c\u7ec4", +"Column group": "\u5217\u7ec4", +"Row type": "\u884c\u7c7b\u578b", +"Header": "\u8868\u5934", +"Body": "\u8868\u4f53", +"Footer": "\u8868\u5c3e", +"Border color": "\u8fb9\u6846\u989c\u8272", +"Insert template...": "\u63d2\u5165\u6a21\u677f...", +"Templates": "\u6a21\u677f", +"Template": "\u6a21\u677f", +"Text color": "\u6587\u5b57\u989c\u8272", +"Background color": "\u80cc\u666f\u8272", +"Custom...": "\u81ea\u5b9a\u4e49...", +"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272", +"No color": "\u65e0", +"Remove color": "\u79fb\u9664\u989c\u8272", +"Table of Contents": "\u5185\u5bb9\u5217\u8868", +"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846", +"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26", +"Word count": "\u5b57\u6570", +"Count": "\u8ba1\u6570", +"Document": "\u6587\u6863", +"Selection": "\u9009\u62e9", +"Words": "\u5355\u8bcd", +"Words: {0}": "\u5b57\u6570\uff1a{0}", +"{0} words": "{0} \u5b57", +"File": "\u6587\u4ef6", +"Edit": "\u7f16\u8f91", +"Insert": "\u63d2\u5165", +"View": "\u89c6\u56fe", +"Format": "\u683c\u5f0f", +"Table": "\u8868\u683c", +"Tools": "\u5de5\u5177", +"Powered by {0}": "\u7531{0}\u9a71\u52a8", +"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9", +"Image title": "\u56fe\u7247\u6807\u9898", +"Border width": "\u8fb9\u6846\u5bbd\u5ea6", +"Border style": "\u8fb9\u6846\u6837\u5f0f", +"Error": "\u9519\u8bef", +"Warn": "\u8b66\u544a", +"Valid": "\u6709\u6548", +"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846", +"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002", +"System Font": "\u7cfb\u7edf\u5b57\u4f53", +"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}", +"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}", +"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}", +"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}", +"example": "\u793a\u4f8b", +"Search": "\u641c\u7d22", +"All": "\u5168\u90e8", +"Currency": "\u8d27\u5e01", +"Text": "\u6587\u5b57", +"Quotations": "\u5f15\u7528", +"Mathematical": "\u6570\u5b66", +"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145", +"Symbols": "\u7b26\u53f7", +"Arrows": "\u7bad\u5934", +"User Defined": "\u81ea\u5b9a\u4e49", +"dollar sign": "\u7f8e\u5143\u7b26\u53f7", +"currency sign": "\u8d27\u5e01\u7b26\u53f7", +"euro-currency sign": "\u6b27\u5143\u7b26\u53f7", +"colon sign": "\u5192\u53f7", +"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7", +"french franc sign": "\u6cd5\u90ce\u7b26\u53f7", +"lira sign": "\u91cc\u62c9\u7b26\u53f7", +"mill sign": "\u5bc6\u5c14\u7b26\u53f7", +"naira sign": "\u5948\u62c9\u7b26\u53f7", +"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7", +"rupee sign": "\u5362\u6bd4\u7b26\u53f7", +"won sign": "\u97e9\u5143\u7b26\u53f7", +"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7", +"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7", +"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7", +"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7", +"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7", +"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7", +"peso sign": "\u6bd4\u7d22\u7b26\u53f7", +"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7", +"austral sign": "\u6fb3\u5143\u7b26\u53f7", +"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7", +"cedi sign": "\u585e\u5730\u7b26\u53f7", +"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7", +"spesmilo sign": "spesmilo\u7b26\u53f7", +"tenge sign": "\u575a\u6208\u7b26\u53f7", +"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4", +"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9", +"nordic mark sign": "\u5317\u6b27\u9a6c\u514b", +"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7", +"ruble sign": "\u5362\u5e03\u7b26\u53f7", +"yen character": "\u65e5\u5143\u5b57\u6837", +"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837", +"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09", +"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09", +"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...", +"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7", +"People": "\u4eba\u7c7b", +"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136", +"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1", +"Activity": "\u6d3b\u52a8", +"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9", +"Objects": "\u7269\u4ef6", +"Flags": "\u65d7\u5e1c", +"Characters": "\u5b57\u7b26", +"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)", +"{0} characters": "{0} \u4e2a\u5b57\u7b26", +"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002", +"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002", +"Update": "\u66f4\u65b0", +"Color swatch": "\u989c\u8272\u6837\u672c", +"Turquoise": "\u9752\u7eff\u8272", +"Green": "\u7eff\u8272", +"Blue": "\u84dd\u8272", +"Purple": "\u7d2b\u8272", +"Navy Blue": "\u6d77\u519b\u84dd", +"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272", +"Dark Green": "\u6df1\u7eff\u8272", +"Medium Blue": "\u4e2d\u84dd\u8272", +"Medium Purple": "\u4e2d\u7d2b\u8272", +"Midnight Blue": "\u6df1\u84dd\u8272", +"Yellow": "\u9ec4\u8272", +"Orange": "\u6a59\u8272", +"Red": "\u7ea2\u8272", +"Light Gray": "\u6d45\u7070\u8272", +"Gray": "\u7070\u8272", +"Dark Yellow": "\u6697\u9ec4\u8272", +"Dark Orange": "\u6df1\u6a59\u8272", +"Dark Red": "\u6df1\u7ea2\u8272", +"Medium Gray": "\u4e2d\u7070\u8272", +"Dark Gray": "\u6df1\u7070\u8272", +"Light Green": "\u6d45\u7eff\u8272", +"Light Yellow": "\u6d45\u9ec4\u8272", +"Light Red": "\u6d45\u7ea2\u8272", +"Light Purple": "\u6d45\u7d2b\u8272", +"Light Blue": "\u6d45\u84dd\u8272", +"Dark Purple": "\u6df1\u7d2b\u8272", +"Dark Blue": "\u6df1\u84dd\u8272", +"Black": "\u9ed1\u8272", +"White": "\u767d\u8272", +"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f", +"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846", +"history": "\u5386\u53f2", +"styles": "\u6837\u5f0f", +"formatting": "\u683c\u5f0f\u5316", +"alignment": "\u5bf9\u9f50", +"indentation": "\u7f29\u8fdb", +"permanent pen": "\u8bb0\u53f7\u7b14", +"comments": "\u5907\u6ce8", +"Format Painter": "\u683c\u5f0f\u5237", +"Insert\/edit iframe": "\u63d2\u5165\/\u7f16\u8f91\u6846\u67b6", +"Capitalization": "\u5927\u5199", +"lowercase": "\u5c0f\u5199", +"UPPERCASE": "\u5927\u5199", +"Title Case": "\u9996\u5b57\u6bcd\u5927\u5199", +"Permanent Pen Properties": "\u6c38\u4e45\u7b14\u5c5e\u6027", +"Permanent pen properties...": "\u6c38\u4e45\u7b14\u5c5e\u6027...", +"Font": "\u5b57\u4f53", +"Size": "\u5b57\u53f7", +"More...": "\u66f4\u591a...", +"Spellcheck Language": "\u62fc\u5199\u68c0\u67e5\u8bed\u8a00", +"Select...": "\u9009\u62e9...", +"Preferences": "\u9996\u9009\u9879", +"Yes": "\u662f", +"No": "\u5426", +"Keyboard Navigation": "\u952e\u76d8\u6307\u5f15", +"Version": "\u7248\u672c", +"Anchor": "\u951a\u70b9", +"Special character": "\u7279\u6b8a\u7b26\u53f7", +"Code sample": "\u4ee3\u7801\u793a\u4f8b", +"Color": "\u989c\u8272", +"Emoticons": "\u8868\u60c5", +"Document properties": "\u6587\u6863\u5c5e\u6027", +"Image": "\u56fe\u7247", +"Insert link": "\u63d2\u5165\u94fe\u63a5", +"Target": "\u6253\u5f00\u65b9\u5f0f", +"Link": "\u94fe\u63a5", +"Poster": "\u5c01\u9762", +"Media": "\u5a92\u4f53", +"Print": "\u6253\u5370", +"Prev": "\u4e0a\u4e00\u4e2a", +"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362", +"Whole words": "\u5168\u5b57\u5339\u914d", +"Spellcheck": "\u62fc\u5199\u68c0\u67e5", +"Caption": "\u6807\u9898", +"Insert template": "\u63d2\u5165\u6a21\u677f" +}); \ No newline at end of file diff --git a/public/tinymce/skins/content/dark/content.css b/public/tinymce/skins/content/dark/content.css new file mode 100644 index 0000000..bae7923 --- /dev/null +++ b/public/tinymce/skins/content/dark/content.css @@ -0,0 +1,72 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body { + background-color: #2f3742; + color: #dfe0e4; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; +} +a { + color: #4099ff; +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #6d737b; +} +figure { + display: table; + margin: 1rem auto; +} +figure figcaption { + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; +} +code { + background-color: #6d737b; + border-radius: 3px; + padding: 0.1rem 0.2rem; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #6d737b; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/dark/content.min.css b/public/tinymce/skins/content/dark/content.min.css new file mode 100644 index 0000000..07d40c2 --- /dev/null +++ b/public/tinymce/skins/content/dark/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/content/default/content.css b/public/tinymce/skins/content/default/content.css new file mode 100644 index 0000000..dd6a5c1 --- /dev/null +++ b/public/tinymce/skins/content/default/content.css @@ -0,0 +1,67 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #ccc; +} +figure { + display: table; + margin: 1rem auto; +} +figure figcaption { + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; +} +code { + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/default/content.min.css b/public/tinymce/skins/content/default/content.min.css new file mode 100644 index 0000000..29cd987 --- /dev/null +++ b/public/tinymce/skins/content/default/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/content/document/content.css b/public/tinymce/skins/content/document/content.css new file mode 100644 index 0000000..75f637a --- /dev/null +++ b/public/tinymce/skins/content/document/content.css @@ -0,0 +1,72 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +@media screen { + html { + background: #f4f4f4; + min-height: 100%; + } +} +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} +@media screen { + body { + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); + box-sizing: border-box; + margin: 1rem auto 0; + max-width: 820px; + min-height: calc(100vh - 1rem); + padding: 4rem 6rem 6rem 6rem; + } +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #ccc; +} +figure figcaption { + color: #999; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/document/content.min.css b/public/tinymce/skins/content/document/content.min.css new file mode 100644 index 0000000..a1feef4 --- /dev/null +++ b/public/tinymce/skins/content/document/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/content/writer/content.css b/public/tinymce/skins/content/writer/content.css new file mode 100644 index 0000000..ceee359 --- /dev/null +++ b/public/tinymce/skins/content/writer/content.css @@ -0,0 +1,68 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem auto; + max-width: 900px; +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #ccc; +} +figure { + display: table; + margin: 1rem auto; +} +figure figcaption { + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; +} +code { + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/writer/content.min.css b/public/tinymce/skins/content/writer/content.min.css new file mode 100644 index 0000000..0d8f5d3 --- /dev/null +++ b/public/tinymce/skins/content/writer/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/ui/oxide-dark/content.css b/public/tinymce/skins/ui/oxide-dark/content.css new file mode 100644 index 0000000..a6871c8 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.css @@ -0,0 +1,714 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * Dracula Theme originally by Zeno Rocha [@zenorocha] + * https://draculatheme.com/ + * + * Ported for PrismJS by Albert Vallverdu [@byverdu] + */ +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #282a36; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6272a4; +} +.token.punctuation { + color: #f8f8f2; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #ff79c6; +} +.token.boolean, +.token.number { + color: #bd93f9; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #50fa7b; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #f1fa8c; +} +.token.keyword { + color: #8be9fd; +} +.token.regex, +.token.important { + color: #ffb86c; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #4099ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #4099ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #4099ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #4099ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #4099ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #4099ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #4099ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid transparent; + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: lighten; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide-dark/content.inline.css b/public/tinymce/skins/ui/oxide-dark/content.inline.css new file mode 100644 index 0000000..df6ed08 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.inline.css @@ -0,0 +1,726 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} diff --git a/public/tinymce/skins/ui/oxide-dark/content.inline.min.css b/public/tinymce/skins/ui/oxide-dark/content.inline.min.css new file mode 100644 index 0000000..0a3d965 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.inline.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} diff --git a/public/tinymce/skins/ui/oxide-dark/content.min.css b/public/tinymce/skins/ui/oxide-dark/content.min.css new file mode 100644 index 0000000..0706740 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #4099ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #4099ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #4099ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #4099ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #4099ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#4099ff}.mce-content-body .mce-edit-focus{outline:3px solid #4099ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid transparent;bottom:-1px;content:'';left:-1px;mix-blend-mode:lighten;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#4099ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide-dark/content.mobile.css b/public/tinymce/skins/ui/oxide-dark/content.mobile.css new file mode 100644 index 0000000..4bdb8ba --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.mobile.css @@ -0,0 +1,29 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { + /* Note: this file is used inside the content, so isn't part of theming */ + background-color: green; + display: inline-block; + opacity: 0.5; + position: absolute; +} +body { + -webkit-text-size-adjust: none; +} +body img { + /* this is related to the content margin */ + max-width: 96vw; +} +body table img { + max-width: 95%; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css b/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css new file mode 100644 index 0000000..35f7dc0 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff b/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff new file mode 100644 index 0000000000000000000000000000000000000000..1e3be038a607cb7c2544ed8ae3d6621f77bf4c38 GIT binary patch literal 4624 zcmb7IeQaFC5#QN&AGUL{efE7g{=BM1W-|RaVdWQe^e?BC`eGz4^i8S3PQw?Hhd_eQHxTkckXZB zdzU((wCVGko!Qyh+1c6InRotvZ%+>+hNrBQtrFOI4t*}DZ$7=>Sr=uD3c$ZlKuKBQ z8~ervCczs9SOk2!>AAqrz+v$CC}f1JfYPDSqx->|V$6{ekbe8M#Bh3Gkg?)-Fdi3B zeB$}UFqn*$pv&q7*net~hsUOlfG7Ho2zaowY%JPRytMvu{&xRPm(h_~w##F>vqE&a5-ssH##mlfAk}44^ zXRJKd!Ifw&ce{$Y9BAg5c>e>p_Z;t!=P{izddGWie?aHLdKL3Cn9rG=d2vt;esWqH zoD}uAoi3Z~4+LABvADt+so4~t%VlyIJ{O3tm$NC+(!yenQD%NVr*btG$T3+_WX=LH z#1M2ZNEtrO+-x;l2i>M^5o%GQ@s?N+gw*19H@G~vl3Q5Zf*t6jjW0GOTmAmlWYgSS zJeiEo%~LA-FW|YAd_Em$OE#@dw)y*#@p!UtnWa);V1HY3ZBw!>(3gY{iFFa_c6iW9 zIQ@xck^{xu9_o;UyQH#ba@y?L$xW?8J35?$p1z46ZjIctZ8QCKCa29bMC1-t@pT>S zTUT1WMjQz-75d)5zJxv~@Yd)bY)ejQBx_XQiaMJ z>$5`NO3?L*ND{UQeF8%xl)$_>w9tmQpfEebzedazFeh#~d}suN+vzsqLiW~@TLhoe zk1%xEcxP2ZL)FuoXeYzb-J5goljDxPL2@@#RW)d&X#&6QO5U=04_628@ONSvtgpha zDqqmoVep`A4<+PK$V>K+T}}{8Rj+Q|UAzCtl!Fh)uXJg{x$}HMJH7LcBLzj-r{h;< zzote8Id%pcAyE;87D<8glyaFeq#k)OEDB%yA ze%CeZ!?4TEs#pj+%14DBZHn8jxaF2as6}p3+!6p-&@I>5lbP3&N$svcIF-`0R5(o2 zh7la++|;-euckH44a4BAwB++#-cZ z)kFyC=eUS-4D0t}H8LdZY!JD^sW@F85io)%=8HU)ouhEeo-K_dJ3BV+8fo0JXIjlP zZt0H`0=Yv~I|PpRZ)r5_iAYmY9V=wT@BsoN9<3vftB|}TOH;|yNk_e7(2-?y{&cSK zG=E5Nz^Ko4>KxcbY!Q13!=HBS$lM96_+0y3M1yWTAt2u5C;6MWMXbRN?RI{$eHnAx z&t=-PSjZ>Qe2V2-YGs1YWemAq zVHdG{9V$QvsY~Cgq-L*PZqMPGv|px$)K~3<%+fBtG{oIRPL_7ye$-(`C=tS)^xC}% zue73qiF&{nXJ*>-@668G!`IrAeB;ad09shzt{O?7omLE_X@H|#ozGt&64 zb-&_lLkZI8TzigPZvUr=4g2-8M6M8b9EQLgoPswYg)d)j&%gZHJO!2>(?;I*8d>aG z#oS295Kcq{uD4R2@VEG($}WWiF-6YK)kjqks%o_U{CIAVX2;tX7o|unkew5?Gn3(| zOePS^{$(;Xi4ph;`KO#;k+vaLt8n5@doi+OEvH&?*+3(WgqkT9-$b0fTHm;)r=NmR zJnJ9o>UvNR(JMoIdRBf{%kd}jmZ)b)#4>dnDfq0G(?~S%d zv50QeMR$Kzd*S$AEXdp5Fhqe0Pz zZ!oS2e!i-tWEJ2^YoVo}V7S0tV7CujimbVJtVNb#yB&<-f&xpSb@m2=wBZ|qU-_^; z?C{lk+;tlxk&Sh3Pwh(D7~kNh`O=~TMWuRUu^0=9)`CYEVwhvGWUt4Wd3`6*H)Zs>LLYQcC#*~B78EfTt7RQ*l)b{v zqntLNsC`h&zZCY{x*}gfPU4at;nfileU3>zeyLdO7;;lFIft~ zsm6#wb5Jjtv;_VxleU0<%cQON-O*ywHt`@C4fn-Y83}=|hJPOpN>1H%C#7)9etg_yG)$ div { + padding-bottom: 4px; +} +.tox .accessibility-issue__description > div > div { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description > *:last-child:not(:only-child) { + border-color: #000000; + border-style: solid; +} +.tox .accessibility-issue__repair { + margin-top: 16px; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { + background-color: rgba(32, 122, 183, 0.5); + border-color: #207ab7; + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { + border-color: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { + background-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.8); + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { + border-color: rgba(255, 165, 0, 0.8); +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { + background-color: rgba(204, 0, 0, 0.5); + border-color: rgba(204, 0, 0, 0.8); + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { + border-color: rgba(204, 0, 0, 0.8); +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { + background-color: rgba(120, 171, 70, 0.5); + border-color: rgba(120, 171, 70, 0.8); + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { + border-color: rgba(120, 171, 70, 0.8); +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue__header h1, +.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { + margin-top: 0; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-left: auto; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 4px 4px 8px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-left-width: 1px; + padding-left: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-right: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-right: auto; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 8px 4px 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-right-width: 1px; + padding-right: 4px; +} +.tox .tox-anchorbar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-bar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-button { + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; +} +.tox .tox-button[disabled] { + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-button:focus:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:hover:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:active:not(:disabled) { + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary { + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; +} +.tox .tox-button--secondary[disabled] { + background-color: #3d546f; + background-image: none; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); +} +.tox .tox-button--secondary:focus:not(:disabled) { + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary:hover:not(:disabled) { + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary:active:not(:disabled) { + background-color: #2b3b4e; + background-image: none; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; +} +.tox .tox-button--icon, +.tox .tox-button.tox-button--icon, +.tox .tox-button.tox-button--secondary.tox-button--icon { + padding: 4px; +} +.tox .tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { + display: block; + fill: currentColor; +} +.tox .tox-button-link { + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; +} +.tox .tox-button-link--sm { + font-size: 14px; +} +.tox .tox-button--naked { + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; +} +.tox .tox-button--naked[disabled] { + background-color: #3d546f; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); +} +.tox .tox-button--naked:hover:not(:disabled) { + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--naked:focus:not(:disabled) { + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--naked:active:not(:disabled) { + background-color: #2b3b4e; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; +} +.tox .tox-button--naked .tox-icon svg { + fill: currentColor; +} +.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { + color: #fff; +} +.tox .tox-checkbox { + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; +} +.tox .tox-checkbox__input { + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; +} +.tox .tox-checkbox__icons { + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: block; + fill: rgba(255, 255, 255, 0.2); +} +.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox--disabled { + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: block; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: block; +} +.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); +} +.tox:not([dir=rtl]) .tox-checkbox__label { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-checkbox__input { + left: -10000px; +} +.tox:not([dir=rtl]) .tox-bar .tox-checkbox { + margin-left: 4px; +} +.tox[dir=rtl] .tox-checkbox__label { + margin-right: 4px; +} +.tox[dir=rtl] .tox-checkbox__input { + right: -10000px; +} +.tox[dir=rtl] .tox-bar .tox-checkbox { + margin-right: 4px; +} +.tox { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox .tox-collection--toolbar .tox-collection__group { + display: flex; + padding: 0; +} +.tox .tox-collection--grid .tox-collection__group { + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} +.tox .tox-collection--list .tox-collection__group { + border-bottom-width: 0; + border-color: #1a1a1a; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; +} +.tox .tox-collection--list .tox-collection__group:first-child { + border-top-width: 0; +} +.tox .tox-collection__group-heading { + background-color: #333333; + color: #fff; + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item { + align-items: center; + color: #fff; + cursor: pointer; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection--list .tox-collection__item { + padding: 4px 8px; +} +.tox .tox-collection--toolbar .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--grid .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--list .tox-collection__item--enabled { + background-color: #2b3b4e; + color: #fff; +} +.tox .tox-collection--list .tox-collection__item--active { + background-color: #4a5562; +} +.tox .tox-collection--toolbar .tox-collection__item--enabled { + background-color: #757d87; + color: #fff; +} +.tox .tox-collection--toolbar .tox-collection__item--active { + background-color: #4a5562; +} +.tox .tox-collection--grid .tox-collection__item--enabled { + background-color: #757d87; + color: #fff; +} +.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + background-color: #4a5562; + color: #fff; +} +.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #fff; +} +.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #fff; +} +.tox .tox-collection__item--state-disabled { + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-collection__item-icon, +.tox .tox-collection__item-checkmark { + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; +} +.tox .tox-collection__item-icon svg, +.tox .tox-collection__item-checkmark svg { + fill: currentColor; +} +.tox .tox-collection--toolbar-lg .tox-collection__item-icon { + height: 48px; + width: 48px; +} +.tox .tox-collection__item-label { + color: currentColor; + display: inline-block; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; +} +.tox .tox-collection__item-accessory { + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; +} +.tox .tox-collection__item-caret { + align-items: center; + display: flex; + min-height: 24px; +} +.tox .tox-collection__item-caret::after { + content: ''; + font-size: 0; + min-height: inherit; +} +.tox .tox-collection__item-caret svg { + fill: #fff; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark { + display: none; +} +.tox .tox-collection--horizontal { + background-color: #2b3b4e; + border: 1px solid #1a1a1a; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; +} +.tox .tox-collection--horizontal .tox-collection__group { + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item { + height: 34px; + margin: 2px 0 3px 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item-label { + white-space: nowrap; +} +.tox .tox-collection--horizontal .tox-collection__item-caret { + margin-left: 4px; +} +.tox .tox-collection__item-container { + display: flex; +} +.tox .tox-collection__item-container--row { + align-items: center; + flex: 1 1 auto; + flex-direction: row; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-left { + margin-right: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-right { + justify-content: flex-end; + margin-left: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { + align-items: flex-start; + margin-bottom: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { + align-items: center; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { + align-items: flex-end; + margin-top: auto; +} +.tox .tox-collection__item-container--column { + -ms-grid-row-align: center; + align-self: center; + flex: 1 1 auto; + flex-direction: column; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-left { + align-items: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-right { + align-items: flex-end; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { + align-self: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { + -ms-grid-row-align: center; + align-self: center; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { + align-self: flex-end; +} +.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-right: 1px solid #000000; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-collection__item-accessory { + margin-left: 16px; + text-align: right; +} +.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret { + margin-left: 16px; +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-left: 1px solid #000000; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-right: 4px; +} +.tox[dir=rtl] .tox-collection__item-icon-rtl { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg { + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection__item-accessory { + margin-right: 16px; + text-align: left; +} +.tox[dir=rtl] .tox-collection .tox-collection__item-caret { + margin-right: 16px; + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret { + margin-right: 4px; +} +.tox .tox-color-picker-container { + display: flex; + flex-direction: row; + height: 225px; + margin: 0; +} +.tox .tox-sv-palette { + box-sizing: border-box; + display: flex; + height: 100%; +} +.tox .tox-sv-palette-spectrum { + height: 100%; +} +.tox .tox-sv-palette, +.tox .tox-sv-palette-spectrum { + width: 225px; +} +.tox .tox-sv-palette-thumb { + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; +} +.tox .tox-sv-palette-inner-thumb { + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; +} +.tox .tox-hue-slider { + box-sizing: border-box; + height: 100%; + width: 25px; +} +.tox .tox-hue-slider-spectrum { + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; +} +.tox .tox-hue-slider, +.tox .tox-hue-slider-spectrum { + width: 20px; +} +.tox .tox-hue-slider-thumb { + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; +} +.tox .tox-rgb-form { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.tox .tox-rgb-form div { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; +} +.tox .tox-rgb-form input { + width: 6em; +} +.tox .tox-rgb-form input.tox-invalid { + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; +} +.tox .tox-rgb-form .tox-rgba-preview { + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; +} +.tox:not([dir=rtl]) .tox-sv-palette { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider-thumb { + margin-left: -1px; +} +.tox:not([dir=rtl]) .tox-rgb-form label { + margin-right: 0.5em; +} +.tox[dir=rtl] .tox-sv-palette { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider-thumb { + margin-right: -1px; +} +.tox[dir=rtl] .tox-rgb-form label { + margin-left: 0.5em; +} +.tox .tox-toolbar .tox-swatches, +.tox .tox-toolbar__primary .tox-swatches, +.tox .tox-toolbar__overflow .tox-swatches { + margin: 2px 0 3px 4px; +} +.tox .tox-collection--list .tox-collection__group .tox-swatches-menu { + border: 0; + margin: -4px 0; +} +.tox .tox-swatches__row { + display: flex; +} +.tox .tox-swatch { + height: 30px; + transition: transform 0.15s, box-shadow 0.15s; + width: 30px; +} +.tox .tox-swatch:hover, +.tox .tox-swatch:focus { + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); +} +.tox .tox-swatch--remove { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-swatch--remove svg path { + stroke: #e74c3c; +} +.tox .tox-swatches__picker-btn { + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; +} +.tox .tox-swatches__picker-btn svg { + height: 24px; + width: 24px; +} +.tox .tox-swatches__picker-btn:hover { + background: #4a5562; +} +.tox:not([dir=rtl]) .tox-swatches__picker-btn { + margin-left: auto; +} +.tox[dir=rtl] .tox-swatches__picker-btn { + margin-right: auto; +} +.tox .tox-comment-thread { + background: #2b3b4e; + position: relative; +} +.tox .tox-comment-thread > *:not(:first-child) { + margin-top: 8px; +} +.tox .tox-comment { + background: #2b3b4e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + padding: 8px 8px 16px 8px; + position: relative; +} +.tox .tox-comment__header { + align-items: center; + color: #fff; + display: flex; + justify-content: space-between; +} +.tox .tox-comment__date { + color: rgba(255, 255, 255, 0.5); + font-size: 12px; +} +.tox .tox-comment__body { + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; +} +.tox .tox-comment__body textarea { + resize: none; + white-space: normal; + width: 100%; +} +.tox .tox-comment__expander { + padding-top: 8px; +} +.tox .tox-comment__expander p { + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; +} +.tox .tox-comment__body p { + margin: 0; +} +.tox .tox-comment__buttonspacing { + padding-top: 16px; + text-align: center; +} +.tox .tox-comment-thread__overlay::after { + background: #2b3b4e; + bottom: 0; + content: ""; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; +} +.tox .tox-comment__reply { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; +} +.tox .tox-comment__reply > *:first-child { + margin-bottom: 8px; + width: 100%; +} +.tox .tox-comment__edit { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; +} +.tox .tox-comment__gradient::after { + background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); + bottom: 0; + content: ""; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; +} +.tox .tox-comment__overlay { + background: #2b3b4e; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; +} +.tox .tox-comment__loading-text { + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; +} +.tox .tox-comment__loading-text > div { + padding-bottom: 16px; +} +.tox .tox-comment__overlaytext { + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; +} +.tox .tox-comment__overlaytext p { + background-color: #2b3b4e; + box-shadow: 0 0 8px 8px #2b3b4e; + color: #fff; + text-align: center; +} +.tox .tox-comment__overlaytext div:nth-of-type(2) { + font-size: 0.8em; +} +.tox .tox-comment__busy-spinner { + align-items: center; + background-color: #2b3b4e; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; +} +.tox .tox-comment__scroll { + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; +} +.tox .tox-conversations { + margin: 8px; +} +.tox:not([dir=rtl]) .tox-comment__edit { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child, +.tox:not([dir=rtl]) .tox-comment__edit > *:last-child, +.tox:not([dir=rtl]) .tox-comment__reply > *:last-child { + margin-left: 8px; +} +.tox[dir=rtl] .tox-comment__edit { + margin-right: 8px; +} +.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child, +.tox[dir=rtl] .tox-comment__edit > *:last-child, +.tox[dir=rtl] .tox-comment__reply > *:last-child { + margin-right: 8px; +} +.tox .tox-user { + align-items: center; + display: flex; +} +.tox .tox-user__avatar svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-user__name { + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; +} +.tox:not([dir=rtl]) .tox-user__avatar svg { + margin-right: 8px; +} +.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar svg { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar + .tox-user__name { + margin-right: 8px; +} +.tox .tox-dialog-wrap { + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; +} +.tox .tox-dialog-wrap__backdrop { + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.tox .tox-dialog-wrap__backdrop--opaque { + background-color: #222f3e; +} +.tox .tox-dialog { + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: 0 16px 16px -10px rgba(42, 55, 70, 0.15), 0 0 40px 1px rgba(42, 55, 70, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } +} +.tox .tox-dialog-inline { + z-index: 1100; +} +.tox .tox-dialog__header { + align-items: center; + background-color: #2b3b4e; + border-bottom: none; + color: #fff; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; +} +.tox .tox-dialog__header .tox-button { + z-index: 1; +} +.tox .tox-dialog__draghandle { + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tox .tox-dialog__draghandle:active { + cursor: grabbing; +} +.tox .tox-dialog__dismiss { + margin-left: auto; +} +.tox .tox-dialog__title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; +} +.tox .tox-dialog__body { + color: #fff; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } +} +.tox .tox-dialog__body-nav { + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } +} +.tox .tox-dialog__body-nav-item { + border-bottom: 2px solid transparent; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; +} +.tox .tox-dialog__body-nav-item:focus { + background-color: rgba(32, 122, 183, 0.1); +} +.tox .tox-dialog__body-nav-item--active { + border-bottom: 2px solid #207ab7; + color: #207ab7; +} +.tox .tox-dialog__body-content { + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; +} +.tox .tox-dialog__body-content > * { + margin-bottom: 0; + margin-top: 16px; +} +.tox .tox-dialog__body-content > *:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content > *:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content > *:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog__body-content a { + color: #207ab7; + cursor: pointer; + text-decoration: none; +} +.tox .tox-dialog__body-content a:hover, +.tox .tox-dialog__body-content a:focus { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content a:active { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content svg { + fill: #fff; +} +.tox .tox-dialog__body-content ul { + display: block; + list-style-type: disc; + margin-bottom: 16px; + -webkit-margin-end: 0; + margin-inline-end: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-padding-start: 2.5rem; + padding-inline-start: 2.5rem; +} +.tox .tox-dialog__body-content .tox-form__group h1 { + color: #fff; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group h2 { + color: #fff; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group p { + margin-bottom: 16px; +} +.tox .tox-dialog__body-content .tox-form__group h1:first-child, +.tox .tox-dialog__body-content .tox-form__group h2:first-child, +.tox .tox-dialog__body-content .tox-form__group p:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:last-child, +.tox .tox-dialog__body-content .tox-form__group h2:last-child, +.tox .tox-dialog__body-content .tox-form__group p:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:only-child, +.tox .tox-dialog__body-content .tox-form__group h2:only-child, +.tox .tox-dialog__body-content .tox-form__group p:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog--width-lg { + height: 650px; + max-width: 1200px; +} +.tox .tox-dialog--width-md { + max-width: 800px; +} +.tox .tox-dialog--width-md .tox-dialog__body-content { + overflow: auto; +} +.tox .tox-dialog__body-content--centered { + text-align: center; +} +.tox .tox-dialog__footer { + align-items: center; + background-color: #2b3b4e; + border-top: 1px solid #000000; + display: flex; + justify-content: space-between; + padding: 8px 16px; +} +.tox .tox-dialog__footer-start, +.tox .tox-dialog__footer-end { + display: flex; +} +.tox .tox-dialog__busy-spinner { + align-items: center; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; +} +.tox .tox-dialog__table { + border-collapse: collapse; + width: 100%; +} +.tox .tox-dialog__table thead th { + font-weight: bold; + padding-bottom: 8px; +} +.tox .tox-dialog__table tbody tr { + border-bottom: 1px solid #000000; +} +.tox .tox-dialog__table tbody tr:last-child { + border-bottom: none; +} +.tox .tox-dialog__table td { + padding-bottom: 8px; + padding-top: 8px; +} +.tox .tox-dialog__popups { + position: absolute; + width: 100%; + z-index: 1100; +} +.tox .tox-dialog__body-iframe { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox .tox-dialog-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox .tox-dialog-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox .tox-dialog-dock-transition { + transition: visibility 0s linear 0.3s, opacity 0.3s ease; +} +.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { + transition-delay: 0s; +} +.tox.tox-platform-ie { + /* IE11 CSS styles go here */ +} +.tox.tox-platform-ie .tox-dialog-wrap { + position: -ms-device-fixed; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav { + margin-right: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } +} +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *, +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * { + margin-left: 8px; +} +.tox[dir=rtl] .tox-dialog__body { + text-align: right; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav { + margin-left: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } +} +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *, +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * { + margin-right: 8px; +} +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox .tox-dropzone-container { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dropzone { + align-items: center; + background: #fff; + border: 2px dashed #000000; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; +} +.tox .tox-dropzone p { + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; +} +.tox .tox-edit-area { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + overflow: hidden; + position: relative; +} +.tox .tox-edit-area__iframe { + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; + position: absolute; + width: 100%; +} +.tox.tox-inline-edit-area { + border: 1px dotted #000000; +} +.tox .tox-editor-container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; +} +.tox .tox-editor-header { + z-index: 1; +} +.tox:not(.tox-tinymce-inline) .tox-editor-header { + box-shadow: none; + transition: box-shadow 0.5s; +} +.tox.tox-tinymce--toolbar-bottom .tox-editor-header, +.tox.tox-tinymce-inline .tox-editor-header { + margin-bottom: -1px; +} +.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); +} +.tox-editor-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox-editor-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox-editor-dock-transition { + transition: visibility 0s linear 0.25s, opacity 0.25s ease; +} +.tox-editor-dock-transition.tox-editor-dock-fadein { + transition-delay: 0s; +} +.tox .tox-control-wrap { + flex: 1; + position: relative; +} +.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, +.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, +.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { + display: none; +} +.tox .tox-control-wrap svg { + display: block; +} +.tox .tox-control-wrap__status-icon-wrap { + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-control-wrap__status-icon-invalid svg { + fill: #c00; +} +.tox .tox-control-wrap__status-icon-unknown svg { + fill: orange; +} +.tox .tox-control-wrap__status-icon-valid svg { + fill: green; +} +.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield { + padding-right: 32px; +} +.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap { + right: 4px; +} +.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield { + padding-left: 32px; +} +.tox[dir=rtl] .tox-control-wrap__status-icon-wrap { + left: 4px; +} +.tox .tox-autocompleter { + max-width: 25em; +} +.tox .tox-autocompleter .tox-menu { + max-width: 25em; +} +.tox .tox-autocompleter .tox-autocompleter-highlight { + font-weight: bold; +} +.tox .tox-color-input { + display: flex; + position: relative; + z-index: 1; +} +.tox .tox-color-input .tox-textfield { + z-index: -1; +} +.tox .tox-color-input span { + border-color: rgba(42, 55, 70, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; +} +.tox .tox-color-input span:hover:not([aria-disabled=true]), +.tox .tox-color-input span:focus:not([aria-disabled=true]) { + border-color: #207ab7; + cursor: pointer; +} +.tox .tox-color-input span::before { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); + background-position: 0 0, 0 6px, 6px -6px, -6px 0; + background-size: 12px 12px; + border: 1px solid #2b3b4e; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; +} +.tox .tox-color-input span[aria-disabled=true] { + cursor: not-allowed; +} +.tox:not([dir=rtl]) .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-color-input .tox-textfield { + padding-left: 36px; +} +.tox:not([dir=rtl]) .tox-color-input span { + left: 6px; +} +.tox[dir="rtl"] .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir="rtl"] .tox-color-input .tox-textfield { + padding-right: 36px; +} +.tox[dir="rtl"] .tox-color-input span { + right: 6px; +} +.tox .tox-label, +.tox .tox-toolbar-label { + color: rgba(255, 255, 255, 0.5); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; +} +.tox .tox-toolbar-label { + padding: 0 8px; +} +.tox[dir=rtl] .tox-label { + padding: 0 0 0 8px; +} +.tox .tox-form { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group { + box-sizing: border-box; + margin-bottom: 4px; +} +.tox .tox-form-group--maximize { + flex: 1; +} +.tox .tox-form__group--error { + color: #c00; +} +.tox .tox-form__group--collection { + display: flex; +} +.tox .tox-form__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.tox .tox-form__grid--2col > .tox-form__group { + width: calc(50% - (8px / 2)); +} +.tox .tox-form__grid--3col > .tox-form__group { + width: calc(100% / 3 - (8px / 2)); +} +.tox .tox-form__grid--4col > .tox-form__group { + width: calc(25% - (8px / 2)); +} +.tox .tox-form__controls-h-stack { + align-items: center; + display: flex; +} +.tox .tox-form__group--inline { + align-items: center; + display: flex; +} +.tox .tox-form__group--stretched { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-textarea { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) { + margin-right: 4px; +} +.tox .tox-lock.tox-locked .tox-lock-icon__unlock, +.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { + display: none; +} +.tox .tox-textfield, +.tox .tox-toolbar-textfield, +.tox .tox-listboxfield .tox-listbox--select, +.tox .tox-textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-textfield[disabled], +.tox .tox-textarea[disabled] { + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; +} +.tox .tox-textfield:focus, +.tox .tox-listboxfield .tox-listbox--select:focus, +.tox .tox-textarea:focus { + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-toolbar-textfield { + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; +} +.tox .tox-naked-btn { + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; +} +.tox .tox-naked-btn svg { + display: block; + fill: #fff; +} +.tox:not([dir=rtl]) .tox-toolbar-textfield + * { + margin-left: 4px; +} +.tox[dir=rtl] .tox-toolbar-textfield + * { + margin-right: 4px; +} +.tox .tox-listboxfield { + cursor: pointer; + position: relative; +} +.tox .tox-listboxfield .tox-listbox--select[disabled] { + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; +} +.tox .tox-listbox__select-label { + cursor: default; + flex: 1; + margin: 0 4px; +} +.tox .tox-listbox__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-listbox__select-chevron svg { + fill: #fff; +} +.tox .tox-listboxfield .tox-listbox--select { + align-items: center; + display: flex; +} +.tox:not([dir=rtl]) .tox-listboxfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-listboxfield svg { + left: 8px; +} +.tox .tox-selectfield { + cursor: pointer; + position: relative; +} +.tox .tox-selectfield select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-selectfield select[disabled] { + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; +} +.tox .tox-selectfield select::-ms-expand { + display: none; +} +.tox .tox-selectfield select:focus { + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-selectfield svg { + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox:not([dir=rtl]) .tox-selectfield select[size="0"], +.tox:not([dir=rtl]) .tox-selectfield select[size="1"] { + padding-right: 24px; +} +.tox:not([dir=rtl]) .tox-selectfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-selectfield select[size="0"], +.tox[dir=rtl] .tox-selectfield select[size="1"] { + padding-left: 24px; +} +.tox[dir=rtl] .tox-selectfield svg { + left: 8px; +} +.tox .tox-textarea { + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} +.tox .tox-help__more-link { + list-style: none; + margin-top: 1em; +} +.tox .tox-image-tools { + width: 100%; +} +.tox .tox-image-tools__toolbar { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-image-tools__image { + background-color: #666; + height: 380px; + overflow: auto; + position: relative; + width: 100%; +} +.tox .tox-image-tools__image, +.tox .tox-image-tools__image + .tox-image-tools__toolbar { + margin-top: 8px; +} +.tox .tox-image-tools__image-bg { + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); +} +.tox .tox-image-tools__toolbar > .tox-spacer { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-croprect-block { + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; +} +.tox .tox-croprect-handle { + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; +} +.tox .tox-croprect-handle-move { + border: 0; + cursor: move; + position: absolute; +} +.tox .tox-croprect-handle-nw { + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; +} +.tox .tox-croprect-handle-ne { + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; +} +.tox .tox-croprect-handle-sw { + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; +} +.tox .tox-croprect-handle-se { + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-left: 32px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-left: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-right: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-right: 32px; +} +.tox .tox-insert-table-picker { + display: flex; + flex-wrap: wrap; + width: 170px; +} +.tox .tox-insert-table-picker > div { + border-color: #000000; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; +} +.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { + margin: -4px 0; +} +.tox .tox-insert-table-picker .tox-insert-table-picker__selected { + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); +} +.tox .tox-insert-table-picker__label { + color: #fff; + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; +} +.tox:not([dir=rtl]) { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) { + border-right: 0; +} +.tox[dir=rtl] { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) { + border-right: 0; +} +.tox { + /* stylelint-disable */ + /* stylelint-enable */ +} +.tox .tox-menu { + background-color: #2b3b4e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; +} +.tox .tox-menu.tox-collection.tox-collection--list { + padding: 0; +} +.tox .tox-menu.tox-collection.tox-collection--toolbar { + padding: 4px; +} +.tox .tox-menu.tox-collection.tox-collection--grid { + padding: 4px; +} +.tox .tox-menu__label h1, +.tox .tox-menu__label h2, +.tox .tox-menu__label h3, +.tox .tox-menu__label h4, +.tox .tox-menu__label h5, +.tox .tox-menu__label h6, +.tox .tox-menu__label p, +.tox .tox-menu__label blockquote, +.tox .tox-menu__label code { + margin: 0; +} +.tox .tox-menubar { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; +} +.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { + border-top: 1px solid #000000; +} +/* Deprecated. Remove in next major release */ +.tox .tox-mbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; +} +.tox .tox-mbtn[disabled] { + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-mbtn:focus:not(:disabled) { + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-mbtn--active { + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-mbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-mbtn[disabled] .tox-mbtn__select-label { + cursor: not-allowed; +} +.tox .tox-mbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; +} +.tox .tox-notification { + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: -ms-grid; + display: grid; + font-size: 14px; + font-weight: normal; + -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: transform 100ms ease-in, opacity 150ms ease-in; +} +.tox .tox-notification p { + font-size: 14px; + font-weight: normal; +} +.tox .tox-notification a { + text-decoration: underline; +} +.tox .tox-notification--in { + opacity: 1; +} +.tox .tox-notification--success { + background-color: #e4eeda; + border-color: #d7e6c8; + color: #fff; +} +.tox .tox-notification--success p { + color: #fff; +} +.tox .tox-notification--success a { + color: #547831; +} +.tox .tox-notification--success svg { + fill: #fff; +} +.tox .tox-notification--error { + background-color: #f8dede; + border-color: #f2bfbf; + color: #fff; +} +.tox .tox-notification--error p { + color: #fff; +} +.tox .tox-notification--error a { + color: #c00; +} +.tox .tox-notification--error svg { + fill: #fff; +} +.tox .tox-notification--warn, +.tox .tox-notification--warning { + background-color: #fffaea; + border-color: #ffe89d; + color: #fff; +} +.tox .tox-notification--warn p, +.tox .tox-notification--warning p { + color: #fff; +} +.tox .tox-notification--warn a, +.tox .tox-notification--warning a { + color: #fff; +} +.tox .tox-notification--warn svg, +.tox .tox-notification--warning svg { + fill: #fff; +} +.tox .tox-notification--info { + background-color: #d9edf7; + border-color: #779ecb; + color: #fff; +} +.tox .tox-notification--info p { + color: #fff; +} +.tox .tox-notification--info a { + color: #fff; +} +.tox .tox-notification--info svg { + fill: #fff; +} +.tox .tox-notification__body { + -ms-grid-row-align: center; + align-self: center; + color: #fff; + font-size: 14px; + -ms-grid-column-span: 1; + grid-column-end: 3; + -ms-grid-column: 2; + grid-column-start: 2; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; +} +.tox .tox-notification__body > * { + margin: 0; +} +.tox .tox-notification__body > * + * { + margin-top: 1rem; +} +.tox .tox-notification__icon { + -ms-grid-row-align: center; + align-self: center; + -ms-grid-column-span: 1; + grid-column-end: 2; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification__icon svg { + display: block; +} +.tox .tox-notification__dismiss { + -ms-grid-row-align: start; + align-self: start; + -ms-grid-column-span: 1; + grid-column-end: 4; + -ms-grid-column: 3; + grid-column-start: 3; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification .tox-progress-bar { + -ms-grid-column-span: 3; + grid-column-end: 4; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 3; + -ms-grid-row: 2; + grid-row-start: 2; + -ms-grid-column-align: center; + justify-self: center; +} +.tox .tox-pop { + display: inline-block; + position: relative; +} +.tox .tox-pop--resizing { + transition: width 0.1s ease; +} +.tox .tox-pop--resizing .tox-toolbar { + flex-wrap: nowrap; +} +.tox .tox-pop__dialog { + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + min-width: 0; + overflow: hidden; +} +.tox .tox-pop__dialog > *:not(.tox-toolbar) { + margin: 4px 4px 4px 8px; +} +.tox .tox-pop__dialog .tox-toolbar { + background-color: transparent; + margin-bottom: -1px; +} +.tox .tox-pop::before, +.tox .tox-pop::after { + border-style: solid; + content: ''; + display: block; + height: 0; + position: absolute; + width: 0; +} +.tox .tox-pop.tox-pop--bottom::before, +.tox .tox-pop.tox-pop--bottom::after { + left: 50%; + top: 100%; +} +.tox .tox-pop.tox-pop--bottom::after { + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; +} +.tox .tox-pop.tox-pop--bottom::before { + border-color: #000000 transparent transparent transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--top::before, +.tox .tox-pop.tox-pop--top::after { + left: 50%; + top: 0; + transform: translateY(-100%); +} +.tox .tox-pop.tox-pop--top::after { + border-color: transparent transparent #222f3e transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; +} +.tox .tox-pop.tox-pop--top::before { + border-color: transparent transparent #000000 transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--left::before, +.tox .tox-pop.tox-pop--left::after { + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--left::after { + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -15px; +} +.tox .tox-pop.tox-pop--left::before { + border-color: transparent #000000 transparent transparent; + border-width: 10px; + margin-left: -19px; +} +.tox .tox-pop.tox-pop--right::before, +.tox .tox-pop.tox-pop--right::after { + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--right::after { + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--right::before { + border-color: transparent transparent transparent #000000; + border-width: 10px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--align-left::before, +.tox .tox-pop.tox-pop--align-left::after { + left: 20px; +} +.tox .tox-pop.tox-pop--align-right::before, +.tox .tox-pop.tox-pop--align-right::after { + left: calc(100% - 20px); +} +.tox .tox-sidebar-wrap { + display: flex; + flex-direction: row; + flex-grow: 1; + -ms-flex-preferred-size: 0; + min-height: 0; +} +.tox .tox-sidebar { + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.tox .tox-sidebar__slider { + display: flex; + overflow: hidden; +} +.tox .tox-sidebar__pane-container { + display: flex; +} +.tox .tox-sidebar__pane { + display: flex; +} +.tox .tox-sidebar--sliding-closed { + opacity: 0; +} +.tox .tox-sidebar--sliding-open { + opacity: 1; +} +.tox .tox-sidebar--sliding-growing, +.tox .tox-sidebar--sliding-shrinking { + transition: width 0.5s ease, opacity 0.5s ease; +} +.tox .tox-selector { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; +} +.tox.tox-platform-touch .tox-selector { + height: 12px; + width: 12px; +} +.tox .tox-slider { + align-items: center; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + height: 24px; + justify-content: center; + position: relative; +} +.tox .tox-slider__rail { + background-color: transparent; + border: 1px solid #000000; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; +} +.tox .tox-slider__handle { + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; +} +.tox .tox-source-code { + overflow: auto; +} +.tox .tox-spinner { + display: flex; +} +.tox .tox-spinner > div { + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(255, 255, 255, 0.5); + border-radius: 100%; + height: 8px; + width: 8px; +} +.tox .tox-spinner > div:nth-child(1) { + animation-delay: -0.32s; +} +.tox .tox-spinner > div:nth-child(2) { + animation-delay: -0.16s; +} +@keyframes tam-bouncing-dots { + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } +} +.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-spinner > div:not(:first-child) { + margin-right: 4px; +} +.tox .tox-statusbar { + align-items: center; + background-color: #222f3e; + border-top: 1px solid #000000; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; +} +.tox .tox-statusbar__text-container { + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; +} +.tox .tox-statusbar__path { + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tox .tox-statusbar__path > * { + display: inline; + white-space: nowrap; +} +.tox .tox-statusbar__wordcount { + flex: 0 0 auto; + margin-left: 1ch; +} +.tox .tox-statusbar a, +.tox .tox-statusbar__path-item, +.tox .tox-statusbar__wordcount { + color: #fff; + text-decoration: none; +} +.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) { + cursor: pointer; + text-decoration: underline; +} +.tox .tox-statusbar__resize-handle { + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-left: 1ch; +} +.tox .tox-statusbar__resize-handle svg { + display: block; + fill: #fff; +} +.tox .tox-statusbar__resize-handle:focus svg { + background-color: #4a5562; + border-radius: 1px; + box-shadow: 0 0 0 2px #4a5562; +} +.tox:not([dir=rtl]) .tox-statusbar__path > * { + margin-right: 4px; +} +.tox:not([dir=rtl]) .tox-statusbar__branding { + margin-left: 1ch; +} +.tox[dir=rtl] .tox-statusbar { + flex-direction: row-reverse; +} +.tox[dir=rtl] .tox-statusbar__path > * { + margin-left: 4px; +} +.tox .tox-throbber { + z-index: 1299; +} +.tox .tox-throbber__busy-spinner { + align-items: center; + background-color: rgba(34, 47, 62, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.tox .tox-tbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; +} +.tox .tox-tbtn svg { + display: block; + fill: #fff; +} +.tox .tox-tbtn.tox-tbtn-more { + padding-left: 5px; + padding-right: 5px; + width: inherit; +} +.tox .tox-tbtn:focus { + background: #4a5562; + border: 0; + box-shadow: none; +} +.tox .tox-tbtn:hover { + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-tbtn:hover svg { + fill: #fff; +} +.tox .tox-tbtn:active { + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-tbtn:active svg { + fill: #fff; +} +.tox .tox-tbtn--disabled, +.tox .tox-tbtn--disabled:hover, +.tox .tox-tbtn:disabled, +.tox .tox-tbtn:disabled:hover { + background: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-tbtn--disabled svg, +.tox .tox-tbtn--disabled:hover svg, +.tox .tox-tbtn:disabled svg, +.tox .tox-tbtn:disabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-tbtn--enabled, +.tox .tox-tbtn--enabled:hover { + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-tbtn--enabled > *, +.tox .tox-tbtn--enabled:hover > * { + transform: none; +} +.tox .tox-tbtn--enabled svg, +.tox .tox-tbtn--enabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: #fff; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { + color: #fff; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { + fill: #fff; +} +.tox .tox-tbtn:active > * { + transform: none; +} +.tox .tox-tbtn--md { + height: 51px; + width: 51px; +} +.tox .tox-tbtn--lg { + flex-direction: column; + height: 68px; + width: 68px; +} +.tox .tox-tbtn--return { + -ms-grid-row-align: stretch; + align-self: stretch; + height: unset; + width: 16px; +} +.tox .tox-tbtn--labeled { + padding: 0 4px; + width: unset; +} +.tox .tox-tbtn__vlabel { + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; +} +.tox .tox-tbtn--select { + margin: 2px 0 3px 0; + padding: 0 4px; + width: auto; +} +.tox .tox-tbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-tbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-tbtn__select-chevron svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-tbtn--bespoke .tox-tbtn__select-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; +} +.tox .tox-split-button { + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 2px 0 3px 0; + overflow: hidden; +} +.tox .tox-split-button:hover { + box-shadow: 0 0 0 1px #4a5562 inset; +} +.tox .tox-split-button:focus { + background: #4a5562; + box-shadow: none; + color: #fff; +} +.tox .tox-split-button > * { + border-radius: 0; +} +.tox .tox-split-button__chevron { + width: 16px; +} +.tox .tox-split-button__chevron svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-split-button .tox-tbtn { + margin: 0; +} +.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child { + width: 30px; +} +.tox.tox-platform-touch .tox-split-button__chevron { + width: 20px; +} +.tox .tox-split-button.tox-tbtn--disabled:hover, +.tox .tox-split-button.tox-tbtn--disabled:focus, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { + background: transparent; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); +} +.tox .tox-toolbar-overlord { + background-color: #222f3e; +} +.tox .tox-toolbar, +.tox .tox-toolbar__primary, +.tox .tox-toolbar__overflow { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; +} +.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; +} +.tox .tox-toolbar__overflow--growing { + transition: height 0.3s ease, opacity 0.2s linear 0.1s; +} +.tox .tox-toolbar__overflow--shrinking { + transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; +} +.tox .tox-menubar + .tox-toolbar, +.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { + border-top: 1px solid #000000; + margin-top: -1px; +} +.tox .tox-toolbar--scrolling { + flex-wrap: nowrap; + overflow-x: auto; +} +.tox .tox-pop .tox-toolbar { + border-width: 0; +} +.tox .tox-toolbar--no-divider { + background-image: none; +} +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child, +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary { + border-top: 1px solid #000000; +} +.tox.tox-tinymce-aux .tox-toolbar__overflow { + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); +} +.tox[dir=rtl] .tox-tbtn__icon-rtl svg { + transform: rotateY(180deg); +} +.tox .tox-toolbar__group { + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; +} +.tox .tox-toolbar__group--pull-right { + margin-left: auto; +} +.tox .tox-toolbar--scrolling .tox-toolbar__group { + flex-shrink: 0; + flex-wrap: nowrap; +} +.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) { + border-right: 1px solid #000000; +} +.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) { + border-left: 1px solid #000000; +} +.tox .tox-tooltip { + display: inline-block; + padding: 8px; + position: relative; +} +.tox .tox-tooltip__body { + background-color: #3d546f; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; +} +.tox .tox-tooltip__arrow { + position: absolute; +} +.tox .tox-tooltip--down .tox-tooltip__arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #3d546f; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); +} +.tox .tox-tooltip--up .tox-tooltip__arrow { + border-bottom: 8px solid #3d546f; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); +} +.tox .tox-tooltip--right .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-left: 8px solid #3d546f; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-tooltip--left .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-right: 8px solid #3d546f; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-well { + border: 1px solid #000000; + border-radius: 3px; + padding: 8px; + width: 100%; +} +.tox .tox-well > *:first-child { + margin-top: 0; +} +.tox .tox-well > *:last-child { + margin-bottom: 0; +} +.tox .tox-well > *:only-child { + margin: 0; +} +.tox .tox-custom-editor { + border: 1px solid #000000; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; +} +/* stylelint-disable */ +.tox { + /* stylelint-enable */ +} +.tox .tox-dialog-loading::before { + background-color: rgba(0, 0, 0, 0.5); + content: ""; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; +} +.tox .tox-tab { + cursor: pointer; +} +.tox .tox-dialog__content-js { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-content .tox-collection { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-image-tools-edit-panel { + height: 60px; +} +.tox .tox-image-tools__sidebar { + height: 60px; +} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.min.css b/public/tinymce/skins/ui/oxide-dark/skin.min.css new file mode 100644 index 0000000..8d4e9ec --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox{box-shadow:none;box-sizing:content-box;color:#2a3746;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #000;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #000;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #000;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#000;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.5);border-color:#207ab7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.5);border-color:rgba(255,165,0,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.8)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.5);border-color:rgba(204,0,0,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.8)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.5);border-color:rgba(120,171,70,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.8)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#3d546f;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#3d546f;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#fff;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#3d546f;background-image:none;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:hover:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:active:not(:disabled){background-color:#2b3b4e;background-image:none;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#fff}.tox .tox-button--naked[disabled]{background-color:#3d546f;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:focus:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:active:not(:disabled){background-color:#2b3b4e;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#fff}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(255,255,255,.2)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(255,255,255,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#1a1a1a;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#333;color:#fff;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#fff;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#2b3b4e;color:#fff}.tox .tox-collection--list .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#4a5562;color:#fff}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(255,255,255,.5);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#fff}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#2b3b4e;border:1px solid #1a1a1a;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #000}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #000}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg{transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#4a5562}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#2b3b4e;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#fff;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(255,255,255,.5);font-size:12px}.tox .tox-comment__body{color:#fff;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(255,255,255,.5);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#2b3b4e;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(43,59,78,0),#2b3b4e);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#2b3b4e;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#2b3b4e;box-shadow:0 0 8px 8px #2b3b4e;color:#fff;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#2b3b4e;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(255,255,255,.5)}.tox .tox-user__name{color:rgba(255,255,255,.5);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(34,47,62,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#222f3e}.tox .tox-dialog{background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(42,55,70,.15),0 0 40px 1px rgba(42,55,70,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#2b3b4e;border-bottom:none;color:#fff;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#fff;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(255,255,255,.5);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#fff}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#fff;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#fff;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#2b3b4e;border-top:1px solid #000;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(34,47,62,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #000}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #000;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(255,255,255,.5);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #000}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(42,55,70,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #2b3b4e;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(255,255,255,.5);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#222f3e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#fff}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#fff}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#000;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:#fff;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #000}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn--active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#fff}.tox .tox-notification--success p{color:#fff}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#fff}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#fff}.tox .tox-notification--error p{color:#fff}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#fff}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#fff}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#fff}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#fff}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#fff}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#fff}.tox .tox-notification--info p{color:#fff}.tox .tox-notification--info a{color:#fff}.tox .tox-notification--info svg{fill:#fff}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#fff;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar{flex-wrap:nowrap}.tox .tox-pop__dialog{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#222f3e transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#000 transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #222f3e transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #000 transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #222f3e transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #000 transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #222f3e;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #000;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#222f3e;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #000;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(255,255,255,.5);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#222f3e;border-top:1px solid #000;color:#fff;display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#fff;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:#fff}.tox .tox-statusbar__resize-handle:focus svg{background-color:#4a5562;border-radius:1px;box-shadow:0 0 0 2px #4a5562}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(34,47,62,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#fff}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#4a5562;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:hover svg{fill:#fff}.tox .tox-tbtn:active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:active svg{fill:#fff}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#fff}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #4a5562 inset}.tox .tox-split-button:focus{background:#4a5562;box-shadow:none;color:#fff}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-toolbar-overlord{background-color:#222f3e}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #000;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #000}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox[dir=rtl] .tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #000}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #000}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#3d546f;border-radius:3px;box-shadow:0 2px 4px rgba(42,55,70,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #3d546f;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #3d546f;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #3d546f;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #3d546f;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #000;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #000;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.mobile.css b/public/tinymce/skins/ui/oxide-dark/skin.mobile.css new file mode 100644 index 0000000..875721a --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.mobile.css @@ -0,0 +1,673 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +/* RESET all the things! */ +.tinymce-mobile-outer-container { + all: initial; + display: block; +} +.tinymce-mobile-outer-container * { + border: 0; + box-sizing: initial; + cursor: inherit; + float: none; + line-height: 1; + margin: 0; + outline: 0; + padding: 0; + -webkit-tap-highlight-color: transparent; + /* TBIO-3691, stop the gray flicker on touch. */ + text-shadow: none; + white-space: nowrap; +} +.tinymce-mobile-icon-arrow-back::before { + content: "\e5cd"; +} +.tinymce-mobile-icon-image::before { + content: "\e412"; +} +.tinymce-mobile-icon-cancel-circle::before { + content: "\e5c9"; +} +.tinymce-mobile-icon-full-dot::before { + content: "\e061"; +} +.tinymce-mobile-icon-align-center::before { + content: "\e234"; +} +.tinymce-mobile-icon-align-left::before { + content: "\e236"; +} +.tinymce-mobile-icon-align-right::before { + content: "\e237"; +} +.tinymce-mobile-icon-bold::before { + content: "\e238"; +} +.tinymce-mobile-icon-italic::before { + content: "\e23f"; +} +.tinymce-mobile-icon-unordered-list::before { + content: "\e241"; +} +.tinymce-mobile-icon-ordered-list::before { + content: "\e242"; +} +.tinymce-mobile-icon-font-size::before { + content: "\e245"; +} +.tinymce-mobile-icon-underline::before { + content: "\e249"; +} +.tinymce-mobile-icon-link::before { + content: "\e157"; +} +.tinymce-mobile-icon-unlink::before { + content: "\eca2"; +} +.tinymce-mobile-icon-color::before { + content: "\e891"; +} +.tinymce-mobile-icon-previous::before { + content: "\e314"; +} +.tinymce-mobile-icon-next::before { + content: "\e315"; +} +.tinymce-mobile-icon-large-font::before, +.tinymce-mobile-icon-style-formats::before { + content: "\e264"; +} +.tinymce-mobile-icon-undo::before { + content: "\e166"; +} +.tinymce-mobile-icon-redo::before { + content: "\e15a"; +} +.tinymce-mobile-icon-removeformat::before { + content: "\e239"; +} +.tinymce-mobile-icon-small-font::before { + content: "\e906"; +} +.tinymce-mobile-icon-readonly-back::before, +.tinymce-mobile-format-matches::after { + content: "\e5ca"; +} +.tinymce-mobile-icon-small-heading::before { + content: "small"; +} +.tinymce-mobile-icon-large-heading::before { + content: "large"; +} +.tinymce-mobile-icon-small-heading::before, +.tinymce-mobile-icon-large-heading::before { + font-family: sans-serif; + font-size: 80%; +} +.tinymce-mobile-mask-edit-icon::before { + content: "\e254"; +} +.tinymce-mobile-icon-back::before { + content: "\e5c4"; +} +.tinymce-mobile-icon-heading::before { + /* TODO: Translate */ + content: "Headings"; + font-family: sans-serif; + font-size: 80%; + font-weight: bold; +} +.tinymce-mobile-icon-h1::before { + content: "H1"; + font-weight: bold; +} +.tinymce-mobile-icon-h2::before { + content: "H2"; + font-weight: bold; +} +.tinymce-mobile-icon-h3::before { + content: "H3"; + font-weight: bold; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { + align-items: center; + display: flex; + justify-content: center; + background: rgba(51, 51, 51, 0.5); + height: 100%; + position: absolute; + top: 0; + width: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { + align-items: center; + border-radius: 50%; + display: flex; + flex-direction: column; + font-family: sans-serif; + font-size: 1em; + justify-content: space-between; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + align-items: center; + display: flex; + justify-content: center; + flex-direction: column; + font-size: 1em; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; + background-color: white; + color: #207ab7; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { + content: "\e900"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { + z-index: 2; +} +.tinymce-mobile-android-container.tinymce-mobile-android-maximized { + background: #ffffff; + border: none; + bottom: 0; + display: flex; + flex-direction: column; + left: 0; + position: fixed; + right: 0; + top: 0; +} +.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { + position: relative; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket { + display: flex; + flex-grow: 1; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { + display: flex !important; + flex-grow: 1; + height: auto !important; +} +.tinymce-mobile-android-scroll-reload { + overflow: hidden; +} +:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { + margin-top: 23px; +} +.tinymce-mobile-toolstrip { + background: #fff; + display: flex; + flex: 0 0 auto; + z-index: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { + align-items: center; + background-color: #fff; + border-bottom: 1px solid #cccccc; + display: flex; + flex: 1; + height: 2.5em; + width: 100%; + /* Make it no larger than the toolstrip, so that it needs to scroll */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex-shrink: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { + background: #f44336; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { + flex-grow: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { + align-items: center; + display: flex; + height: 80%; + margin-left: 2px; + margin-right: 2px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { + background: #c8cbcf; + color: #cccccc; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { + background: #207ab7; + color: #eceff1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { + /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex: 1; + padding-bottom: 0.4em; + padding-top: 0.4em; + /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ + /* For widgets like the colour picker, use the whole height */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { + display: flex; + min-height: 1.5em; + overflow: hidden; + padding-left: 0; + padding-right: 0; + position: relative; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { + display: flex; + height: 100%; + transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { + display: flex; + flex: 0 0 auto; + justify-content: space-between; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { + font-family: Sans-serif; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { + display: flex; + flex-grow: 1; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { + -ms-grid-row-align: center; + align-self: center; + background: inherit; + border: none; + border-radius: 50%; + color: #888; + font-size: 0.6em; + font-weight: bold; + height: 100%; + padding-right: 2px; + position: absolute; + right: 0; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { + display: none; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { + align-items: center; + display: flex; + font-weight: bold; + height: 100%; + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { + visibility: hidden; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { + color: #cccccc; + font-size: 10px; + line-height: 10px; + margin: 0 2px; + padding-top: 3px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { + color: #c8cbcf; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { + margin-left: 0.5em; + margin-right: 0.9em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { + margin-left: 0.9em; + margin-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { + display: flex; + flex: 1; + margin-left: 0; + margin-right: 0; + padding: 0.28em 0; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { + background: #cccccc; + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { + padding-left: 2em; + padding-right: 2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { + background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { + /* Not part of theming */ + background: black; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { + /* Not part of theming */ + background: white; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { + /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave + * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is + * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without + * this approach. + */ + align-items: center; + background-clip: padding-box; + background-color: #455a64; + border: 0.5em solid rgba(136, 136, 136, 0); + border-radius: 3em; + bottom: 0; + color: #fff; + display: flex; + height: 0.5em; + justify-content: center; + left: -10px; + margin: auto; + position: absolute; + top: 0; + transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); + width: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { + border: 0.5em solid rgba(136, 136, 136, 0.39); +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { + flex-direction: column; + justify-content: center; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { + background: #ffffff; + border: none; + border-radius: 0; + color: #455a64; + flex-grow: 1; + font-size: 0.85em; + padding-bottom: 0.1em; + padding-left: 5px; + padding-top: 0.1em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +/* dropup */ +.tinymce-mobile-dropup { + background: white; + display: flex; + overflow: hidden; + width: 100%; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { + transition: height 0.3s ease-out; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { + transition: height 0.3s ease-in; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { + flex-grow: 0; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { + flex-grow: 1; +} +/* TODO min-height for device size and orientation */ +.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; +} +@media only screen and (orientation: landscape) { + .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; + } +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 150px; + } +} +/* styles menu */ +.tinymce-mobile-styles-menu { + font-family: sans-serif; + outline: 4px solid black; + overflow: hidden; + position: relative; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"] { + display: flex; + flex-direction: column; + height: 100%; + position: absolute; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"].transitioning { + transition: transform 0.5s ease-in-out; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { + border-bottom: 1px solid #ddd; + color: #455a64; + cursor: pointer; + display: flex; + padding: 1em 1em; + position: relative; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { + color: #455a64; + content: "\e314"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { + color: #455a64; + content: "\e315"; + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { + align-items: center; + background: #fff; + border-top: #455a64; + color: #455a64; + display: flex; + min-height: 2.5em; + padding-left: 1em; + padding-right: 1em; +} +.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="before"] { + transform: translate(-100%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="current"] { + transform: translate(0%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="after"] { + transform: translate(100%); +} +@font-face { + font-family: 'tinymce-mobile'; + font-style: normal; + font-weight: normal; + src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); +} +@media (min-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 25px; + } +} +@media (max-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 18px; + } +} +.tinymce-mobile-icon { + font-family: 'tinymce-mobile', sans-serif; +} +.mixin-flex-and-centre { + align-items: center; + display: flex; + justify-content: center; +} +.mixin-flex-bar { + align-items: center; + display: flex; + height: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { + background-color: #fff; + width: 100%; +} +.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ + background-color: #207ab7; + border-radius: 50%; + bottom: 1em; + color: white; + font-size: 1em; + height: 2.1em; + position: fixed; + right: 2em; + width: 2.1em; + align-items: center; + display: flex; + justify-content: center; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { + height: 300px; + overflow: hidden; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { + height: 100%; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { + display: none; +} +/* + Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets + increased and the whole body becomes scrollable. It's important! + */ +input[type="file"]::-webkit-file-upload-button { + display: none; +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + bottom: 50%; + } +} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css b/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css new file mode 100644 index 0000000..3a45cac --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css new file mode 100644 index 0000000..715978b --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css @@ -0,0 +1,37 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css new file mode 100644 index 0000000..9ba6e02 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} diff --git a/public/tinymce/skins/ui/oxide/content.css b/public/tinymce/skins/ui/oxide/content.css new file mode 100644 index 0000000..efae400 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.css @@ -0,0 +1,732 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide/content.inline.css b/public/tinymce/skins/ui/oxide/content.inline.css new file mode 100644 index 0000000..df6ed08 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.inline.css @@ -0,0 +1,726 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} diff --git a/public/tinymce/skins/ui/oxide/content.inline.min.css b/public/tinymce/skins/ui/oxide/content.inline.min.css new file mode 100644 index 0000000..0a3d965 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.inline.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} diff --git a/public/tinymce/skins/ui/oxide/content.min.css b/public/tinymce/skins/ui/oxide/content.min.css new file mode 100644 index 0000000..40b3378 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide/content.mobile.css b/public/tinymce/skins/ui/oxide/content.mobile.css new file mode 100644 index 0000000..4bdb8ba --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.mobile.css @@ -0,0 +1,29 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { + /* Note: this file is used inside the content, so isn't part of theming */ + background-color: green; + display: inline-block; + opacity: 0.5; + position: absolute; +} +body { + -webkit-text-size-adjust: none; +} +body img { + /* this is related to the content margin */ + max-width: 96vw; +} +body table img { + max-width: 95%; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide/content.mobile.min.css b/public/tinymce/skins/ui/oxide/content.mobile.min.css new file mode 100644 index 0000000..35f7dc0 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff b/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff new file mode 100644 index 0000000000000000000000000000000000000000..1e3be038a607cb7c2544ed8ae3d6621f77bf4c38 GIT binary patch literal 4624 zcmb7IeQaFC5#QN&AGUL{efE7g{=BM1W-|RaVdWQe^e?BC`eGz4^i8S3PQw?Hhd_eQHxTkckXZB zdzU((wCVGko!Qyh+1c6InRotvZ%+>+hNrBQtrFOI4t*}DZ$7=>Sr=uD3c$ZlKuKBQ z8~ervCczs9SOk2!>AAqrz+v$CC}f1JfYPDSqx->|V$6{ekbe8M#Bh3Gkg?)-Fdi3B zeB$}UFqn*$pv&q7*net~hsUOlfG7Ho2zaowY%JPRytMvu{&xRPm(h_~w##F>vqE&a5-ssH##mlfAk}44^ zXRJKd!Ifw&ce{$Y9BAg5c>e>p_Z;t!=P{izddGWie?aHLdKL3Cn9rG=d2vt;esWqH zoD}uAoi3Z~4+LABvADt+so4~t%VlyIJ{O3tm$NC+(!yenQD%NVr*btG$T3+_WX=LH z#1M2ZNEtrO+-x;l2i>M^5o%GQ@s?N+gw*19H@G~vl3Q5Zf*t6jjW0GOTmAmlWYgSS zJeiEo%~LA-FW|YAd_Em$OE#@dw)y*#@p!UtnWa);V1HY3ZBw!>(3gY{iFFa_c6iW9 zIQ@xck^{xu9_o;UyQH#ba@y?L$xW?8J35?$p1z46ZjIctZ8QCKCa29bMC1-t@pT>S zTUT1WMjQz-75d)5zJxv~@Yd)bY)ejQBx_XQiaMJ z>$5`NO3?L*ND{UQeF8%xl)$_>w9tmQpfEebzedazFeh#~d}suN+vzsqLiW~@TLhoe zk1%xEcxP2ZL)FuoXeYzb-J5goljDxPL2@@#RW)d&X#&6QO5U=04_628@ONSvtgpha zDqqmoVep`A4<+PK$V>K+T}}{8Rj+Q|UAzCtl!Fh)uXJg{x$}HMJH7LcBLzj-r{h;< zzote8Id%pcAyE;87D<8glyaFeq#k)OEDB%yA ze%CeZ!?4TEs#pj+%14DBZHn8jxaF2as6}p3+!6p-&@I>5lbP3&N$svcIF-`0R5(o2 zh7la++|;-euckH44a4BAwB++#-cZ z)kFyC=eUS-4D0t}H8LdZY!JD^sW@F85io)%=8HU)ouhEeo-K_dJ3BV+8fo0JXIjlP zZt0H`0=Yv~I|PpRZ)r5_iAYmY9V=wT@BsoN9<3vftB|}TOH;|yNk_e7(2-?y{&cSK zG=E5Nz^Ko4>KxcbY!Q13!=HBS$lM96_+0y3M1yWTAt2u5C;6MWMXbRN?RI{$eHnAx z&t=-PSjZ>Qe2V2-YGs1YWemAq zVHdG{9V$QvsY~Cgq-L*PZqMPGv|px$)K~3<%+fBtG{oIRPL_7ye$-(`C=tS)^xC}% zue73qiF&{nXJ*>-@668G!`IrAeB;ad09shzt{O?7omLE_X@H|#ozGt&64 zb-&_lLkZI8TzigPZvUr=4g2-8M6M8b9EQLgoPswYg)d)j&%gZHJO!2>(?;I*8d>aG z#oS295Kcq{uD4R2@VEG($}WWiF-6YK)kjqks%o_U{CIAVX2;tX7o|unkew5?Gn3(| zOePS^{$(;Xi4ph;`KO#;k+vaLt8n5@doi+OEvH&?*+3(WgqkT9-$b0fTHm;)r=NmR zJnJ9o>UvNR(JMoIdRBf{%kd}jmZ)b)#4>dnDfq0G(?~S%d zv50QeMR$Kzd*S$AEXdp5Fhqe0Pz zZ!oS2e!i-tWEJ2^YoVo}V7S0tV7CujimbVJtVNb#yB&<-f&xpSb@m2=wBZ|qU-_^; z?C{lk+;tlxk&Sh3Pwh(D7~kNh`O=~TMWuRUu^0=9)`CYEVwhvGWUt4Wd3`6*H)Zs>LLYQcC#*~B78EfTt7RQ*l)b{v zqntLNsC`h&zZCY{x*}gfPU4at;nfileU3>zeyLdO7;;lFIft~ zsm6#wb5Jjtv;_VxleU0<%cQON-O*ywHt`@C4fn-Y83}=|hJPOpN>1H%C#7)9etg_yG)$ div { + padding-bottom: 4px; +} +.tox .accessibility-issue__description > div > div { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description > *:last-child:not(:only-child) { + border-color: #cccccc; + border-style: solid; +} +.tox .accessibility-issue__repair { + margin-top: 16px; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { + background-color: rgba(32, 122, 183, 0.1); + border-color: rgba(32, 122, 183, 0.4); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { + border-color: rgba(32, 122, 183, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { + color: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { + fill: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { + color: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { + border-color: rgba(255, 165, 0, 0.5); +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { + color: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { + fill: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { + color: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { + background-color: rgba(204, 0, 0, 0.1); + border-color: rgba(204, 0, 0, 0.4); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { + border-color: rgba(204, 0, 0, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { + color: #c00; +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { + fill: #c00; +} +.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { + color: #c00; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { + background-color: rgba(120, 171, 70, 0.1); + border-color: rgba(120, 171, 70, 0.4); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { + border-color: rgba(120, 171, 70, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { + color: #78AB46; +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { + fill: #78AB46; +} +.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { + color: #78AB46; +} +.tox .tox-dialog__body-content .accessibility-issue__header h1, +.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { + margin-top: 0; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-left: auto; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 4px 4px 8px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-left-width: 1px; + padding-left: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-right: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-right: auto; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 8px 4px 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-right-width: 1px; + padding-right: 4px; +} +.tox .tox-anchorbar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-bar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-button { + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; +} +.tox .tox-button[disabled] { + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-button:focus:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:hover:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:active:not(:disabled) { + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary { + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; +} +.tox .tox-button--secondary[disabled] { + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-button--secondary:focus:not(:disabled) { + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--secondary:hover:not(:disabled) { + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--secondary:active:not(:disabled) { + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--icon, +.tox .tox-button.tox-button--icon, +.tox .tox-button.tox-button--secondary.tox-button--icon { + padding: 4px; +} +.tox .tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { + display: block; + fill: currentColor; +} +.tox .tox-button-link { + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; +} +.tox .tox-button-link--sm { + font-size: 14px; +} +.tox .tox-button--naked { + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; +} +.tox .tox-button--naked[disabled] { + background-color: #f0f0f0; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-button--naked:hover:not(:disabled) { + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked:focus:not(:disabled) { + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked:active:not(:disabled) { + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked .tox-icon svg { + fill: currentColor; +} +.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { + color: #222f3e; +} +.tox .tox-checkbox { + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; +} +.tox .tox-checkbox__input { + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; +} +.tox .tox-checkbox__icons { + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: block; + fill: rgba(34, 47, 62, 0.3); +} +.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox--disabled { + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: block; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: block; +} +.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); +} +.tox:not([dir=rtl]) .tox-checkbox__label { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-checkbox__input { + left: -10000px; +} +.tox:not([dir=rtl]) .tox-bar .tox-checkbox { + margin-left: 4px; +} +.tox[dir=rtl] .tox-checkbox__label { + margin-right: 4px; +} +.tox[dir=rtl] .tox-checkbox__input { + right: -10000px; +} +.tox[dir=rtl] .tox-bar .tox-checkbox { + margin-right: 4px; +} +.tox { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox .tox-collection--toolbar .tox-collection__group { + display: flex; + padding: 0; +} +.tox .tox-collection--grid .tox-collection__group { + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} +.tox .tox-collection--list .tox-collection__group { + border-bottom-width: 0; + border-color: #cccccc; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; +} +.tox .tox-collection--list .tox-collection__group:first-child { + border-top-width: 0; +} +.tox .tox-collection__group-heading { + background-color: #e6e6e6; + color: rgba(34, 47, 62, 0.7); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item { + align-items: center; + color: #222f3e; + cursor: pointer; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection--list .tox-collection__item { + padding: 4px 8px; +} +.tox .tox-collection--toolbar .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--grid .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--list .tox-collection__item--enabled { + background-color: #fff; + color: #222f3e; +} +.tox .tox-collection--list .tox-collection__item--active { + background-color: #dee0e2; +} +.tox .tox-collection--toolbar .tox-collection__item--enabled { + background-color: #c8cbcf; + color: #222f3e; +} +.tox .tox-collection--toolbar .tox-collection__item--active { + background-color: #dee0e2; +} +.tox .tox-collection--grid .tox-collection__item--enabled { + background-color: #c8cbcf; + color: #222f3e; +} +.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + background-color: #dee0e2; + color: #222f3e; +} +.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #222f3e; +} +.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #222f3e; +} +.tox .tox-collection__item--state-disabled { + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-collection__item-icon, +.tox .tox-collection__item-checkmark { + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; +} +.tox .tox-collection__item-icon svg, +.tox .tox-collection__item-checkmark svg { + fill: currentColor; +} +.tox .tox-collection--toolbar-lg .tox-collection__item-icon { + height: 48px; + width: 48px; +} +.tox .tox-collection__item-label { + color: currentColor; + display: inline-block; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; +} +.tox .tox-collection__item-accessory { + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; +} +.tox .tox-collection__item-caret { + align-items: center; + display: flex; + min-height: 24px; +} +.tox .tox-collection__item-caret::after { + content: ''; + font-size: 0; + min-height: inherit; +} +.tox .tox-collection__item-caret svg { + fill: #222f3e; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark { + display: none; +} +.tox .tox-collection--horizontal { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; +} +.tox .tox-collection--horizontal .tox-collection__group { + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item { + height: 34px; + margin: 2px 0 3px 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item-label { + white-space: nowrap; +} +.tox .tox-collection--horizontal .tox-collection__item-caret { + margin-left: 4px; +} +.tox .tox-collection__item-container { + display: flex; +} +.tox .tox-collection__item-container--row { + align-items: center; + flex: 1 1 auto; + flex-direction: row; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-left { + margin-right: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-right { + justify-content: flex-end; + margin-left: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { + align-items: flex-start; + margin-bottom: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { + align-items: center; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { + align-items: flex-end; + margin-top: auto; +} +.tox .tox-collection__item-container--column { + -ms-grid-row-align: center; + align-self: center; + flex: 1 1 auto; + flex-direction: column; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-left { + align-items: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-right { + align-items: flex-end; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { + align-self: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { + -ms-grid-row-align: center; + align-self: center; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { + align-self: flex-end; +} +.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-right: 1px solid #cccccc; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-collection__item-accessory { + margin-left: 16px; + text-align: right; +} +.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret { + margin-left: 16px; +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-left: 1px solid #cccccc; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-right: 4px; +} +.tox[dir=rtl] .tox-collection__item-icon-rtl { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg { + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection__item-accessory { + margin-right: 16px; + text-align: left; +} +.tox[dir=rtl] .tox-collection .tox-collection__item-caret { + margin-right: 16px; + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret { + margin-right: 4px; +} +.tox .tox-color-picker-container { + display: flex; + flex-direction: row; + height: 225px; + margin: 0; +} +.tox .tox-sv-palette { + box-sizing: border-box; + display: flex; + height: 100%; +} +.tox .tox-sv-palette-spectrum { + height: 100%; +} +.tox .tox-sv-palette, +.tox .tox-sv-palette-spectrum { + width: 225px; +} +.tox .tox-sv-palette-thumb { + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; +} +.tox .tox-sv-palette-inner-thumb { + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; +} +.tox .tox-hue-slider { + box-sizing: border-box; + height: 100%; + width: 25px; +} +.tox .tox-hue-slider-spectrum { + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; +} +.tox .tox-hue-slider, +.tox .tox-hue-slider-spectrum { + width: 20px; +} +.tox .tox-hue-slider-thumb { + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; +} +.tox .tox-rgb-form { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.tox .tox-rgb-form div { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; +} +.tox .tox-rgb-form input { + width: 6em; +} +.tox .tox-rgb-form input.tox-invalid { + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; +} +.tox .tox-rgb-form .tox-rgba-preview { + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; +} +.tox:not([dir=rtl]) .tox-sv-palette { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider-thumb { + margin-left: -1px; +} +.tox:not([dir=rtl]) .tox-rgb-form label { + margin-right: 0.5em; +} +.tox[dir=rtl] .tox-sv-palette { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider-thumb { + margin-right: -1px; +} +.tox[dir=rtl] .tox-rgb-form label { + margin-left: 0.5em; +} +.tox .tox-toolbar .tox-swatches, +.tox .tox-toolbar__primary .tox-swatches, +.tox .tox-toolbar__overflow .tox-swatches { + margin: 2px 0 3px 4px; +} +.tox .tox-collection--list .tox-collection__group .tox-swatches-menu { + border: 0; + margin: -4px 0; +} +.tox .tox-swatches__row { + display: flex; +} +.tox .tox-swatch { + height: 30px; + transition: transform 0.15s, box-shadow 0.15s; + width: 30px; +} +.tox .tox-swatch:hover, +.tox .tox-swatch:focus { + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); +} +.tox .tox-swatch--remove { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-swatch--remove svg path { + stroke: #e74c3c; +} +.tox .tox-swatches__picker-btn { + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; +} +.tox .tox-swatches__picker-btn svg { + height: 24px; + width: 24px; +} +.tox .tox-swatches__picker-btn:hover { + background: #dee0e2; +} +.tox:not([dir=rtl]) .tox-swatches__picker-btn { + margin-left: auto; +} +.tox[dir=rtl] .tox-swatches__picker-btn { + margin-right: auto; +} +.tox .tox-comment-thread { + background: #fff; + position: relative; +} +.tox .tox-comment-thread > *:not(:first-child) { + margin-top: 8px; +} +.tox .tox-comment { + background: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; +} +.tox .tox-comment__header { + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; +} +.tox .tox-comment__date { + color: rgba(34, 47, 62, 0.7); + font-size: 12px; +} +.tox .tox-comment__body { + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; +} +.tox .tox-comment__body textarea { + resize: none; + white-space: normal; + width: 100%; +} +.tox .tox-comment__expander { + padding-top: 8px; +} +.tox .tox-comment__expander p { + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; +} +.tox .tox-comment__body p { + margin: 0; +} +.tox .tox-comment__buttonspacing { + padding-top: 16px; + text-align: center; +} +.tox .tox-comment-thread__overlay::after { + background: #fff; + bottom: 0; + content: ""; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; +} +.tox .tox-comment__reply { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; +} +.tox .tox-comment__reply > *:first-child { + margin-bottom: 8px; + width: 100%; +} +.tox .tox-comment__edit { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; +} +.tox .tox-comment__gradient::after { + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ""; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; +} +.tox .tox-comment__overlay { + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; +} +.tox .tox-comment__loading-text { + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; +} +.tox .tox-comment__loading-text > div { + padding-bottom: 16px; +} +.tox .tox-comment__overlaytext { + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; +} +.tox .tox-comment__overlaytext p { + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; +} +.tox .tox-comment__overlaytext div:nth-of-type(2) { + font-size: 0.8em; +} +.tox .tox-comment__busy-spinner { + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; +} +.tox .tox-comment__scroll { + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; +} +.tox .tox-conversations { + margin: 8px; +} +.tox:not([dir=rtl]) .tox-comment__edit { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child, +.tox:not([dir=rtl]) .tox-comment__edit > *:last-child, +.tox:not([dir=rtl]) .tox-comment__reply > *:last-child { + margin-left: 8px; +} +.tox[dir=rtl] .tox-comment__edit { + margin-right: 8px; +} +.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child, +.tox[dir=rtl] .tox-comment__edit > *:last-child, +.tox[dir=rtl] .tox-comment__reply > *:last-child { + margin-right: 8px; +} +.tox .tox-user { + align-items: center; + display: flex; +} +.tox .tox-user__avatar svg { + fill: rgba(34, 47, 62, 0.7); +} +.tox .tox-user__name { + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; +} +.tox:not([dir=rtl]) .tox-user__avatar svg { + margin-right: 8px; +} +.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar svg { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar + .tox-user__name { + margin-right: 8px; +} +.tox .tox-dialog-wrap { + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; +} +.tox .tox-dialog-wrap__backdrop { + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.tox .tox-dialog-wrap__backdrop--opaque { + background-color: #fff; +} +.tox .tox-dialog { + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } +} +.tox .tox-dialog-inline { + z-index: 1100; +} +.tox .tox-dialog__header { + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; +} +.tox .tox-dialog__header .tox-button { + z-index: 1; +} +.tox .tox-dialog__draghandle { + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tox .tox-dialog__draghandle:active { + cursor: grabbing; +} +.tox .tox-dialog__dismiss { + margin-left: auto; +} +.tox .tox-dialog__title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; +} +.tox .tox-dialog__body { + color: #222f3e; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } +} +.tox .tox-dialog__body-nav { + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } +} +.tox .tox-dialog__body-nav-item { + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; +} +.tox .tox-dialog__body-nav-item:focus { + background-color: rgba(32, 122, 183, 0.1); +} +.tox .tox-dialog__body-nav-item--active { + border-bottom: 2px solid #207ab7; + color: #207ab7; +} +.tox .tox-dialog__body-content { + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; +} +.tox .tox-dialog__body-content > * { + margin-bottom: 0; + margin-top: 16px; +} +.tox .tox-dialog__body-content > *:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content > *:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content > *:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog__body-content a { + color: #207ab7; + cursor: pointer; + text-decoration: none; +} +.tox .tox-dialog__body-content a:hover, +.tox .tox-dialog__body-content a:focus { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content a:active { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content svg { + fill: #222f3e; +} +.tox .tox-dialog__body-content ul { + display: block; + list-style-type: disc; + margin-bottom: 16px; + -webkit-margin-end: 0; + margin-inline-end: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-padding-start: 2.5rem; + padding-inline-start: 2.5rem; +} +.tox .tox-dialog__body-content .tox-form__group h1 { + color: #222f3e; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group h2 { + color: #222f3e; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group p { + margin-bottom: 16px; +} +.tox .tox-dialog__body-content .tox-form__group h1:first-child, +.tox .tox-dialog__body-content .tox-form__group h2:first-child, +.tox .tox-dialog__body-content .tox-form__group p:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:last-child, +.tox .tox-dialog__body-content .tox-form__group h2:last-child, +.tox .tox-dialog__body-content .tox-form__group p:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:only-child, +.tox .tox-dialog__body-content .tox-form__group h2:only-child, +.tox .tox-dialog__body-content .tox-form__group p:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog--width-lg { + height: 650px; + max-width: 1200px; +} +.tox .tox-dialog--width-md { + max-width: 800px; +} +.tox .tox-dialog--width-md .tox-dialog__body-content { + overflow: auto; +} +.tox .tox-dialog__body-content--centered { + text-align: center; +} +.tox .tox-dialog__footer { + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + display: flex; + justify-content: space-between; + padding: 8px 16px; +} +.tox .tox-dialog__footer-start, +.tox .tox-dialog__footer-end { + display: flex; +} +.tox .tox-dialog__busy-spinner { + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; +} +.tox .tox-dialog__table { + border-collapse: collapse; + width: 100%; +} +.tox .tox-dialog__table thead th { + font-weight: bold; + padding-bottom: 8px; +} +.tox .tox-dialog__table tbody tr { + border-bottom: 1px solid #cccccc; +} +.tox .tox-dialog__table tbody tr:last-child { + border-bottom: none; +} +.tox .tox-dialog__table td { + padding-bottom: 8px; + padding-top: 8px; +} +.tox .tox-dialog__popups { + position: absolute; + width: 100%; + z-index: 1100; +} +.tox .tox-dialog__body-iframe { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox .tox-dialog-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox .tox-dialog-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox .tox-dialog-dock-transition { + transition: visibility 0s linear 0.3s, opacity 0.3s ease; +} +.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { + transition-delay: 0s; +} +.tox.tox-platform-ie { + /* IE11 CSS styles go here */ +} +.tox.tox-platform-ie .tox-dialog-wrap { + position: -ms-device-fixed; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav { + margin-right: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } +} +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *, +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * { + margin-left: 8px; +} +.tox[dir=rtl] .tox-dialog__body { + text-align: right; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav { + margin-left: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } +} +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *, +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * { + margin-right: 8px; +} +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox .tox-dropzone-container { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dropzone { + align-items: center; + background: #fff; + border: 2px dashed #cccccc; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; +} +.tox .tox-dropzone p { + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; +} +.tox .tox-edit-area { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + overflow: hidden; + position: relative; +} +.tox .tox-edit-area__iframe { + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; + position: absolute; + width: 100%; +} +.tox.tox-inline-edit-area { + border: 1px dotted #cccccc; +} +.tox .tox-editor-container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; +} +.tox .tox-editor-header { + z-index: 1; +} +.tox:not(.tox-tinymce-inline) .tox-editor-header { + box-shadow: none; + transition: box-shadow 0.5s; +} +.tox.tox-tinymce--toolbar-bottom .tox-editor-header, +.tox.tox-tinymce-inline .tox-editor-header { + margin-bottom: -1px; +} +.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); +} +.tox-editor-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox-editor-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox-editor-dock-transition { + transition: visibility 0s linear 0.25s, opacity 0.25s ease; +} +.tox-editor-dock-transition.tox-editor-dock-fadein { + transition-delay: 0s; +} +.tox .tox-control-wrap { + flex: 1; + position: relative; +} +.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, +.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, +.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { + display: none; +} +.tox .tox-control-wrap svg { + display: block; +} +.tox .tox-control-wrap__status-icon-wrap { + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-control-wrap__status-icon-invalid svg { + fill: #c00; +} +.tox .tox-control-wrap__status-icon-unknown svg { + fill: orange; +} +.tox .tox-control-wrap__status-icon-valid svg { + fill: green; +} +.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield { + padding-right: 32px; +} +.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap { + right: 4px; +} +.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield { + padding-left: 32px; +} +.tox[dir=rtl] .tox-control-wrap__status-icon-wrap { + left: 4px; +} +.tox .tox-autocompleter { + max-width: 25em; +} +.tox .tox-autocompleter .tox-menu { + max-width: 25em; +} +.tox .tox-autocompleter .tox-autocompleter-highlight { + font-weight: bold; +} +.tox .tox-color-input { + display: flex; + position: relative; + z-index: 1; +} +.tox .tox-color-input .tox-textfield { + z-index: -1; +} +.tox .tox-color-input span { + border-color: rgba(34, 47, 62, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; +} +.tox .tox-color-input span:hover:not([aria-disabled=true]), +.tox .tox-color-input span:focus:not([aria-disabled=true]) { + border-color: #207ab7; + cursor: pointer; +} +.tox .tox-color-input span::before { + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: 0 0, 0 6px, 6px -6px, -6px 0; + background-size: 12px 12px; + border: 1px solid #fff; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; +} +.tox .tox-color-input span[aria-disabled=true] { + cursor: not-allowed; +} +.tox:not([dir=rtl]) .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-color-input .tox-textfield { + padding-left: 36px; +} +.tox:not([dir=rtl]) .tox-color-input span { + left: 6px; +} +.tox[dir="rtl"] .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir="rtl"] .tox-color-input .tox-textfield { + padding-right: 36px; +} +.tox[dir="rtl"] .tox-color-input span { + right: 6px; +} +.tox .tox-label, +.tox .tox-toolbar-label { + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; +} +.tox .tox-toolbar-label { + padding: 0 8px; +} +.tox[dir=rtl] .tox-label { + padding: 0 0 0 8px; +} +.tox .tox-form { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group { + box-sizing: border-box; + margin-bottom: 4px; +} +.tox .tox-form-group--maximize { + flex: 1; +} +.tox .tox-form__group--error { + color: #c00; +} +.tox .tox-form__group--collection { + display: flex; +} +.tox .tox-form__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.tox .tox-form__grid--2col > .tox-form__group { + width: calc(50% - (8px / 2)); +} +.tox .tox-form__grid--3col > .tox-form__group { + width: calc(100% / 3 - (8px / 2)); +} +.tox .tox-form__grid--4col > .tox-form__group { + width: calc(25% - (8px / 2)); +} +.tox .tox-form__controls-h-stack { + align-items: center; + display: flex; +} +.tox .tox-form__group--inline { + align-items: center; + display: flex; +} +.tox .tox-form__group--stretched { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-textarea { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) { + margin-right: 4px; +} +.tox .tox-lock.tox-locked .tox-lock-icon__unlock, +.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { + display: none; +} +.tox .tox-textfield, +.tox .tox-toolbar-textfield, +.tox .tox-listboxfield .tox-listbox--select, +.tox .tox-textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-textfield[disabled], +.tox .tox-textarea[disabled] { + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; +} +.tox .tox-textfield:focus, +.tox .tox-listboxfield .tox-listbox--select:focus, +.tox .tox-textarea:focus { + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-toolbar-textfield { + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; +} +.tox .tox-naked-btn { + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; +} +.tox .tox-naked-btn svg { + display: block; + fill: #222f3e; +} +.tox:not([dir=rtl]) .tox-toolbar-textfield + * { + margin-left: 4px; +} +.tox[dir=rtl] .tox-toolbar-textfield + * { + margin-right: 4px; +} +.tox .tox-listboxfield { + cursor: pointer; + position: relative; +} +.tox .tox-listboxfield .tox-listbox--select[disabled] { + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; +} +.tox .tox-listbox__select-label { + cursor: default; + flex: 1; + margin: 0 4px; +} +.tox .tox-listbox__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-listbox__select-chevron svg { + fill: #222f3e; +} +.tox .tox-listboxfield .tox-listbox--select { + align-items: center; + display: flex; +} +.tox:not([dir=rtl]) .tox-listboxfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-listboxfield svg { + left: 8px; +} +.tox .tox-selectfield { + cursor: pointer; + position: relative; +} +.tox .tox-selectfield select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-selectfield select[disabled] { + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; +} +.tox .tox-selectfield select::-ms-expand { + display: none; +} +.tox .tox-selectfield select:focus { + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-selectfield svg { + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox:not([dir=rtl]) .tox-selectfield select[size="0"], +.tox:not([dir=rtl]) .tox-selectfield select[size="1"] { + padding-right: 24px; +} +.tox:not([dir=rtl]) .tox-selectfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-selectfield select[size="0"], +.tox[dir=rtl] .tox-selectfield select[size="1"] { + padding-left: 24px; +} +.tox[dir=rtl] .tox-selectfield svg { + left: 8px; +} +.tox .tox-textarea { + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} +.tox .tox-help__more-link { + list-style: none; + margin-top: 1em; +} +.tox .tox-image-tools { + width: 100%; +} +.tox .tox-image-tools__toolbar { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-image-tools__image { + background-color: #666; + height: 380px; + overflow: auto; + position: relative; + width: 100%; +} +.tox .tox-image-tools__image, +.tox .tox-image-tools__image + .tox-image-tools__toolbar { + margin-top: 8px; +} +.tox .tox-image-tools__image-bg { + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); +} +.tox .tox-image-tools__toolbar > .tox-spacer { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-croprect-block { + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; +} +.tox .tox-croprect-handle { + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; +} +.tox .tox-croprect-handle-move { + border: 0; + cursor: move; + position: absolute; +} +.tox .tox-croprect-handle-nw { + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; +} +.tox .tox-croprect-handle-ne { + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; +} +.tox .tox-croprect-handle-sw { + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; +} +.tox .tox-croprect-handle-se { + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-left: 32px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-left: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-right: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-right: 32px; +} +.tox .tox-insert-table-picker { + display: flex; + flex-wrap: wrap; + width: 170px; +} +.tox .tox-insert-table-picker > div { + border-color: #cccccc; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; +} +.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { + margin: -4px 0; +} +.tox .tox-insert-table-picker .tox-insert-table-picker__selected { + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); +} +.tox .tox-insert-table-picker__label { + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; +} +.tox:not([dir=rtl]) { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) { + border-right: 0; +} +.tox[dir=rtl] { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) { + border-right: 0; +} +.tox { + /* stylelint-disable */ + /* stylelint-enable */ +} +.tox .tox-menu { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; +} +.tox .tox-menu.tox-collection.tox-collection--list { + padding: 0; +} +.tox .tox-menu.tox-collection.tox-collection--toolbar { + padding: 4px; +} +.tox .tox-menu.tox-collection.tox-collection--grid { + padding: 4px; +} +.tox .tox-menu__label h1, +.tox .tox-menu__label h2, +.tox .tox-menu__label h3, +.tox .tox-menu__label h4, +.tox .tox-menu__label h5, +.tox .tox-menu__label h6, +.tox .tox-menu__label p, +.tox .tox-menu__label blockquote, +.tox .tox-menu__label code { + margin: 0; +} +.tox .tox-menubar { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; +} +.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { + border-top: 1px solid #cccccc; +} +/* Deprecated. Remove in next major release */ +.tox .tox-mbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; +} +.tox .tox-mbtn[disabled] { + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-mbtn:focus:not(:disabled) { + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn--active { + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-mbtn[disabled] .tox-mbtn__select-label { + cursor: not-allowed; +} +.tox .tox-mbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; +} +.tox .tox-notification { + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: -ms-grid; + display: grid; + font-size: 14px; + font-weight: normal; + -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: transform 100ms ease-in, opacity 150ms ease-in; +} +.tox .tox-notification p { + font-size: 14px; + font-weight: normal; +} +.tox .tox-notification a { + text-decoration: underline; +} +.tox .tox-notification--in { + opacity: 1; +} +.tox .tox-notification--success { + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; +} +.tox .tox-notification--success p { + color: #222f3e; +} +.tox .tox-notification--success a { + color: #547831; +} +.tox .tox-notification--success svg { + fill: #222f3e; +} +.tox .tox-notification--error { + background-color: #f8dede; + border-color: #f2bfbf; + color: #222f3e; +} +.tox .tox-notification--error p { + color: #222f3e; +} +.tox .tox-notification--error a { + color: #c00; +} +.tox .tox-notification--error svg { + fill: #222f3e; +} +.tox .tox-notification--warn, +.tox .tox-notification--warning { + background-color: #fffaea; + border-color: #ffe89d; + color: #222f3e; +} +.tox .tox-notification--warn p, +.tox .tox-notification--warning p { + color: #222f3e; +} +.tox .tox-notification--warn a, +.tox .tox-notification--warning a { + color: #222f3e; +} +.tox .tox-notification--warn svg, +.tox .tox-notification--warning svg { + fill: #222f3e; +} +.tox .tox-notification--info { + background-color: #d9edf7; + border-color: #779ecb; + color: #222f3e; +} +.tox .tox-notification--info p { + color: #222f3e; +} +.tox .tox-notification--info a { + color: #222f3e; +} +.tox .tox-notification--info svg { + fill: #222f3e; +} +.tox .tox-notification__body { + -ms-grid-row-align: center; + align-self: center; + color: #222f3e; + font-size: 14px; + -ms-grid-column-span: 1; + grid-column-end: 3; + -ms-grid-column: 2; + grid-column-start: 2; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; +} +.tox .tox-notification__body > * { + margin: 0; +} +.tox .tox-notification__body > * + * { + margin-top: 1rem; +} +.tox .tox-notification__icon { + -ms-grid-row-align: center; + align-self: center; + -ms-grid-column-span: 1; + grid-column-end: 2; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification__icon svg { + display: block; +} +.tox .tox-notification__dismiss { + -ms-grid-row-align: start; + align-self: start; + -ms-grid-column-span: 1; + grid-column-end: 4; + -ms-grid-column: 3; + grid-column-start: 3; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification .tox-progress-bar { + -ms-grid-column-span: 3; + grid-column-end: 4; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 3; + -ms-grid-row: 2; + grid-row-start: 2; + -ms-grid-column-align: center; + justify-self: center; +} +.tox .tox-pop { + display: inline-block; + position: relative; +} +.tox .tox-pop--resizing { + transition: width 0.1s ease; +} +.tox .tox-pop--resizing .tox-toolbar { + flex-wrap: nowrap; +} +.tox .tox-pop__dialog { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + min-width: 0; + overflow: hidden; +} +.tox .tox-pop__dialog > *:not(.tox-toolbar) { + margin: 4px 4px 4px 8px; +} +.tox .tox-pop__dialog .tox-toolbar { + background-color: transparent; + margin-bottom: -1px; +} +.tox .tox-pop::before, +.tox .tox-pop::after { + border-style: solid; + content: ''; + display: block; + height: 0; + position: absolute; + width: 0; +} +.tox .tox-pop.tox-pop--bottom::before, +.tox .tox-pop.tox-pop--bottom::after { + left: 50%; + top: 100%; +} +.tox .tox-pop.tox-pop--bottom::after { + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; +} +.tox .tox-pop.tox-pop--bottom::before { + border-color: #cccccc transparent transparent transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--top::before, +.tox .tox-pop.tox-pop--top::after { + left: 50%; + top: 0; + transform: translateY(-100%); +} +.tox .tox-pop.tox-pop--top::after { + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; +} +.tox .tox-pop.tox-pop--top::before { + border-color: transparent transparent #cccccc transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--left::before, +.tox .tox-pop.tox-pop--left::after { + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--left::after { + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -15px; +} +.tox .tox-pop.tox-pop--left::before { + border-color: transparent #cccccc transparent transparent; + border-width: 10px; + margin-left: -19px; +} +.tox .tox-pop.tox-pop--right::before, +.tox .tox-pop.tox-pop--right::after { + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--right::after { + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--right::before { + border-color: transparent transparent transparent #cccccc; + border-width: 10px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--align-left::before, +.tox .tox-pop.tox-pop--align-left::after { + left: 20px; +} +.tox .tox-pop.tox-pop--align-right::before, +.tox .tox-pop.tox-pop--align-right::after { + left: calc(100% - 20px); +} +.tox .tox-sidebar-wrap { + display: flex; + flex-direction: row; + flex-grow: 1; + -ms-flex-preferred-size: 0; + min-height: 0; +} +.tox .tox-sidebar { + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.tox .tox-sidebar__slider { + display: flex; + overflow: hidden; +} +.tox .tox-sidebar__pane-container { + display: flex; +} +.tox .tox-sidebar__pane { + display: flex; +} +.tox .tox-sidebar--sliding-closed { + opacity: 0; +} +.tox .tox-sidebar--sliding-open { + opacity: 1; +} +.tox .tox-sidebar--sliding-growing, +.tox .tox-sidebar--sliding-shrinking { + transition: width 0.5s ease, opacity 0.5s ease; +} +.tox .tox-selector { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; +} +.tox.tox-platform-touch .tox-selector { + height: 12px; + width: 12px; +} +.tox .tox-slider { + align-items: center; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + height: 24px; + justify-content: center; + position: relative; +} +.tox .tox-slider__rail { + background-color: transparent; + border: 1px solid #cccccc; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; +} +.tox .tox-slider__handle { + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; +} +.tox .tox-source-code { + overflow: auto; +} +.tox .tox-spinner { + display: flex; +} +.tox .tox-spinner > div { + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; +} +.tox .tox-spinner > div:nth-child(1) { + animation-delay: -0.32s; +} +.tox .tox-spinner > div:nth-child(2) { + animation-delay: -0.16s; +} +@keyframes tam-bouncing-dots { + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } +} +.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-spinner > div:not(:first-child) { + margin-right: 4px; +} +.tox .tox-statusbar { + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; +} +.tox .tox-statusbar__text-container { + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; +} +.tox .tox-statusbar__path { + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tox .tox-statusbar__path > * { + display: inline; + white-space: nowrap; +} +.tox .tox-statusbar__wordcount { + flex: 0 0 auto; + margin-left: 1ch; +} +.tox .tox-statusbar a, +.tox .tox-statusbar__path-item, +.tox .tox-statusbar__wordcount { + color: rgba(34, 47, 62, 0.7); + text-decoration: none; +} +.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) { + cursor: pointer; + text-decoration: underline; +} +.tox .tox-statusbar__resize-handle { + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-left: 1ch; +} +.tox .tox-statusbar__resize-handle svg { + display: block; + fill: rgba(34, 47, 62, 0.7); +} +.tox .tox-statusbar__resize-handle:focus svg { + background-color: #dee0e2; + border-radius: 1px; + box-shadow: 0 0 0 2px #dee0e2; +} +.tox:not([dir=rtl]) .tox-statusbar__path > * { + margin-right: 4px; +} +.tox:not([dir=rtl]) .tox-statusbar__branding { + margin-left: 1ch; +} +.tox[dir=rtl] .tox-statusbar { + flex-direction: row-reverse; +} +.tox[dir=rtl] .tox-statusbar__path > * { + margin-left: 4px; +} +.tox .tox-throbber { + z-index: 1299; +} +.tox .tox-throbber__busy-spinner { + align-items: center; + background-color: rgba(255, 255, 255, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.tox .tox-tbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; +} +.tox .tox-tbtn svg { + display: block; + fill: #222f3e; +} +.tox .tox-tbtn.tox-tbtn-more { + padding-left: 5px; + padding-right: 5px; + width: inherit; +} +.tox .tox-tbtn:focus { + background: #dee0e2; + border: 0; + box-shadow: none; +} +.tox .tox-tbtn:hover { + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:hover svg { + fill: #222f3e; +} +.tox .tox-tbtn:active { + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:active svg { + fill: #222f3e; +} +.tox .tox-tbtn--disabled, +.tox .tox-tbtn--disabled:hover, +.tox .tox-tbtn:disabled, +.tox .tox-tbtn:disabled:hover { + background: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-tbtn--disabled svg, +.tox .tox-tbtn--disabled:hover svg, +.tox .tox-tbtn:disabled svg, +.tox .tox-tbtn:disabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-tbtn--enabled, +.tox .tox-tbtn--enabled:hover { + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn--enabled > *, +.tox .tox-tbtn--enabled:hover > * { + transform: none; +} +.tox .tox-tbtn--enabled svg, +.tox .tox-tbtn--enabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: #222f3e; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { + color: #222f3e; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { + fill: #222f3e; +} +.tox .tox-tbtn:active > * { + transform: none; +} +.tox .tox-tbtn--md { + height: 51px; + width: 51px; +} +.tox .tox-tbtn--lg { + flex-direction: column; + height: 68px; + width: 68px; +} +.tox .tox-tbtn--return { + -ms-grid-row-align: stretch; + align-self: stretch; + height: unset; + width: 16px; +} +.tox .tox-tbtn--labeled { + padding: 0 4px; + width: unset; +} +.tox .tox-tbtn__vlabel { + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; +} +.tox .tox-tbtn--select { + margin: 2px 0 3px 0; + padding: 0 4px; + width: auto; +} +.tox .tox-tbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-tbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-tbtn__select-chevron svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-tbtn--bespoke .tox-tbtn__select-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; +} +.tox .tox-split-button { + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 2px 0 3px 0; + overflow: hidden; +} +.tox .tox-split-button:hover { + box-shadow: 0 0 0 1px #dee0e2 inset; +} +.tox .tox-split-button:focus { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-split-button > * { + border-radius: 0; +} +.tox .tox-split-button__chevron { + width: 16px; +} +.tox .tox-split-button__chevron svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-split-button .tox-tbtn { + margin: 0; +} +.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child { + width: 30px; +} +.tox.tox-platform-touch .tox-split-button__chevron { + width: 20px; +} +.tox .tox-split-button.tox-tbtn--disabled:hover, +.tox .tox-split-button.tox-tbtn--disabled:focus, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { + background: transparent; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-toolbar-overlord { + background-color: #fff; +} +.tox .tox-toolbar, +.tox .tox-toolbar__primary, +.tox .tox-toolbar__overflow { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; +} +.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; +} +.tox .tox-toolbar__overflow--growing { + transition: height 0.3s ease, opacity 0.2s linear 0.1s; +} +.tox .tox-toolbar__overflow--shrinking { + transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; +} +.tox .tox-menubar + .tox-toolbar, +.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { + border-top: 1px solid #cccccc; + margin-top: -1px; +} +.tox .tox-toolbar--scrolling { + flex-wrap: nowrap; + overflow-x: auto; +} +.tox .tox-pop .tox-toolbar { + border-width: 0; +} +.tox .tox-toolbar--no-divider { + background-image: none; +} +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child, +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary { + border-top: 1px solid #cccccc; +} +.tox.tox-tinymce-aux .tox-toolbar__overflow { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); +} +.tox[dir=rtl] .tox-tbtn__icon-rtl svg { + transform: rotateY(180deg); +} +.tox .tox-toolbar__group { + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; +} +.tox .tox-toolbar__group--pull-right { + margin-left: auto; +} +.tox .tox-toolbar--scrolling .tox-toolbar__group { + flex-shrink: 0; + flex-wrap: nowrap; +} +.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) { + border-right: 1px solid #cccccc; +} +.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) { + border-left: 1px solid #cccccc; +} +.tox .tox-tooltip { + display: inline-block; + padding: 8px; + position: relative; +} +.tox .tox-tooltip__body { + background-color: #222f3e; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; +} +.tox .tox-tooltip__arrow { + position: absolute; +} +.tox .tox-tooltip--down .tox-tooltip__arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); +} +.tox .tox-tooltip--up .tox-tooltip__arrow { + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); +} +.tox .tox-tooltip--right .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-tooltip--left .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-well { + border: 1px solid #cccccc; + border-radius: 3px; + padding: 8px; + width: 100%; +} +.tox .tox-well > *:first-child { + margin-top: 0; +} +.tox .tox-well > *:last-child { + margin-bottom: 0; +} +.tox .tox-well > *:only-child { + margin: 0; +} +.tox .tox-custom-editor { + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; +} +/* stylelint-disable */ +.tox { + /* stylelint-enable */ +} +.tox .tox-dialog-loading::before { + background-color: rgba(0, 0, 0, 0.5); + content: ""; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; +} +.tox .tox-tab { + cursor: pointer; +} +.tox .tox-dialog__content-js { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-content .tox-collection { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-image-tools-edit-panel { + height: 60px; +} +.tox .tox-image-tools__sidebar { + height: 60px; +} diff --git a/public/tinymce/skins/ui/oxide/skin.min.css b/public/tinymce/skins/ui/oxide/skin.min.css new file mode 100644 index 0000000..2a00fac --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #ccc;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #ccc;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg{transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#dee0e2}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,.7)}.tox .tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #ccc}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #ccc}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #ccc}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#222f3e}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#222f3e}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar{flex-wrap:nowrap}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px;box-shadow:0 0 0 2px #dee0e2}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}.tox .tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #ccc}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox[dir=rtl] .tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} diff --git a/public/tinymce/skins/ui/oxide/skin.mobile.css b/public/tinymce/skins/ui/oxide/skin.mobile.css new file mode 100644 index 0000000..875721a --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.mobile.css @@ -0,0 +1,673 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +/* RESET all the things! */ +.tinymce-mobile-outer-container { + all: initial; + display: block; +} +.tinymce-mobile-outer-container * { + border: 0; + box-sizing: initial; + cursor: inherit; + float: none; + line-height: 1; + margin: 0; + outline: 0; + padding: 0; + -webkit-tap-highlight-color: transparent; + /* TBIO-3691, stop the gray flicker on touch. */ + text-shadow: none; + white-space: nowrap; +} +.tinymce-mobile-icon-arrow-back::before { + content: "\e5cd"; +} +.tinymce-mobile-icon-image::before { + content: "\e412"; +} +.tinymce-mobile-icon-cancel-circle::before { + content: "\e5c9"; +} +.tinymce-mobile-icon-full-dot::before { + content: "\e061"; +} +.tinymce-mobile-icon-align-center::before { + content: "\e234"; +} +.tinymce-mobile-icon-align-left::before { + content: "\e236"; +} +.tinymce-mobile-icon-align-right::before { + content: "\e237"; +} +.tinymce-mobile-icon-bold::before { + content: "\e238"; +} +.tinymce-mobile-icon-italic::before { + content: "\e23f"; +} +.tinymce-mobile-icon-unordered-list::before { + content: "\e241"; +} +.tinymce-mobile-icon-ordered-list::before { + content: "\e242"; +} +.tinymce-mobile-icon-font-size::before { + content: "\e245"; +} +.tinymce-mobile-icon-underline::before { + content: "\e249"; +} +.tinymce-mobile-icon-link::before { + content: "\e157"; +} +.tinymce-mobile-icon-unlink::before { + content: "\eca2"; +} +.tinymce-mobile-icon-color::before { + content: "\e891"; +} +.tinymce-mobile-icon-previous::before { + content: "\e314"; +} +.tinymce-mobile-icon-next::before { + content: "\e315"; +} +.tinymce-mobile-icon-large-font::before, +.tinymce-mobile-icon-style-formats::before { + content: "\e264"; +} +.tinymce-mobile-icon-undo::before { + content: "\e166"; +} +.tinymce-mobile-icon-redo::before { + content: "\e15a"; +} +.tinymce-mobile-icon-removeformat::before { + content: "\e239"; +} +.tinymce-mobile-icon-small-font::before { + content: "\e906"; +} +.tinymce-mobile-icon-readonly-back::before, +.tinymce-mobile-format-matches::after { + content: "\e5ca"; +} +.tinymce-mobile-icon-small-heading::before { + content: "small"; +} +.tinymce-mobile-icon-large-heading::before { + content: "large"; +} +.tinymce-mobile-icon-small-heading::before, +.tinymce-mobile-icon-large-heading::before { + font-family: sans-serif; + font-size: 80%; +} +.tinymce-mobile-mask-edit-icon::before { + content: "\e254"; +} +.tinymce-mobile-icon-back::before { + content: "\e5c4"; +} +.tinymce-mobile-icon-heading::before { + /* TODO: Translate */ + content: "Headings"; + font-family: sans-serif; + font-size: 80%; + font-weight: bold; +} +.tinymce-mobile-icon-h1::before { + content: "H1"; + font-weight: bold; +} +.tinymce-mobile-icon-h2::before { + content: "H2"; + font-weight: bold; +} +.tinymce-mobile-icon-h3::before { + content: "H3"; + font-weight: bold; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { + align-items: center; + display: flex; + justify-content: center; + background: rgba(51, 51, 51, 0.5); + height: 100%; + position: absolute; + top: 0; + width: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { + align-items: center; + border-radius: 50%; + display: flex; + flex-direction: column; + font-family: sans-serif; + font-size: 1em; + justify-content: space-between; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + align-items: center; + display: flex; + justify-content: center; + flex-direction: column; + font-size: 1em; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; + background-color: white; + color: #207ab7; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { + content: "\e900"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { + z-index: 2; +} +.tinymce-mobile-android-container.tinymce-mobile-android-maximized { + background: #ffffff; + border: none; + bottom: 0; + display: flex; + flex-direction: column; + left: 0; + position: fixed; + right: 0; + top: 0; +} +.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { + position: relative; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket { + display: flex; + flex-grow: 1; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { + display: flex !important; + flex-grow: 1; + height: auto !important; +} +.tinymce-mobile-android-scroll-reload { + overflow: hidden; +} +:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { + margin-top: 23px; +} +.tinymce-mobile-toolstrip { + background: #fff; + display: flex; + flex: 0 0 auto; + z-index: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { + align-items: center; + background-color: #fff; + border-bottom: 1px solid #cccccc; + display: flex; + flex: 1; + height: 2.5em; + width: 100%; + /* Make it no larger than the toolstrip, so that it needs to scroll */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex-shrink: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { + background: #f44336; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { + flex-grow: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { + align-items: center; + display: flex; + height: 80%; + margin-left: 2px; + margin-right: 2px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { + background: #c8cbcf; + color: #cccccc; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { + background: #207ab7; + color: #eceff1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { + /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex: 1; + padding-bottom: 0.4em; + padding-top: 0.4em; + /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ + /* For widgets like the colour picker, use the whole height */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { + display: flex; + min-height: 1.5em; + overflow: hidden; + padding-left: 0; + padding-right: 0; + position: relative; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { + display: flex; + height: 100%; + transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { + display: flex; + flex: 0 0 auto; + justify-content: space-between; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { + font-family: Sans-serif; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { + display: flex; + flex-grow: 1; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { + -ms-grid-row-align: center; + align-self: center; + background: inherit; + border: none; + border-radius: 50%; + color: #888; + font-size: 0.6em; + font-weight: bold; + height: 100%; + padding-right: 2px; + position: absolute; + right: 0; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { + display: none; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { + align-items: center; + display: flex; + font-weight: bold; + height: 100%; + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { + visibility: hidden; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { + color: #cccccc; + font-size: 10px; + line-height: 10px; + margin: 0 2px; + padding-top: 3px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { + color: #c8cbcf; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { + margin-left: 0.5em; + margin-right: 0.9em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { + margin-left: 0.9em; + margin-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { + display: flex; + flex: 1; + margin-left: 0; + margin-right: 0; + padding: 0.28em 0; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { + background: #cccccc; + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { + padding-left: 2em; + padding-right: 2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { + background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { + /* Not part of theming */ + background: black; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { + /* Not part of theming */ + background: white; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { + /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave + * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is + * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without + * this approach. + */ + align-items: center; + background-clip: padding-box; + background-color: #455a64; + border: 0.5em solid rgba(136, 136, 136, 0); + border-radius: 3em; + bottom: 0; + color: #fff; + display: flex; + height: 0.5em; + justify-content: center; + left: -10px; + margin: auto; + position: absolute; + top: 0; + transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); + width: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { + border: 0.5em solid rgba(136, 136, 136, 0.39); +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { + flex-direction: column; + justify-content: center; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { + background: #ffffff; + border: none; + border-radius: 0; + color: #455a64; + flex-grow: 1; + font-size: 0.85em; + padding-bottom: 0.1em; + padding-left: 5px; + padding-top: 0.1em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +/* dropup */ +.tinymce-mobile-dropup { + background: white; + display: flex; + overflow: hidden; + width: 100%; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { + transition: height 0.3s ease-out; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { + transition: height 0.3s ease-in; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { + flex-grow: 0; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { + flex-grow: 1; +} +/* TODO min-height for device size and orientation */ +.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; +} +@media only screen and (orientation: landscape) { + .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; + } +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 150px; + } +} +/* styles menu */ +.tinymce-mobile-styles-menu { + font-family: sans-serif; + outline: 4px solid black; + overflow: hidden; + position: relative; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"] { + display: flex; + flex-direction: column; + height: 100%; + position: absolute; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"].transitioning { + transition: transform 0.5s ease-in-out; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { + border-bottom: 1px solid #ddd; + color: #455a64; + cursor: pointer; + display: flex; + padding: 1em 1em; + position: relative; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { + color: #455a64; + content: "\e314"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { + color: #455a64; + content: "\e315"; + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { + align-items: center; + background: #fff; + border-top: #455a64; + color: #455a64; + display: flex; + min-height: 2.5em; + padding-left: 1em; + padding-right: 1em; +} +.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="before"] { + transform: translate(-100%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="current"] { + transform: translate(0%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="after"] { + transform: translate(100%); +} +@font-face { + font-family: 'tinymce-mobile'; + font-style: normal; + font-weight: normal; + src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); +} +@media (min-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 25px; + } +} +@media (max-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 18px; + } +} +.tinymce-mobile-icon { + font-family: 'tinymce-mobile', sans-serif; +} +.mixin-flex-and-centre { + align-items: center; + display: flex; + justify-content: center; +} +.mixin-flex-bar { + align-items: center; + display: flex; + height: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { + background-color: #fff; + width: 100%; +} +.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ + background-color: #207ab7; + border-radius: 50%; + bottom: 1em; + color: white; + font-size: 1em; + height: 2.1em; + position: fixed; + right: 2em; + width: 2.1em; + align-items: center; + display: flex; + justify-content: center; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { + height: 300px; + overflow: hidden; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { + height: 100%; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { + display: none; +} +/* + Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets + increased and the whole body becomes scrollable. It's important! + */ +input[type="file"]::-webkit-file-upload-button { + display: none; +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + bottom: 50%; + } +} diff --git a/public/tinymce/skins/ui/oxide/skin.mobile.min.css b/public/tinymce/skins/ui/oxide/skin.mobile.min.css new file mode 100644 index 0000000..3a45cac --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} diff --git a/public/tinymce/skins/ui/oxide/skin.shadowdom.css b/public/tinymce/skins/ui/oxide/skin.shadowdom.css new file mode 100644 index 0000000..715978b --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.shadowdom.css @@ -0,0 +1,37 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} diff --git a/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css new file mode 100644 index 0000000..9ba6e02 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..9fa7dfa --- /dev/null +++ b/src/App.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/api/auth/loginApi.js b/src/api/auth/loginApi.js new file mode 100644 index 0000000..dadcfa1 --- /dev/null +++ b/src/api/auth/loginApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { moduleRequest } from '@/utils/request' + +const request = moduleRequest(`/auth/b/`) +/** + * 登录 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // B端获取图片验证码 + getPicCaptcha(data) { + return request('getPicCaptcha', data, 'get') + }, + // B端获取手机验证码 + getPhoneValidCode(data) { + return request('getPhoneValidCode', data, 'get') + }, + // B端账号密码登录 + login(data) { + return request('doLogin', data, 'post', false) + }, + // B端手机验证码登录 + loginByPhone(data) { + return request('doLoginByPhone', data, 'post', false) + }, + // 退出 + logout(data) { + return request('doLogout', data, 'get') + }, + // 获取用户信息 + getLoginUser(data) { + return request('getLoginUser', data, 'get') + } +} diff --git a/src/api/auth/monitorApi.js b/src/api/auth/monitorApi.js new file mode 100644 index 0000000..984c8f3 --- /dev/null +++ b/src/api/auth/monitorApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/auth/` + url, ...arg) +/** + * 绘画 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 会话统计 + monitorAnalysis(data) { + return request('session/analysis', data, 'get') + }, + // 获取会话分页 + monitorBPage(data) { + return request('session/b/page', data, 'get') + }, + // 获取会话分页 + monitorCPage(data) { + return request('session/c/page', data, 'get') + }, + // 强退B端session + monitorBExit(data) { + return request('session/b/exit', data) + }, + // 强退C端session + monitorCExit(data) { + return request('session/c/exit', data) + }, + // 强退B端token + monitorTokenBExit(data) { + return request('token/b/exit', data) + }, + // 强退C端token + monitorTokenCExit(data) { + return request('token/c/exit', data) + } +} diff --git a/src/api/auth/oauthApi.js b/src/api/auth/oauthApi.js new file mode 100644 index 0000000..bb0c219 --- /dev/null +++ b/src/api/auth/oauthApi.js @@ -0,0 +1,29 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/auth/third/` + url, ...arg) +/** + * 三方登录 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 第三方登录页面渲染 + thirdRender(data) { + return request('render', data, 'get') + }, + // 第三方登录授权回调 + thirdCallback(data) { + return request('callback', data, 'get') + } +} diff --git a/src/api/auth/thirdApi.js b/src/api/auth/thirdApi.js new file mode 100644 index 0000000..1a01c44 --- /dev/null +++ b/src/api/auth/thirdApi.js @@ -0,0 +1,33 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/auth/third/` + url, ...arg) +/** + * 三方用户 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取三方用户分页 + thirdPage(data) { + return request('page', data, 'get') + }, + // 第三方登录页面渲染 + thirdRender(data) { + return request('render', data, 'get') + }, + // 第三方登录授权回调 + thirdCallback(data) { + return request('callback', data, 'get') + } +} diff --git a/src/api/biz/bizDictApi.js b/src/api/biz/bizDictApi.js new file mode 100644 index 0000000..cc49cc0 --- /dev/null +++ b/src/api/biz/bizDictApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/dict/` + url, ...arg) +/** + * 字典 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取业务字典分页 + dictPage(data) { + return request('page', data, 'get') + }, + // 获取业务字典树 + dictTree(data) { + return request('tree', data, 'get') + }, + // 获取所有字典树 + dictTreeAll(data) { + return request('treeAll', data, 'get') + }, + // 编辑业务字典 + submitForm(data) { + return request('edit', data) + } +} diff --git a/src/api/biz/bizIndexApi.js b/src/api/biz/bizIndexApi.js new file mode 100644 index 0000000..f1ded64 --- /dev/null +++ b/src/api/biz/bizIndexApi.js @@ -0,0 +1,24 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/index/` + url, ...arg) + +/** + * 业务主页Api接口管理器 + * + * @author yubaoshan + * @date 2024/07/11 14:46 + **/ +export default { + // 获取轮播图列表 + bizIndexSlideshowList(data) { + return request('slideshow/list', data, 'get') + }, + // 获取通知公告列表 + bizIndexNoticeList(data) { + return request('notice/list', data, 'get') + }, + // 获取通知公告详情 + bizIndexNoticeDetail(data) { + return request('notice/detail', data, 'get') + } +} diff --git a/src/api/biz/bizNoticeApi.js b/src/api/biz/bizNoticeApi.js new file mode 100644 index 0000000..c75200b --- /dev/null +++ b/src/api/biz/bizNoticeApi.js @@ -0,0 +1,36 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/notice/` + url, ...arg) + +/** + * 通知公告Api接口管理器 + * + * @author yubaoshan + * @date 2024/07/11 14:46 + **/ +export default { + // 获取通知公告分页 + bizNoticePage(data) { + return request('page', data, 'get') + }, + // 提交通知公告表单 edit为true时为编辑,默认为新增 + bizNoticeSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除通知公告 + bizNoticeDelete(data) { + return request('delete', data) + }, + // 获取通知公告详情 + bizNoticeDetail(data) { + return request('detail', data, 'get') + }, + // 禁用通知公告 + bizNoticeDisableStatus(data) { + return request('disableStatus', data) + }, + // 启用通知公告 + bizNoticeEnableStatus(data) { + return request('enableStatus', data) + } +} diff --git a/src/api/biz/bizOrgApi.js b/src/api/biz/bizOrgApi.js new file mode 100644 index 0000000..bca4ea8 --- /dev/null +++ b/src/api/biz/bizOrgApi.js @@ -0,0 +1,53 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/org/` + url, ...arg) +/** + * 机构 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取机构分页 + orgPage(data) { + return request('page', data, 'get') + }, + // 获取机构列表 + orgList(data) { + return request('list', data, 'get') + }, + // 获取机构树 + orgTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除机构 + orgDelete(data) { + return request('delete', data) + }, + // 获取机构详情 + orgDetail(data) { + return request('detail', data, 'get') + }, + // 获取机构树选择器 + orgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取人员选择器 + orgUserSelector(data) { + return request('userSelector', data, 'get') + } +} diff --git a/src/api/biz/bizPositionApi.js b/src/api/biz/bizPositionApi.js new file mode 100644 index 0000000..bf78532 --- /dev/null +++ b/src/api/biz/bizPositionApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/position/` + url, ...arg) +/** + * 岗位 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取岗位分页 + positionPage(data) { + return request('page', data, 'get') + }, + // 获取岗位列表 + positionList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除岗位 + positionDelete(data) { + return request('delete', data) + }, + // 获取岗位详情 + positionDetail(data) { + return request('detail', data, 'get') + }, + // 获取机构树选择器 + positionOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取岗位选择器 + positionPositionSelector(data) { + return request('positionSelector', data, 'get') + } +} diff --git a/src/api/biz/bizUserApi.js b/src/api/biz/bizUserApi.js new file mode 100644 index 0000000..afc81d8 --- /dev/null +++ b/src/api/biz/bizUserApi.js @@ -0,0 +1,85 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/biz/user/` + url, ...arg) +/** + * 人员接口api + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取人员分页 + userPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除人员 + userDelete(data) { + return request('delete', data) + }, + // 获取人员详情 + userDetail(data) { + return request('detail', data, 'get') + }, + // 禁用人员 + userDisableUser(data) { + return request('disableUser', data) + }, + // 启用人员 + userEnableUser(data) { + return request('enableUser', data) + }, + // 重置人员密码 + userResetPassword(data) { + return request('resetPassword', data) + }, + // 获取组织选择器 + userOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取职位选择器 + userPositionSelector(data) { + return request('positionSelector', data, 'get') + }, + // 获取角色选择器 + userRoleSelector(data) { + return request('roleSelector', data, 'get') + }, + // 获取人员选择器 + userSelector(data) { + return request('userSelector', data, 'get') + }, + // 人员拥有角色 + userOwnRole(data) { + return request('ownRole', data, 'get') + }, + // 给人员授权角色 + grantRole(data) { + return request('grantRole', data) + }, + // 人员导出 + userExport(data) { + return request('export', data, 'get', { + responseType: 'blob' + }) + }, + // 导出人员个人信息 + userExportUserInfo(data) { + return request('exportUserInfo', data, 'get', { + responseType: 'blob' + }) + } +} diff --git a/src/api/dev/configApi.js b/src/api/dev/configApi.js new file mode 100644 index 0000000..736fb83 --- /dev/null +++ b/src/api/dev/configApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/config/` + url, ...arg) +/** + * 配置 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取配置分页 + configPage(data) { + return request('page', data, 'get') + }, + // 获取配置列表 + configList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除配置 + configDelete(data) { + return request('delete', data) + }, + // 获取配置详情 + configDetail(data) { + return request('detail', data, 'get') + }, + // 配置批量更新 + configEditForm(data) { + return request('editBatch', data) + }, + // 获取系统基础配置 + configSysBaseList(data) { + return request('sysBaseList', data, 'get') + } +} diff --git a/src/api/dev/dictApi.js b/src/api/dev/dictApi.js new file mode 100644 index 0000000..b4defe6 --- /dev/null +++ b/src/api/dev/dictApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/dict/` + url, ...arg) +/** + * 字典 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取字典分页 + dictPage(data) { + return request('page', data, 'get') + }, + // 获取字典列表 + dictList(data) { + return request('list', data, 'get') + }, + // 获取字典树 + dictTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除字典 + dictDelete(data) { + return request('delete', data) + }, + // 获取字典详情 + dictDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/dev/emailApi.js b/src/api/dev/emailApi.js new file mode 100644 index 0000000..8deea4c --- /dev/null +++ b/src/api/dev/emailApi.js @@ -0,0 +1,65 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/email/` + url, ...arg) +/** + * 邮件 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取邮件分页 + emailPage(data) { + return request('page', data, 'get') + }, + // 发送邮件——本地TXT + emailSendLocalTxt(data) { + return request('sendLocalTxt', data) + }, + // 发送邮件——本地HTML + emailSendLocalHtml(data) { + return request('sendLocalHtml', data) + }, + // 发送邮件——阿里云TXT + emailSendAliyunTxt(data) { + return request('sendAliyunTxt', data) + }, + // 发送邮件——阿里云HTML + emailSendAliyunHtml(data) { + return request('sendAliyunHtml', data) + }, + // 发送邮件——阿里云TMP + emailSendAliyunTmp(data) { + return request('sendAliyunTmp', data) + }, + // 发送邮件——腾讯云TXT + emailSendTencentTxt(data) { + return request('sendTencentTxt', data) + }, + // 发送邮件——腾讯云HTML + emailSendTencentHtml(data) { + return request('sendTencentHtml', data) + }, + // 发送邮件——腾讯云TMP + emailSendTencentTmp(data) { + return request('sendTencentTmp', data) + }, + // 删除邮件 + emailDelete(data) { + return request('delete', data) + }, + // 获取邮件详情 + emailDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/dev/fileApi.js b/src/api/dev/fileApi.js new file mode 100644 index 0000000..5c6d8f4 --- /dev/null +++ b/src/api/dev/fileApi.js @@ -0,0 +1,87 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/file/` + url, ...arg) +/** + * 文件 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 动态上传文件返回id + fileUploadDynamicReturnId(data) { + return request('uploadDynamicReturnId', data) + }, + // 动态上传文件返回url + fileUploadDynamicReturnUrl(data) { + return request('uploadDynamicReturnUrl', data) + }, + // 本地文件上传,返回文件id + fileUploadReturnId(data) { + return request('uploadLocalReturnId', data) + }, + // 阿里云文件上传,返回文件id + fileUploadAliyunReturnId(data) { + return request('uploadAliyunReturnId', data) + }, + // 腾讯云文件上传,返回文件id + fileUploadTencentReturnId(data) { + return request('uploadTencentReturnId', data) + }, + // MINIO文件上传,返回文件id + fileUploadMinioReturnId(data) { + return request('uploadMinioReturnId', data) + }, + // 本地文件上传,返回文件Url + fileUploadLocalReturnUrl(data) { + return request('uploadLocalReturnUrl', data) + }, + // 阿里云文件上传,返回文件Url + fileUploadAliyunReturnUrl(data) { + return request('uploadAliyunReturnUrl', data) + }, + // 腾讯云文件上传,返回文件Url + fileUploadTencentReturnUrl(data) { + return request('uploadTencentReturnUrl', data) + }, + // MINIO文件上传,返回文件Url + fileUploadMinioReturnUrl(data) { + return request('uploadMinioReturnUrl', data) + }, + // 获取文件分页列表 + filePage(data) { + return request('page', data, 'get') + }, + // 获取文件列表 + fileList(data) { + return request('list', data, 'get') + }, + // 下载文件,这里要带上blob类型 + fileDownload(data) { + return request('download', data, 'get', { + responseType: 'blob' + }) + }, + // 获取文件详情 + fileDetail(data) { + return request('detail', data, 'get') + }, + // 根据文件url集合获取文件集合 + fileGetFileListByUrlList(data) { + return request('getFileListByUrlList', data) + }, + // 删除文件 + fileDelete(data) { + return request('delete', data) + } +} diff --git a/src/api/dev/jobApi.js b/src/api/dev/jobApi.js new file mode 100644 index 0000000..a519c4a --- /dev/null +++ b/src/api/dev/jobApi.js @@ -0,0 +1,53 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/job/` + url, ...arg) +/** + * 定时任务 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取定时任务分页 + jobPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除定时任务 + jobDelete(data) { + return request('delete', data) + }, + // 获取定时任务详情 + jobDetail(data) { + return request('detail', data, 'get') + }, + // 停止定时任务 + jobStopJob(data) { + return request('stopJob', data) + }, + // 运行定时任务 + jobRunJob(data) { + return request('runJob', data) + }, + // 运行定时任务 + jobRunJobNow(data) { + return request('runJobNow', data) + }, + // 获取定时任务类 + jobGetActionClass(data) { + return request('getActionClass', data, 'get') + } +} diff --git a/src/api/dev/logApi.js b/src/api/dev/logApi.js new file mode 100644 index 0000000..e4dcf78 --- /dev/null +++ b/src/api/dev/logApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/log/` + url, ...arg) +/** + * 日志 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取日志分页 + logPage(data) { + return request('page', data, 'get') + }, + // 获取日志详情 + logDetail(data) { + return request('detail', data, 'get') + }, + // 获取访问日志折线图数据 + logVisLineChartData(data) { + return request('vis/lineChartData', data, 'get') + }, + // 获取访问日志饼状图数据 + logVisPieChartData(data) { + return request('vis/pieChartData', data, 'get') + }, + // 获取操作日志柱状图数据 + logOpBarChartData(data) { + return request('op/barChartData', data, 'get') + }, + // 获取操作日志饼状图数据 + logOpPieChartData(data) { + return request('op/pieChartData', data, 'get') + }, + // 清空日志 + logDelete(data) { + return request('delete', data) + } +} diff --git a/src/api/dev/messageApi.js b/src/api/dev/messageApi.js new file mode 100644 index 0000000..8cd2cb4 --- /dev/null +++ b/src/api/dev/messageApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/message/` + url, ...arg) +/** + * 站内信 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取站内信分页 + messagePage(data) { + return request('page', data, 'get') + }, + // 获取站内信分页 + messageSend(data) { + return request('send', data) + }, + // 删除站内信 + messageDelete(data) { + return request('delete', data) + }, + // 获取站内信详情 + messageDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/dev/monitorApi.js b/src/api/dev/monitorApi.js new file mode 100644 index 0000000..166cf85 --- /dev/null +++ b/src/api/dev/monitorApi.js @@ -0,0 +1,29 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/monitor/` + url, ...arg) +/** + * 监控 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取服务器监控信息 + monitorServerInfo(data) { + return request('serverInfo', data, 'get') + }, + // 获取服务器网络情况 + monitorNetworkInfo(data) { + return request('networkInfo', data, 'get') + } +} diff --git a/src/api/dev/slideshowApi.js b/src/api/dev/slideshowApi.js new file mode 100644 index 0000000..2f61c81 --- /dev/null +++ b/src/api/dev/slideshowApi.js @@ -0,0 +1,32 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/slideshow/` + url, ...arg) + +/** + * 轮播图Api接口管理器 + * + * @author yubaoshan + * @date 2024/07/13 00:31 + **/ +export default { + // 获取轮播图分页 + devSlideshowPage(data) { + return request('page', data, 'get') + }, + // 提交轮播图表单 edit为true时为编辑,默认为新增 + devSlideshowSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除轮播图 + devSlideshowDelete(data) { + return request('delete', data) + }, + // 禁用轮播图 + devSlideshowDisableStatus(data) { + return request('disableStatus', data) + }, + // 启用轮播图 + devSlideshowEnableStatus(data) { + return request('enableStatus', data) + } +} diff --git a/src/api/dev/smsApi.js b/src/api/dev/smsApi.js new file mode 100644 index 0000000..82f6e55 --- /dev/null +++ b/src/api/dev/smsApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/dev/sms/` + url, ...arg) +/** + * 短信 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取短信分页 + smsPage(data) { + return request('page', data, 'get') + }, + // 发送短信——阿里云 + smsSendAliyun(data) { + return request('sendAliyun', data) + }, + // 发送短信——腾讯云 + smsSendTencent(data) { + return request('sendTencent', data) + }, + // 发送短信——小诺短信 + smsSendXiaonuo(data) { + return request('sendXiaonuo', data) + }, + // 删除短信 + smsDelete(data) { + return request('delete', data) + }, + // 获取短信详情 + smsDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/gen/genBasicApi.js b/src/api/gen/genBasicApi.js new file mode 100644 index 0000000..45845c3 --- /dev/null +++ b/src/api/gen/genBasicApi.js @@ -0,0 +1,49 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/gen/basic/` + url, ...arg) + +export default { + // 获取代码生成基础分页 + basicPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除代码生成基础 + basicDelete(data) { + return request('delete', data) + }, + // 获取代码生成基础详情 + basicDetail(data) { + return request('detail', data, 'get') + }, + // 获取所有表信息 + basicTables(data) { + return request('tables', data, 'get') + }, + // 获取表内所有字段信息 + basicTableColumns(data) { + return request('tableColumns', data, 'get') + }, + // 执行代码生成 压缩包 + basicExecGenBiz(data) { + const options = { + responseType: 'blob' + } + return request('execGenZip', data, 'get', options) + }, + // 执行代码生成 项目内 + basicExecGenPro(data) { + return request('execGenPro', data) + }, + // 预览代码生成 + basicPreviewGen(data) { + return request('previewGen', data, 'get') + }, + // 获取所有移动端模块 + basicMobileModuleSelector(data) { + return request('mobileModuleSelector', data, 'get') + } +} diff --git a/src/api/gen/genConfigApi.js b/src/api/gen/genConfigApi.js new file mode 100644 index 0000000..491efaa --- /dev/null +++ b/src/api/gen/genConfigApi.js @@ -0,0 +1,26 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/gen/config/` + url, ...arg) + +export default { + // 获取代码生成详情配置列表 + configList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除代码生成详情配置 + configDelete(data) { + return request('delete', data) + }, + // 获取代码生成详情配置详情 + configDetail(data) { + return request('detail', data, 'get') + }, + // 批量编辑代码生成详细配置 + configEditBatch(data) { + return request('editBatch', data) + } +} diff --git a/src/api/mobile/resource/buttonApi.js b/src/api/mobile/resource/buttonApi.js new file mode 100644 index 0000000..cddb4d9 --- /dev/null +++ b/src/api/mobile/resource/buttonApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/mobile/button/` + url, ...arg) +/** + * 按钮 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取按钮分页 + mobileButtonPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + mobileButtonSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除按钮 + mobileButtonDelete(data) { + return request('delete', data) + }, + // 获取按钮详情 + mobileButtonDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/mobile/resource/menuApi.js b/src/api/mobile/resource/menuApi.js new file mode 100644 index 0000000..43ba5ff --- /dev/null +++ b/src/api/mobile/resource/menuApi.js @@ -0,0 +1,40 @@ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/mobile/menu/` + url, ...arg) + +/** + * 移动端菜单Api接口管理器 + * + * @author yubaoshan + * @date 2023/01/28 22:42 + **/ +export default { + // 获取移动端菜单tree + mobileMenuTree(data) { + return request('tree', data, 'get') + }, + // 提交移动端菜单表单 edit为true时为编辑,默认为新增 + mobileMenuSubmitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 更改菜单所属模块 + mobileMenuChangeModule(data) { + return request('changeModule', data) + }, + // 删除移动端菜单 + mobileMenuDelete(data) { + return request('delete', data) + }, + // 获取移动端菜单详情 + mobileMenuDetail(data) { + return request('detail', data, 'get') + }, + // 获取模块选择器 + mobileMenuModuleSelector(data) { + return request('moduleSelector', data, 'get') + }, + // 获取菜单树选择器 + mobileMenuTreeSelector(data) { + return request('menuTreeSelector', data, 'get') + } +} diff --git a/src/api/mobile/resource/moduleApi.js b/src/api/mobile/resource/moduleApi.js new file mode 100644 index 0000000..c216eba --- /dev/null +++ b/src/api/mobile/resource/moduleApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/mobile/module/` + url, ...arg) +/** + * 类别 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取类别分页 + modulePage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除类别 + moduleDelete(data) { + return request('delete', data) + }, + // 获取类别详情 + moduleDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/sys/indexApi.js b/src/api/sys/indexApi.js new file mode 100644 index 0000000..2b746c7 --- /dev/null +++ b/src/api/sys/indexApi.js @@ -0,0 +1,65 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/index/` + url, ...arg) +/** + * 系统首页控制器 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 添加当前用户日程 + indexScheduleAdd(data) { + return request('schedule/add', data) + }, + // 删除日程 + indexScheduleDeleteSchedule(data) { + return request('schedule/deleteSchedule', data) + }, + // 获取当前用户日程列表 + indexScheduleList(data) { + return request('schedule/list', data, 'get') + }, + // 获取当前用户站内信列表 + indexMessageList(data) { + return request('message/list', data, 'get') + }, + // 获取站内信详情 + indexMessageDetail(data) { + return request('message/detail', data, 'get') + }, + //站内信全部标记已读 + indexMessageAllMarkRead(data) { + return request('message/allMessageMarkRead', data) + }, + // 获取当前用户访问日志列表 + indexVisLogList(data) { + return request('visLog/list', data, 'get') + }, + // 获取当前用户操作日志列表 + indexOpLogList(data) { + return request('opLog/list', data, 'get') + }, + // 获取基础系统业务数据 + indexBizDataCount(data) { + return request('bizDataCount', data, 'get') + }, + // 获取运维一览数据 + indexOpDataCount(data) { + return request('opDataCount', data, 'get') + }, + // 获取基础工具数据 + indexToolDataCount(data) { + return request('toolDataCount', data, 'get') + } +} diff --git a/src/api/sys/orgApi.js b/src/api/sys/orgApi.js new file mode 100644 index 0000000..45d9570 --- /dev/null +++ b/src/api/sys/orgApi.js @@ -0,0 +1,53 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/org/` + url, ...arg) +/** + * 机构 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取组织分页 + orgPage(data) { + return request('page', data, 'get') + }, + // 获取组织列表 + orgList(data) { + return request('list', data, 'get') + }, + // 获取组织树 + orgTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除组织 + orgDelete(data) { + return request('delete', data) + }, + // 获取组织详情 + orgDetail(data) { + return request('detail', data, 'get') + }, + // 获取组织树选择器 + orgOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取用户选择器 + orgUserSelector(data) { + return request('userSelector', data, 'get') + } +} diff --git a/src/api/sys/positionApi.js b/src/api/sys/positionApi.js new file mode 100644 index 0000000..f15b535 --- /dev/null +++ b/src/api/sys/positionApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/position/` + url, ...arg) +/** + * 职位 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取职位分页 + positionPage(data) { + return request('page', data, 'get') + }, + // 获取职位列表 + positionList(data) { + return request('list', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除职位 + positionDelete(data) { + return request('delete', data) + }, + // 获取职位详情 + positionDetail(data) { + return request('detail', data, 'get') + }, + // 获取组织树选择器 + positionOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取职位选择器 + positionPositionSelector(data) { + return request('positionSelector', data, 'get') + } +} diff --git a/src/api/sys/resource/buttonApi.js b/src/api/sys/resource/buttonApi.js new file mode 100644 index 0000000..d609524 --- /dev/null +++ b/src/api/sys/resource/buttonApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/button/` + url, ...arg) +/** + * 按钮 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取按钮分页 + buttonPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除按钮 + buttonDelete(data) { + return request('delete', data) + }, + // 获取按钮详情 + buttonDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/sys/resource/fieldApi.js b/src/api/sys/resource/fieldApi.js new file mode 100644 index 0000000..381cc90 --- /dev/null +++ b/src/api/sys/resource/fieldApi.js @@ -0,0 +1,45 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/field/` + url, ...arg) +/** + * 字段 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取字段分页 + fieldPage(data) { + return request('page', data, 'get') + }, + // 获取字段树 + fieldTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除字段 + fieldDelete(data) { + return request('delete', data) + }, + // 获取字段详情 + fieldDetail(data) { + return request('detail', data, 'get') + }, + // 获取菜单树选择器 + fieldMenuTreeSelector(data) { + return request('MenuTreeSelector', data, 'get') + } +} diff --git a/src/api/sys/resource/menuApi.js b/src/api/sys/resource/menuApi.js new file mode 100644 index 0000000..fb6df87 --- /dev/null +++ b/src/api/sys/resource/menuApi.js @@ -0,0 +1,49 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/menu/` + url, ...arg) +/** + * 菜单 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取菜单树 + menuTree(data) { + return request('tree', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 更改菜单所属模块 + menuChangeModule(data) { + return request('changeModule', data) + }, + // 删除菜单 + menuDelete(data) { + return request('delete', data) + }, + // 获取菜单详情 + menuDetail(data) { + return request('detail', data, 'get') + }, + // 获取模块选择器 + menuModuleSelector(data) { + return request('moduleSelector', data, 'get') + }, + // 获取菜单树选择器 + menuTreeSelector(data) { + return request('menuTreeSelector', data, 'get') + } +} diff --git a/src/api/sys/resource/moduleApi.js b/src/api/sys/resource/moduleApi.js new file mode 100644 index 0000000..15cd153 --- /dev/null +++ b/src/api/sys/resource/moduleApi.js @@ -0,0 +1,37 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/module/` + url, ...arg) +/** + * 模块 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取模块分页 + modulePage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除模块 + moduleDelete(data) { + return request('delete', data) + }, + // 获取模块详情 + moduleDetail(data) { + return request('detail', data, 'get') + } +} diff --git a/src/api/sys/roleApi.js b/src/api/sys/roleApi.js new file mode 100644 index 0000000..8f1f116 --- /dev/null +++ b/src/api/sys/roleApi.js @@ -0,0 +1,93 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/role/` + url, ...arg) +/** + * 角色 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取角色分页 + rolePage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除角色 + roleDelete(data) { + return request('delete', data) + }, + // 获取角色详情 + roleDetail(data) { + return request('detail', data, 'get') + }, + // 获取角色拥有资源 + roleOwnResource(data) { + return request('ownResource', data, 'get') + }, + // 给角色授权资源 + roleGrantResource(data) { + return request('grantResource', data) + }, + // 获取角色拥有移动端菜单 + roleOwnMobileMenu(data) { + return request('ownMobileMenu', data, 'get') + }, + // 给角色授权移动端菜单 + roleGrantMobileMenu(data) { + return request('grantMobileMenu', data) + }, + // 获取角色拥有权限 + roleOwnPermission(data) { + return request('ownPermission', data, 'get') + }, + // 给角色授权权限 + roleGrantPermission(data) { + return request('grantPermission', data) + }, + // 获取角色下的用户 + roleOwnUser(data) { + return request('ownUser', data, 'get') + }, + // 给角色授权用户 + roleGrantUser(data) { + return request('grantUser', data) + }, + // 获取机构树 + roleOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取资源授权树 + roleResourceTreeSelector(data) { + return request('resourceTreeSelector', data, 'get') + }, + // 获取移动端菜单授权树 + roleMobileMenuTreeSelector(data) { + return request('mobileMenuTreeSelector', data, 'get') + }, + // 获取权限授权树 + rolePermissionTreeSelector(data) { + return request('permissionTreeSelector', data, 'get') + }, + // 获取角色选择器 + roleRoleSelector(data) { + return request('roleSelector', data, 'get') + }, + // 获取用户选择器 + roleUserSelector(data) { + return request('userSelector', data, 'get') + } +} diff --git a/src/api/sys/userApi.js b/src/api/sys/userApi.js new file mode 100644 index 0000000..eefea01 --- /dev/null +++ b/src/api/sys/userApi.js @@ -0,0 +1,111 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/user/` + url, ...arg) +/** + * 用户接口api + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取用户分页 + userPage(data) { + return request('page', data, 'get') + }, + // 提交表单 edit为true时为编辑,默认为新增 + submitForm(data, edit = false) { + return request(edit ? 'edit' : 'add', data) + }, + // 删除用户 + userDelete(data) { + return request('delete', data) + }, + // 获取用户详情 + userDetail(data) { + return request('detail', data, 'get') + }, + // 禁用用户 + userDisableUser(data) { + return request('disableUser', data) + }, + // 启用用户 + userEnableUser(data) { + return request('enableUser', data) + }, + // 重置用户密码 + userResetPassword(data) { + return request('resetPassword', data) + }, + // 获取组织选择器 + userOrgTreeSelector(data) { + return request('orgTreeSelector', data, 'get') + }, + // 获取职位选择器 + userPositionSelector(data) { + return request('positionSelector', data, 'get') + }, + // 获取角色选择器 + userRoleSelector(data) { + return request('roleSelector', data, 'get') + }, + // 获取用户选择器 + userSelector(data) { + return request('userSelector', data, 'get') + }, + // 用户拥有角色 + userOwnRole(data) { + return request('ownRole', data, 'get') + }, + // 给用户授权角色 + grantRole(data) { + return request('grantRole', data) + }, + // 获取用户拥有资源 + userOwnResource(data) { + return request('ownResource', data, 'get') + }, + // 给用户授权资源 + userGrantResource(data) { + return request('grantResource', data) + }, + // 获取用户拥有权限 + userOwnPermission(data) { + return request('ownPermission', data, 'get') + }, + // 给用户授权权限 + userGrantPermission(data) { + return request('grantPermission', data) + }, + // 下载用户导入模板 + userDownloadImportUserTemplate(data) { + return request('downloadImportUserTemplate', data, 'get', { + responseType: 'blob' + }) + }, + // 用户导入 + userImport(data) { + return request('import', data) + }, + // 用户导出 + userExport(data) { + return request('export', data, 'get', { + responseType: 'blob' + }) + }, + // 导出用户个人信息 + userExportUserInfo(data) { + return request('exportUserInfo', data, 'get', { + responseType: 'blob' + }) + } +} diff --git a/src/api/sys/userCenterApi.js b/src/api/sys/userCenterApi.js new file mode 100644 index 0000000..e66105c --- /dev/null +++ b/src/api/sys/userCenterApi.js @@ -0,0 +1,105 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import { baseRequest } from '@/utils/request' + +const request = (url, ...arg) => baseRequest(`/sys/userCenter/` + url, ...arg) +/** + * 用户个人控制器 + * + * @author yubaoshan + * @date 2022-09-22 22:33:20 + */ +export default { + // 获取图片验证码 + userGetPicCaptcha(data) { + return request('getPicCaptcha', data, 'get') + }, + // 找回密码获取手机验证码 + userFindPasswordGetPhoneValidCode(data) { + return request('findPasswordGetPhoneValidCode', data, 'get') + }, + // 找回密码获取邮箱验证码 + userFindPasswordGetEmailValidCode(data) { + return request('findPasswordGetEmailValidCode', data, 'get') + }, + // 通过手机号找回用户密码 + userFindPasswordByPhone(data) { + return request('findPasswordByPhone', data) + }, + // 通过邮箱找回用户密码 + userFindPasswordByEmail(data) { + return request('findPasswordByEmail', data) + }, + // 修改用户密码 + userUpdatePassword(data) { + return request('updatePassword', data) + }, + // 修改用户头像 + userUpdateAvatar(data) { + return request('updateAvatar', data) + }, + // 修改用户签名图片 + userUpdateSignature(data) { + return request('updateSignature', data) + }, + // 获取登录用户的菜单 + userLoginMenu(data) { + return request('loginMenu', data, 'get') + }, + // 获取登录用户组织树 + userLoginOrgTree(data) { + return request('loginOrgTree', data, 'get') + }, + // 获取登录用户的职位信息 + userLoginPositionInfo(data) { + return request('loginPositionInfo', data, 'get') + }, + // 编辑个人信息 + userUpdateUserInfo(data) { + return request('updateUserInfo', data) + }, + // 编辑个人工作台 + userUpdateUserWorkbench(data) { + return request('updateUserWorkbench', data) + }, + // 获取登录用户的工作台 + userLoginWorkbench(data) { + return request('loginWorkbench', data, 'get') + }, + // 获取登录用户的站内信分页 + userLoginUnreadMessagePage(data) { + return request('loginUnreadMessagePage', data, 'get') + }, + // 读取登录用户站内信详情 + userLoginUnreadMessageDetail(data) { + return request('loginUnreadMessageDetail', data, 'get') + }, + // 根据id集合获取组织集合 + userCenterGetOrgListByIdList(data) { + return request('getOrgListByIdList', data) + }, + // 根据id集合获取用户集合 + userCenterGetUserListByIdList(data) { + return request('getUserListByIdList', data) + }, + // 根据id集合获取职位集合 + userCenterGetPositionListByIdList(data) { + return request('getPositionListByIdList', data) + }, + // 根据id集合获取角色集合 + userCenterGetRoleListByIdList(data) { + return request('getRoleListByIdList', data) + }, + // 根据id获取头像 + userCenterGtAvatarById(data) { + return request('getAvatarById', data) + } +} diff --git a/src/assets/icons/GiteeIcon.vue b/src/assets/icons/GiteeIcon.vue new file mode 100644 index 0000000..21dcad1 --- /dev/null +++ b/src/assets/icons/GiteeIcon.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js new file mode 100644 index 0000000..c0d89c6 --- /dev/null +++ b/src/assets/icons/index.js @@ -0,0 +1,13 @@ +/* + ** 全局注册Icon组件 + * 推荐前往https://icones.js.org下载图标的Vue文件,然后放在src/assets/icons文件夹里面 + * 这个网址有118个图标集,包括antd、bootstrap、eleme等累计140456个图标 + */ +import { defineAsyncComponent } from 'vue' +const components = import.meta.glob('./**/*.vue') // 异步方式 +export default function install(app) { + for (const [key, value] of Object.entries(components)) { + const name = key.slice(key.lastIndexOf('/') + 1, key.lastIndexOf('.')) + app.component(name, defineAsyncComponent(value)) + } +} diff --git a/src/assets/icons/mobile/filled/iconfont.css b/src/assets/icons/mobile/filled/iconfont.css new file mode 100644 index 0000000..a4e757d --- /dev/null +++ b/src/assets/icons/mobile/filled/iconfont.css @@ -0,0 +1,173 @@ +@font-face { + font-family: "snowy"; /* Project id 3880534 */ + src: url('iconfont.ttf?t=1675528061732') format('truetype'); +} + +.snowy { + font-family: "snowy" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.arrow-up-filling:before { + content: "\e688"; +} + +.arrow-down-filling:before { + content: "\e689"; +} + +.arrow-left-filling:before { + content: "\e68a"; +} + +.arrow-right-filling:before { + content: "\e68b"; +} + +.caps-unlock-filling:before { + content: "\e68c"; +} + +.comment-filling:before { + content: "\e68d"; +} + +.check-item-filling:before { + content: "\e68e"; +} + +.clock-filling:before { + content: "\e68f"; +} + +.delete-filling:before { + content: "\e690"; +} + +.decline-filling:before { + content: "\e691"; +} + +.dynamic-filling:before { + content: "\e692"; +} + +.intermediate-filling:before { + content: "\e693"; +} + +.favorite-filling:before { + content: "\e694"; +} + +.layout-filling:before { + content: "\e695"; +} + +.help-filling:before { + content: "\e696"; +} + +.history-filling:before { + content: "\e697"; +} + +.filter-filling:before { + content: "\e698"; +} + +.file-common-filling:before { + content: "\e699"; +} + +.news-filling:before { + content: "\e69a"; +} + +.edit-filling:before { + content: "\e69b"; +} + +.fullscreen-expand-filling:before { + content: "\e69c"; +} + +.smile-filling:before { + content: "\e69d"; +} + +.rise-filling:before { + content: "\e69e"; +} + +.picture-filling:before { + content: "\e69f"; +} + +.notification-filling:before { + content: "\e6a0"; +} + +.user-filling:before { + content: "\e6a1"; +} + +.setting-filling:before { + content: "\e6a2"; +} + +.switch-filling:before { + content: "\e6a3"; +} + +.work-filling:before { + content: "\e6a4"; +} + +.task-filling:before { + content: "\e6a5"; +} + +.success-filling:before { + content: "\e6a6"; +} + +.warning-filling:before { + content: "\e6a7"; +} + +.folder-filling:before { + content: "\e6a8"; +} + +.map-filling:before { + content: "\e6a9"; +} + +.prompt-filling:before { + content: "\e6aa"; +} + +.meh-filling:before { + content: "\e6ab"; +} + +.cry-filling:before { + content: "\e6ac"; +} + +.top-filling:before { + content: "\e6ad"; +} + +.home-filling:before { + content: "\e6ae"; +} + +.sorting:before { + content: "\e6af"; +} + diff --git a/src/assets/icons/mobile/filled/iconfont.json b/src/assets/icons/mobile/filled/iconfont.json new file mode 100644 index 0000000..5189f8e --- /dev/null +++ b/src/assets/icons/mobile/filled/iconfont.json @@ -0,0 +1,289 @@ +{ + "id": "3880534", + "name": "snowy-app-filled", + "font_family": "snowy", + "css_prefix_text": "", + "description": "", + "glyphs": [ + { + "icon_id": "15838581", + "name": "arrow-up-filling", + "font_class": "arrow-up-filling", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "15838582", + "name": "arrow-down-filling", + "font_class": "arrow-down-filling", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "15838583", + "name": "arrow-left-filling", + "font_class": "arrow-left-filling", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "15838584", + "name": "arrow-right-filling", + "font_class": "arrow-right-filling", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "15838585", + "name": "caps-unlock-filling", + "font_class": "caps-unlock-filling", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "15838586", + "name": "comment-filling", + "font_class": "comment-filling", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "15838587", + "name": "check-item-filling", + "font_class": "check-item-filling", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "15838588", + "name": "clock-filling", + "font_class": "clock-filling", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "15838589", + "name": "delete-filling", + "font_class": "delete-filling", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "15838590", + "name": "decline-filling", + "font_class": "decline-filling", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "15838591", + "name": "dynamic-filling", + "font_class": "dynamic-filling", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "15838592", + "name": "intermediate-filling", + "font_class": "intermediate-filling", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "15838593", + "name": "favorite-filling", + "font_class": "favorite-filling", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "15838594", + "name": "layout-filling", + "font_class": "layout-filling", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "15838595", + "name": "help-filling", + "font_class": "help-filling", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "15838596", + "name": "history-filling", + "font_class": "history-filling", + "unicode": "e697", + "unicode_decimal": 59031 + }, + { + "icon_id": "15838597", + "name": "filter-filling", + "font_class": "filter-filling", + "unicode": "e698", + "unicode_decimal": 59032 + }, + { + "icon_id": "15838598", + "name": "file-common-filling", + "font_class": "file-common-filling", + "unicode": "e699", + "unicode_decimal": 59033 + }, + { + "icon_id": "15838599", + "name": "news-filling", + "font_class": "news-filling", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "15838600", + "name": "edit-filling", + "font_class": "edit-filling", + "unicode": "e69b", + "unicode_decimal": 59035 + }, + { + "icon_id": "15838601", + "name": "fullscreen-expand-filling", + "font_class": "fullscreen-expand-filling", + "unicode": "e69c", + "unicode_decimal": 59036 + }, + { + "icon_id": "15838602", + "name": "smile-filling", + "font_class": "smile-filling", + "unicode": "e69d", + "unicode_decimal": 59037 + }, + { + "icon_id": "15838603", + "name": "rise-filling", + "font_class": "rise-filling", + "unicode": "e69e", + "unicode_decimal": 59038 + }, + { + "icon_id": "15838604", + "name": "picture-filling", + "font_class": "picture-filling", + "unicode": "e69f", + "unicode_decimal": 59039 + }, + { + "icon_id": "15838605", + "name": "notification-filling", + "font_class": "notification-filling", + "unicode": "e6a0", + "unicode_decimal": 59040 + }, + { + "icon_id": "15838606", + "name": "user-filling", + "font_class": "user-filling", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "15838607", + "name": "setting-filling", + "font_class": "setting-filling", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "15838608", + "name": "switch-filling", + "font_class": "switch-filling", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "15838609", + "name": "work-filling", + "font_class": "work-filling", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "15838610", + "name": "task-filling", + "font_class": "task-filling", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "15838611", + "name": "success-filling", + "font_class": "success-filling", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "15838612", + "name": "warning-filling", + "font_class": "warning-filling", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "15838613", + "name": "folder-filling", + "font_class": "folder-filling", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "15838614", + "name": "map-filling", + "font_class": "map-filling", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "15838615", + "name": "prompt-filling", + "font_class": "prompt-filling", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "15838616", + "name": "meh-filling", + "font_class": "meh-filling", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "15838617", + "name": "cry-filling", + "font_class": "cry-filling", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "15838618", + "name": "top-filling", + "font_class": "top-filling", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "15838619", + "name": "home-filling", + "font_class": "home-filling", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "15838620", + "name": "sorting", + "font_class": "sorting", + "unicode": "e6af", + "unicode_decimal": 59055 + } + ] +} diff --git a/src/assets/icons/mobile/filled/iconfont.ttf b/src/assets/icons/mobile/filled/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8fbd1813030a53bde513155e5ef1c3220389f1ea GIT binary patch literal 8816 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 MccDBlWG3Xl0E!Ylpa1{> literal 0 HcmV?d00001 diff --git a/src/assets/icons/mobile/index.js b/src/assets/icons/mobile/index.js new file mode 100644 index 0000000..6ed837b --- /dev/null +++ b/src/assets/icons/mobile/index.js @@ -0,0 +1,36 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ +import './line/iconfont.css' +import lineJsonData from './line/iconfont.json' + +import './filled/iconfont.css' +import filledJsonData from './filled/iconfont.json' + +export default { + icons: [ + { + name: '基础', + key: 'default', + iconItem: [ + { + name: '线框风格', + key: 'default', + item: lineJsonData.glyphs + }, + { + name: '实底风格', + key: 'filled', + item: filledJsonData.glyphs + } + ] + } + ] +} diff --git a/src/assets/icons/mobile/line/iconfont.css b/src/assets/icons/mobile/line/iconfont.css new file mode 100644 index 0000000..4042c72 --- /dev/null +++ b/src/assets/icons/mobile/line/iconfont.css @@ -0,0 +1,825 @@ +@font-face { + font-family: "snowy"; /* Project id 3791763 */ + src: url('iconfont.ttf?t=1675526220710') format('truetype'); +} + +.snowy { + font-family: "snowy" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.export-outlined:before { + content: "\e792"; +} + +.experiment-outlined:before { + content: "\e7c9"; +} + +.expand-outlined:before { + content: "\e915"; +} + +.expand-alt-outlined:before { + content: "\e7e9"; +} + +.exception-outlined:before { + content: "\e7bb"; +} + +.euro-outlined:before { + content: "\e78f"; +} + +.euro-circle-outlined:before { + content: "\eb62"; +} + +.environment-outlined:before { + content: "\e790"; +} + +.ellipsis-outlined:before { + content: "\e815"; +} + +.download-outlined:before { + content: "\e814"; +} + +.dollar-outlined:before { + content: "\e78d"; +} + +.dollar-circle-outlined:before { + content: "\eb61"; +} + +.dislike-outlined:before { + content: "\e7c8"; +} + +.disconnect-outlined:before { + content: "\e7e8"; +} + +.dingtalk-outlined:before { + content: "\e881"; +} + +.desktop-outlined:before { + content: "\e845"; +} + +.deployment-unit-outlined:before { + content: "\e7d2"; +} + +.delivered-procedure-outlined:before { + content: "\e911"; +} + +.delete-column-outlined:before { + content: "\e901"; +} + +.delete-row-outlined:before { + content: "\e902"; +} + +.database-outlined:before { + content: "\e7b9"; +} + +.dashboard-outlined:before { + content: "\e78b"; +} + +.customer-service-outlined:before { + content: "\e7ca"; +} + +.crown-outlined:before { + content: "\e844"; +} + +.credit-card-outlined:before { + content: "\e7e5"; +} + +.copyright-outlined:before { + content: "\e789"; +} + +.copyright-circle-outlined:before { + content: "\eb60"; +} + +.control-outlined:before { + content: "\e79c"; +} + +.container-outlined:before { + content: "\e7b8"; +} + +.contacts-outlined:before { + content: "\e7e4"; +} + +.console-sql-outlined:before { + content: "\e910"; +} + +.compress-outlined:before { + content: "\e914"; +} + +.compass-outlined:before { + content: "\e786"; +} + +.comment-outlined:before { + content: "\e8ea"; +} + +.coffee-outlined:before { + content: "\e6b5"; +} + +.code-outlined:before { + content: "\e79b"; +} + +.cloud-server-outlined:before { + content: "\e7db"; +} + +.cloud-upload-outlined:before { + content: "\e7dc"; +} + +.cloud-outlined:before { + content: "\e7dd"; +} + +.cloud-download-outlined:before { + content: "\e7de"; +} + +.cloud-sync-outlined:before { + content: "\e7e0"; +} + +.clear-outlined:before { + content: "\e900"; +} + +.ci-circle-outlined:before { + content: "\e77f"; +} + +.carry-out-outlined:before { + content: "\e7d6"; +} + +.car-outlined:before { + content: "\e7da"; +} + +.ci-outlined:before { + content: "\eb5f"; +} + +.camera-outlined:before { + content: "\e7d9"; +} + +.calendar-outlined:before { + content: "\e7d4"; +} + +.calculator-outlined:before { + content: "\e79a"; +} + +.bulb-outlined:before { + content: "\e7c7"; +} + +.build-outlined:before { + content: "\e7d5"; +} + +.bug-outlined:before { + content: "\e8e9"; +} + +.branches-outlined:before { + content: "\e7e7"; +} + +.borderless-table-outlined:before { + content: "\e813"; +} + +.border-outlined:before { + content: "\e7b7"; +} + +.book-outlined:before { + content: "\e7b6"; +} + +.block-outlined:before { + content: "\e7df"; +} + +.bell-outlined:before { + content: "\e7c5"; +} + +.bars-outlined:before { + content: "\e71a"; +} + +.barcode-outlined:before { + content: "\e7d8"; +} + +.bank-outlined:before { + content: "\e7c6"; +} + +.audit-outlined:before { + content: "\e7c0"; +} + +.audio-outlined:before { + content: "\e89b"; +} + +.audio-muted-outlined:before { + content: "\e8e8"; +} + +.api-outlined:before { + content: "\e7e3"; +} + +.apartment-outlined:before { + content: "\e89a"; +} + +.alert-outlined:before { + content: "\e7c4"; +} + +.aim-outlined:before { + content: "\e913"; +} + +.account-book-outlined:before { + content: "\e7d3"; +} + +.column-height-outlined:before { + content: "\e811"; +} + +.column-width-outlined:before { + content: "\e812"; +} + +.radius-setting-outlined:before { + content: "\e7b5"; +} + +.unordered-list-outlined:before { + content: "\e80f"; +} + +.ordered-list-outlined:before { + content: "\e810"; +} + +.drag-outlined:before { + content: "\e843"; +} + +.sort-descending-outlined:before { + content: "\e80d"; +} + +.sort-ascending-outlined:before { + content: "\e80e"; +} + +.font-colors-outlined:before { + content: "\e808"; +} + +.font-size-outlined:before { + content: "\e809"; +} + +.line-height-outlined:before { + content: "\e80a"; +} + +.dash-outlined:before { + content: "\e80b"; +} + +.small-dash-outlined:before { + content: "\e80c"; +} + +.zoom-out-outlined:before { + content: "\e898"; +} + +.zoom-in-outlined:before { + content: "\e899"; +} + +.undo-outlined:before { + content: "\e787"; +} + +.redo-outlined:before { + content: "\e788"; +} + +.bold-outlined:before { + content: "\e804"; +} + +.strikethrough-outlined:before { + content: "\e805"; +} + +.underline-outlined:before { + content: "\e806"; +} + +.italic-outlined:before { + content: "\e807"; +} + +.bg-colors-outlined:before { + content: "\e803"; +} + +.align-right-outlined:before { + content: "\e7fb"; +} + +.align-left-outlined:before { + content: "\e802"; +} + +.align-center-outlined:before { + content: "\e7f5"; +} + +.highlight-outlined:before { + content: "\e7e2"; +} + +.diff-outlined:before { + content: "\e7bf"; +} + +.snippets-outlined:before { + content: "\e7bd"; +} + +.delete-outlined:before { + content: "\e7c3"; +} + +.scissor-outlined:before { + content: "\e7e6"; +} + +.copy-outlined:before { + content: "\e7bc"; +} + +.form-outlined:before { + content: "\e791"; +} + +.edit-outlined:before { + content: "\e7e1"; +} + +.stop-outlined:before { + content: "\e842"; +} + +.issues-close-outlined:before { + content: "\e68e"; +} + +.warning-outlined:before { + content: "\e682"; +} + +.clock-circle-outlined:before { + content: "\e784"; +} + +.check-circle-outlined:before { + content: "\e77d"; +} + +.check-square-outlined:before { + content: "\e794"; +} + +.check-outlined:before { + content: "\e7fc"; +} + +.exclamation-circle-outlined:before { + content: "\e785"; +} + +.exclamation-outlined:before { + content: "\e7fa"; +} + +.info-circle-outlined:before { + content: "\e77e"; +} + +.info-outlined:before { + content: "\e7f9"; +} + +.minus-square-outlined:before { + content: "\e796"; +} + +.plus-square-outlined:before { + content: "\e797"; +} + +.minus-circle-outlined:before { + content: "\e780"; +} + +.minus-outlined:before { + content: "\e801"; +} + +.pause-circle-outlined:before { + content: "\e783"; +} + +.pause-outlined:before { + content: "\e800"; +} + +.plus-circle-outlined:before { + content: "\e781"; +} + +.plus-outlined:before { + content: "\e8fe"; +} + +.question-circle-outlined:before { + content: "\e782"; +} + +.question-outlined:before { + content: "\e7ff"; +} + +.fullscreen-outlined:before { + content: "\e7ec"; +} + +.fullscreen-exit-outlined:before { + content: "\e7ed"; +} + +.radius-bottomleft-outlined:before { + content: "\e7b1"; +} + +.radius-bottomright-outlined:before { + content: "\e7b2"; +} + +.radius-upleft-outlined:before { + content: "\e7b3"; +} + +.radius-upright-outlined:before { + content: "\e7b4"; +} + +.pic-center-outlined:before { + content: "\e7f6"; +} + +.pic-right-outlined:before { + content: "\e7f7"; +} + +.pic-left-outlined:before { + content: "\e7f8"; +} + +.border-outer-outlined:before { + content: "\e7a9"; +} + +.border-top-outlined:before { + content: "\e7aa"; +} + +.border-bottom-outlined:before { + content: "\e7ab"; +} + +.border-left-outlined:before { + content: "\e7ac"; +} + +.border-right-outlined:before { + content: "\e7ad"; +} + +.border-inner-outlined:before { + content: "\e7ae"; +} + +.border-verticle-outlined:before { + content: "\e7af"; +} + +.border-horizontal-outlined:before { + content: "\e7b0"; +} + +.menu-unfold-outlined:before { + content: "\e7f3"; +} + +.menu-fold-outlined:before { + content: "\e7f4"; +} + +.logout-outlined:before { + content: "\e78c"; +} + +.login-outlined:before { + content: "\e8f4"; +} + +.cluster-outlined:before { + content: "\e7d7"; +} + +.down-square-outlined:before { + content: "\e793"; +} + +.left-square-outlined:before { + content: "\e795"; +} + +.right-square-outlined:before { + content: "\e798"; +} + +.up-Square-outlined:before { + content: "\e799"; +} + +.play-circle-outlined:before { + content: "\e67a"; +} + +.arrow-down-outlined:before { + content: "\e66d"; +} + +.arrow-right-outlined:before { + content: "\e66e"; +} + +.arrow-up-outlined:before { + content: "\e66f"; +} + +.arrow-left-outlined:before { + content: "\e670"; +} + +.swap-outlined:before { + content: "\e7f2"; +} + +.swap-right-outlined:before { + content: "\e8f2"; +} + +.swap-left-outlined:before { + content: "\e8f3"; +} + +.enter-outlined:before { + content: "\e7fd"; +} + +.rollback-outlined:before { + content: "\e7fe"; +} + +.retweet-outlined:before { + content: "\e8f1"; +} + +.fast-backward-outlined:before { + content: "\e8ed"; +} + +.fast-forward-outlined:before { + content: "\e8ee"; +} + +.vertical-align-bottom-outlined:before { + content: "\e7ef"; +} + +.vertical-align-middle-outlined:before { + content: "\e7f0"; +} + +.vertical-align-top-outlined:before { + content: "\e7f1"; +} + +.vertical-right-outlined:before { + content: "\e7ea"; +} + +.vertical-left-outlined:before { + content: "\e7eb"; +} + +.double-left-outlined:before { + content: "\e66b"; +} + +.double-right-outlined:before { + content: "\e66c"; +} + +.up-circle-outlined:before { + content: "\e666"; +} + +.right-circle-outlined:before { + content: "\e667"; +} + +.left-circle-outlined:before { + content: "\e66a"; +} + +.down-circle-outlined:before { + content: "\eb5e"; +} + +.caret-up-outlined:before { + content: "\e689"; +} + +.caret-down-outlined:before { + content: "\e68a"; +} + +.caret-left-outlined:before { + content: "\e68b"; +} + +.caret-right-outlined:before { + content: "\e68c"; +} + +.left-outlined:before { + content: "\e685"; +} + +.up-outlined:before { + content: "\e686"; +} + +.down-outlined:before { + content: "\e687"; +} + +.right-outlined:before { + content: "\e688"; +} + +.arrows-alt-outlined:before { + content: "\e665"; +} + +.shrink-outlined:before { + content: "\e68d"; +} + +.step-backward-outlined:before { + content: "\e8ef"; +} + +.step-forward-outlined:before { + content: "\e8f0"; +} + +.robot-outlined:before { + content: "\e897"; +} + +.file-word-outlined:before { + content: "\e7ba"; +} + +.usergroup-delete-outlined:before { + content: "\e760"; +} + +.field-time-outlined:before { + content: "\eb5d"; +} + +.setting-outlined:before { + content: "\e78e"; +} + +.file-search-outlined:before { + content: "\e730"; +} + +.team-outlined:before { + content: "\e67d"; +} + +.message-outlined:before { + content: "\e78a"; +} + +.mail-outlined:before { + content: "\e62e"; +} + +.send-outlined:before { + content: "\e622"; +} + +.appstore-add-outlined:before { + content: "\e8eb"; +} + +.user-outlined:before { + content: "\e641"; +} + +.project-outlined:before { + content: "\e746"; +} + +.hdd-outlined:before { + content: "\e734"; +} + +.tool-outlined:before { + content: "\e75b"; +} + +.user-switch-outlined:before { + content: "\ea3d"; +} + +.appstore-outlined:before { + content: "\e601"; +} + +.home-outlined:before { + content: "\e965"; +} + diff --git a/src/assets/icons/mobile/line/iconfont.json b/src/assets/icons/mobile/line/iconfont.json new file mode 100644 index 0000000..6f38067 --- /dev/null +++ b/src/assets/icons/mobile/line/iconfont.json @@ -0,0 +1,1430 @@ +{ + "id": "3791763", + "name": "snowy-app", + "font_family": "snowy", + "css_prefix_text": "", + "description": "", + "glyphs": [ + { + "icon_id": "4765958", + "name": "export", + "font_class": "export-outlined", + "unicode": "e792", + "unicode_decimal": 59282 + }, + { + "icon_id": "4766679", + "name": "experiment", + "font_class": "experiment-outlined", + "unicode": "e7c9", + "unicode_decimal": 59337 + }, + { + "icon_id": "9230692", + "name": "expend", + "font_class": "expand-outlined", + "unicode": "e915", + "unicode_decimal": 59669 + }, + { + "icon_id": "4767007", + "name": "arrawsalt", + "font_class": "expand-alt-outlined", + "unicode": "e7e9", + "unicode_decimal": 59369 + }, + { + "icon_id": "4766461", + "name": "file -exception", + "font_class": "exception-outlined", + "unicode": "e7bb", + "unicode_decimal": 59323 + }, + { + "icon_id": "4765730", + "name": "EURO", + "font_class": "euro-outlined", + "unicode": "e78f", + "unicode_decimal": 59279 + }, + { + "icon_id": "33968870", + "name": "EURO-copy", + "font_class": "euro-circle-outlined", + "unicode": "eb62", + "unicode_decimal": 60258 + }, + { + "icon_id": "4765897", + "name": "location", + "font_class": "environment-outlined", + "unicode": "e790", + "unicode_decimal": 59280 + }, + { + "icon_id": "4767094", + "name": "ellipsis", + "font_class": "ellipsis-outlined", + "unicode": "e815", + "unicode_decimal": 59413 + }, + { + "icon_id": "4767031", + "name": "download", + "font_class": "download-outlined", + "unicode": "e814", + "unicode_decimal": 59412 + }, + { + "icon_id": "4765723", + "name": "Dollar", + "font_class": "dollar-outlined", + "unicode": "e78d", + "unicode_decimal": 59277 + }, + { + "icon_id": "33968867", + "name": "Dollar-copy", + "font_class": "dollar-circle-outlined", + "unicode": "eb61", + "unicode_decimal": 60257 + }, + { + "icon_id": "4766693", + "name": "unlike", + "font_class": "dislike-outlined", + "unicode": "e7c8", + "unicode_decimal": 59336 + }, + { + "icon_id": "4766962", + "name": "disconnect", + "font_class": "disconnect-outlined", + "unicode": "e7e8", + "unicode_decimal": 59368 + }, + { + "icon_id": "4936979", + "name": "dingtalk", + "font_class": "dingtalk-outlined", + "unicode": "e881", + "unicode_decimal": 59521 + }, + { + "icon_id": "4936457", + "name": "desktop", + "font_class": "desktop-outlined", + "unicode": "e845", + "unicode_decimal": 59461 + }, + { + "icon_id": "4766849", + "name": "deployment unit", + "font_class": "deployment-unit-outlined", + "unicode": "e7d2", + "unicode_decimal": 59346 + }, + { + "icon_id": "9229182", + "name": "Stored procedure", + "font_class": "delivered-procedure-outlined", + "unicode": "e911", + "unicode_decimal": 59665 + }, + { + "icon_id": "8094808", + "name": "delete column", + "font_class": "delete-column-outlined", + "unicode": "e901", + "unicode_decimal": 59649 + }, + { + "icon_id": "8094822", + "name": "delete row", + "font_class": "delete-row-outlined", + "unicode": "e902", + "unicode_decimal": 59650 + }, + { + "icon_id": "4766439", + "name": "database", + "font_class": "database-outlined", + "unicode": "e7b9", + "unicode_decimal": 59321 + }, + { + "icon_id": "4765881", + "name": "dashboard", + "font_class": "dashboard-outlined", + "unicode": "e78b", + "unicode_decimal": 59275 + }, + { + "icon_id": "4766762", + "name": "customerservice", + "font_class": "customer-service-outlined", + "unicode": "e7ca", + "unicode_decimal": 59338 + }, + { + "icon_id": "4936455", + "name": "crown", + "font_class": "crown-outlined", + "unicode": "e844", + "unicode_decimal": 59460 + }, + { + "icon_id": "4766921", + "name": "credit card", + "font_class": "credit-card-outlined", + "unicode": "e7e5", + "unicode_decimal": 59365 + }, + { + "icon_id": "4765731", + "name": "copyright", + "font_class": "copyright-outlined", + "unicode": "e789", + "unicode_decimal": 59273 + }, + { + "icon_id": "33968858", + "name": "copyright-copy", + "font_class": "copyright-circle-outlined", + "unicode": "eb60", + "unicode_decimal": 60256 + }, + { + "icon_id": "4765969", + "name": "control", + "font_class": "control-outlined", + "unicode": "e79c", + "unicode_decimal": 59292 + }, + { + "icon_id": "4766438", + "name": "container", + "font_class": "container-outlined", + "unicode": "e7b8", + "unicode_decimal": 59320 + }, + { + "icon_id": "4766855", + "name": "contacts", + "font_class": "contacts-outlined", + "unicode": "e7e4", + "unicode_decimal": 59364 + }, + { + "icon_id": "9229185", + "name": "Console-SQL", + "font_class": "console-sql-outlined", + "unicode": "e910", + "unicode_decimal": 59664 + }, + { + "icon_id": "9230691", + "name": "compress", + "font_class": "compress-outlined", + "unicode": "e914", + "unicode_decimal": 59668 + }, + { + "icon_id": "4765724", + "name": "compass", + "font_class": "compass-outlined", + "unicode": "e786", + "unicode_decimal": 59270 + }, + { + "icon_id": "6598316", + "name": "comment", + "font_class": "comment-outlined", + "unicode": "e8ea", + "unicode_decimal": 59626 + }, + { + "icon_id": "12258804", + "name": "coffee", + "font_class": "coffee-outlined", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "4765970", + "name": "code library", + "font_class": "code-outlined", + "unicode": "e79b", + "unicode_decimal": 59291 + }, + { + "icon_id": "4766900", + "name": "cloud-server", + "font_class": "cloud-server-outlined", + "unicode": "e7db", + "unicode_decimal": 59355 + }, + { + "icon_id": "4766901", + "name": "cloud-upload", + "font_class": "cloud-upload-outlined", + "unicode": "e7dc", + "unicode_decimal": 59356 + }, + { + "icon_id": "4766902", + "name": "cloud", + "font_class": "cloud-outlined", + "unicode": "e7dd", + "unicode_decimal": 59357 + }, + { + "icon_id": "4766903", + "name": "cloud-download", + "font_class": "cloud-download-outlined", + "unicode": "e7de", + "unicode_decimal": 59358 + }, + { + "icon_id": "4766904", + "name": "cloud-sync", + "font_class": "cloud-sync-outlined", + "unicode": "e7e0", + "unicode_decimal": 59360 + }, + { + "icon_id": "8094805", + "name": "clear", + "font_class": "clear-outlined", + "unicode": "e900", + "unicode_decimal": 59648 + }, + { + "icon_id": "4765722", + "name": "CI", + "font_class": "ci-circle-outlined", + "unicode": "e77f", + "unicode_decimal": 59263 + }, + { + "icon_id": "4766856", + "name": "carry out", + "font_class": "carry-out-outlined", + "unicode": "e7d6", + "unicode_decimal": 59350 + }, + { + "icon_id": "4766886", + "name": "car", + "font_class": "car-outlined", + "unicode": "e7da", + "unicode_decimal": 59354 + }, + { + "icon_id": "33968843", + "name": "CI-copy", + "font_class": "ci-outlined", + "unicode": "eb5f", + "unicode_decimal": 60255 + }, + { + "icon_id": "4766883", + "name": "camera", + "font_class": "camera-outlined", + "unicode": "e7d9", + "unicode_decimal": 59353 + }, + { + "icon_id": "4766858", + "name": "calendar", + "font_class": "calendar-outlined", + "unicode": "e7d4", + "unicode_decimal": 59348 + }, + { + "icon_id": "4765978", + "name": "calculator", + "font_class": "calculator-outlined", + "unicode": "e79a", + "unicode_decimal": 59290 + }, + { + "icon_id": "4766678", + "name": "bulb", + "font_class": "bulb-outlined", + "unicode": "e7c7", + "unicode_decimal": 59335 + }, + { + "icon_id": "4766872", + "name": "build", + "font_class": "build-outlined", + "unicode": "e7d5", + "unicode_decimal": 59349 + }, + { + "icon_id": "6598314", + "name": "bug", + "font_class": "bug-outlined", + "unicode": "e8e9", + "unicode_decimal": 59625 + }, + { + "icon_id": "4766986", + "name": "branches", + "font_class": "branches-outlined", + "unicode": "e7e7", + "unicode_decimal": 59367 + }, + { + "icon_id": "4767086", + "name": "number", + "font_class": "borderless-table-outlined", + "unicode": "e813", + "unicode_decimal": 59411 + }, + { + "icon_id": "4766265", + "name": "border", + "font_class": "border-outlined", + "unicode": "e7b7", + "unicode_decimal": 59319 + }, + { + "icon_id": "4766454", + "name": "book", + "font_class": "book-outlined", + "unicode": "e7b6", + "unicode_decimal": 59318 + }, + { + "icon_id": "4766952", + "name": "block", + "font_class": "block-outlined", + "unicode": "e7df", + "unicode_decimal": 59359 + }, + { + "icon_id": "4766680", + "name": "bell", + "font_class": "bell-outlined", + "unicode": "e7c5", + "unicode_decimal": 59333 + }, + { + "icon_id": "7239635", + "name": "bars", + "font_class": "bars-outlined", + "unicode": "e71a", + "unicode_decimal": 59162 + }, + { + "icon_id": "4766882", + "name": "barcode", + "font_class": "barcode-outlined", + "unicode": "e7d8", + "unicode_decimal": 59352 + }, + { + "icon_id": "4766686", + "name": "bank", + "font_class": "bank-outlined", + "unicode": "e7c6", + "unicode_decimal": 59334 + }, + { + "icon_id": "4766507", + "name": "audit", + "font_class": "audit-outlined", + "unicode": "e7c0", + "unicode_decimal": 59328 + }, + { + "icon_id": "5756281", + "name": "audio", + "font_class": "audio-outlined", + "unicode": "e89b", + "unicode_decimal": 59547 + }, + { + "icon_id": "6598315", + "name": "audio static", + "font_class": "audio-muted-outlined", + "unicode": "e8e8", + "unicode_decimal": 59624 + }, + { + "icon_id": "4766961", + "name": "api", + "font_class": "api-outlined", + "unicode": "e7e3", + "unicode_decimal": 59363 + }, + { + "icon_id": "5756280", + "name": "apartment", + "font_class": "apartment-outlined", + "unicode": "e89a", + "unicode_decimal": 59546 + }, + { + "icon_id": "4766675", + "name": "alert", + "font_class": "alert-outlined", + "unicode": "e7c4", + "unicode_decimal": 59332 + }, + { + "icon_id": "9230690", + "name": "aim", + "font_class": "aim-outlined", + "unicode": "e913", + "unicode_decimal": 59667 + }, + { + "icon_id": "4766854", + "name": "account book", + "font_class": "account-book-outlined", + "unicode": "e7d3", + "unicode_decimal": 59347 + }, + { + "icon_id": "4767026", + "name": "colum-height", + "font_class": "column-height-outlined", + "unicode": "e811", + "unicode_decimal": 59409 + }, + { + "icon_id": "4767092", + "name": "column-width", + "font_class": "column-width-outlined", + "unicode": "e812", + "unicode_decimal": 59410 + }, + { + "icon_id": "4766286", + "name": "radius-setting", + "font_class": "radius-setting-outlined", + "unicode": "e7b5", + "unicode_decimal": 59317 + }, + { + "icon_id": "4767060", + "name": "unordered list", + "font_class": "unordered-list-outlined", + "unicode": "e80f", + "unicode_decimal": 59407 + }, + { + "icon_id": "4767061", + "name": "ordered list", + "font_class": "ordered-list-outlined", + "unicode": "e810", + "unicode_decimal": 59408 + }, + { + "icon_id": "4936456", + "name": "drag", + "font_class": "drag-outlined", + "unicode": "e843", + "unicode_decimal": 59459 + }, + { + "icon_id": "4767038", + "name": "sort-descending", + "font_class": "sort-descending-outlined", + "unicode": "e80d", + "unicode_decimal": 59405 + }, + { + "icon_id": "4767039", + "name": "sort-ascending", + "font_class": "sort-ascending-outlined", + "unicode": "e80e", + "unicode_decimal": 59406 + }, + { + "icon_id": "4767079", + "name": "font-colors", + "font_class": "font-colors-outlined", + "unicode": "e808", + "unicode_decimal": 59400 + }, + { + "icon_id": "4767081", + "name": "font-size", + "font_class": "font-size-outlined", + "unicode": "e809", + "unicode_decimal": 59401 + }, + { + "icon_id": "4767083", + "name": "line-height", + "font_class": "line-height-outlined", + "unicode": "e80a", + "unicode_decimal": 59402 + }, + { + "icon_id": "4767095", + "name": "dash", + "font_class": "dash-outlined", + "unicode": "e80b", + "unicode_decimal": 59403 + }, + { + "icon_id": "4767103", + "name": "small-dash", + "font_class": "small-dash-outlined", + "unicode": "e80c", + "unicode_decimal": 59404 + }, + { + "icon_id": "5756279", + "name": "zoom out", + "font_class": "zoom-out-outlined", + "unicode": "e898", + "unicode_decimal": 59544 + }, + { + "icon_id": "5756284", + "name": "zoom in", + "font_class": "zoom-in-outlined", + "unicode": "e899", + "unicode_decimal": 59545 + }, + { + "icon_id": "4765837", + "name": "undo", + "font_class": "undo-outlined", + "unicode": "e787", + "unicode_decimal": 59271 + }, + { + "icon_id": "4765838", + "name": "redo", + "font_class": "redo-outlined", + "unicode": "e788", + "unicode_decimal": 59272 + }, + { + "icon_id": "4767078", + "name": "bold", + "font_class": "bold-outlined", + "unicode": "e804", + "unicode_decimal": 59396 + }, + { + "icon_id": "4767084", + "name": "strikethrough", + "font_class": "strikethrough-outlined", + "unicode": "e805", + "unicode_decimal": 59397 + }, + { + "icon_id": "4767085", + "name": "underline", + "font_class": "underline-outlined", + "unicode": "e806", + "unicode_decimal": 59398 + }, + { + "icon_id": "4767087", + "name": "italic", + "font_class": "italic-outlined", + "unicode": "e807", + "unicode_decimal": 59399 + }, + { + "icon_id": "4767106", + "name": "bg-colors", + "font_class": "bg-colors-outlined", + "unicode": "e803", + "unicode_decimal": 59395 + }, + { + "icon_id": "4767062", + "name": "align-right", + "font_class": "align-right-outlined", + "unicode": "e7fb", + "unicode_decimal": 59387 + }, + { + "icon_id": "4767064", + "name": "align-left", + "font_class": "align-left-outlined", + "unicode": "e802", + "unicode_decimal": 59394 + }, + { + "icon_id": "4767063", + "name": "align-center", + "font_class": "align-center-outlined", + "unicode": "e7f5", + "unicode_decimal": 59381 + }, + { + "icon_id": "4766963", + "name": "highlight", + "font_class": "highlight-outlined", + "unicode": "e7e2", + "unicode_decimal": 59362 + }, + { + "icon_id": "4766508", + "name": "diff", + "font_class": "diff-outlined", + "unicode": "e7bf", + "unicode_decimal": 59327 + }, + { + "icon_id": "4766482", + "name": "snippets", + "font_class": "snippets-outlined", + "unicode": "e7bd", + "unicode_decimal": 59325 + }, + { + "icon_id": "4766676", + "name": "delete", + "font_class": "delete-outlined", + "unicode": "e7c3", + "unicode_decimal": 59331 + }, + { + "icon_id": "4766982", + "name": "scissor", + "font_class": "scissor-outlined", + "unicode": "e7e6", + "unicode_decimal": 59366 + }, + { + "icon_id": "4766481", + "name": "file-copy", + "font_class": "copy-outlined", + "unicode": "e7bc", + "unicode_decimal": 59324 + }, + { + "icon_id": "4765957", + "name": "edit-square", + "font_class": "form-outlined", + "unicode": "e791", + "unicode_decimal": 59281 + }, + { + "icon_id": "4766959", + "name": "edit", + "font_class": "edit-outlined", + "unicode": "e7e1", + "unicode_decimal": 59361 + }, + { + "icon_id": "4936459", + "name": "stop", + "font_class": "stop-outlined", + "unicode": "e842", + "unicode_decimal": 59458 + }, + { + "icon_id": "23563617", + "name": "WarningOctagon", + "font_class": "issues-close-outlined", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "15838551", + "name": "warning", + "font_class": "warning-outlined", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "4765741", + "name": "time-circle", + "font_class": "clock-circle-outlined", + "unicode": "e784", + "unicode_decimal": 59268 + }, + { + "icon_id": "4765725", + "name": "close-circle", + "font_class": "check-circle-outlined", + "unicode": "e77d", + "unicode_decimal": 59261 + }, + { + "icon_id": "4765964", + "name": "close-square", + "font_class": "check-square-outlined", + "unicode": "e794", + "unicode_decimal": 59284 + }, + { + "icon_id": "4767096", + "name": "close", + "font_class": "check-outlined", + "unicode": "e7fc", + "unicode_decimal": 59388 + }, + { + "icon_id": "4765746", + "name": "warning-circle", + "font_class": "exclamation-circle-outlined", + "unicode": "e785", + "unicode_decimal": 59269 + }, + { + "icon_id": "4767080", + "name": "exclaimination", + "font_class": "exclamation-outlined", + "unicode": "e7fa", + "unicode_decimal": 59386 + }, + { + "icon_id": "4765727", + "name": "info-circle", + "font_class": "info-circle-outlined", + "unicode": "e77e", + "unicode_decimal": 59262 + }, + { + "icon_id": "4767082", + "name": "infomation", + "font_class": "info-outlined", + "unicode": "e7f9", + "unicode_decimal": 59385 + }, + { + "icon_id": "4765972", + "name": "minus-square", + "font_class": "minus-square-outlined", + "unicode": "e796", + "unicode_decimal": 59286 + }, + { + "icon_id": "4765973", + "name": "plus-square", + "font_class": "plus-square-outlined", + "unicode": "e797", + "unicode_decimal": 59287 + }, + { + "icon_id": "4765732", + "name": "minus-circle", + "font_class": "minus-circle-outlined", + "unicode": "e780", + "unicode_decimal": 59264 + }, + { + "icon_id": "4767099", + "name": "minus", + "font_class": "minus-outlined", + "unicode": "e801", + "unicode_decimal": 59393 + }, + { + "icon_id": "4765742", + "name": "time out", + "font_class": "pause-circle-outlined", + "unicode": "e783", + "unicode_decimal": 59267 + }, + { + "icon_id": "4767104", + "name": "pause", + "font_class": "pause-outlined", + "unicode": "e800", + "unicode_decimal": 59392 + }, + { + "icon_id": "4765734", + "name": "plus-circle", + "font_class": "plus-circle-outlined", + "unicode": "e781", + "unicode_decimal": 59265 + }, + { + "icon_id": "7834345", + "name": "plus", + "font_class": "plus-outlined", + "unicode": "e8fe", + "unicode_decimal": 59646 + }, + { + "icon_id": "4765736", + "name": "question-circle", + "font_class": "question-circle-outlined", + "unicode": "e782", + "unicode_decimal": 59266 + }, + { + "icon_id": "4767100", + "name": "question", + "font_class": "question-outlined", + "unicode": "e7ff", + "unicode_decimal": 59391 + }, + { + "icon_id": "4767015", + "name": "fullscreen", + "font_class": "fullscreen-outlined", + "unicode": "e7ec", + "unicode_decimal": 59372 + }, + { + "icon_id": "4767016", + "name": "fullscreen-exit", + "font_class": "fullscreen-exit-outlined", + "unicode": "e7ed", + "unicode_decimal": 59373 + }, + { + "icon_id": "4766282", + "name": "radius-bottomleft", + "font_class": "radius-bottomleft-outlined", + "unicode": "e7b1", + "unicode_decimal": 59313 + }, + { + "icon_id": "4766283", + "name": "radius-bottomright", + "font_class": "radius-bottomright-outlined", + "unicode": "e7b2", + "unicode_decimal": 59314 + }, + { + "icon_id": "4766284", + "name": "radius-upleft", + "font_class": "radius-upleft-outlined", + "unicode": "e7b3", + "unicode_decimal": 59315 + }, + { + "icon_id": "4766285", + "name": "radius-upright", + "font_class": "radius-upright-outlined", + "unicode": "e7b4", + "unicode_decimal": 59316 + }, + { + "icon_id": "4767072", + "name": "pic-center", + "font_class": "pic-center-outlined", + "unicode": "e7f6", + "unicode_decimal": 59382 + }, + { + "icon_id": "4767073", + "name": "pic-right", + "font_class": "pic-right-outlined", + "unicode": "e7f7", + "unicode_decimal": 59383 + }, + { + "icon_id": "4767074", + "name": "pic-left", + "font_class": "pic-left-outlined", + "unicode": "e7f8", + "unicode_decimal": 59384 + }, + { + "icon_id": "4766266", + "name": "border-outer", + "font_class": "border-outer-outlined", + "unicode": "e7a9", + "unicode_decimal": 59305 + }, + { + "icon_id": "4766268", + "name": "border-top", + "font_class": "border-top-outlined", + "unicode": "e7aa", + "unicode_decimal": 59306 + }, + { + "icon_id": "4766269", + "name": "border-bottom", + "font_class": "border-bottom-outlined", + "unicode": "e7ab", + "unicode_decimal": 59307 + }, + { + "icon_id": "4766270", + "name": "border-left", + "font_class": "border-left-outlined", + "unicode": "e7ac", + "unicode_decimal": 59308 + }, + { + "icon_id": "4766271", + "name": "border-right", + "font_class": "border-right-outlined", + "unicode": "e7ad", + "unicode_decimal": 59309 + }, + { + "icon_id": "4766276", + "name": "border-inner", + "font_class": "border-inner-outlined", + "unicode": "e7ae", + "unicode_decimal": 59310 + }, + { + "icon_id": "4766277", + "name": "border-verticle", + "font_class": "border-verticle-outlined", + "unicode": "e7af", + "unicode_decimal": 59311 + }, + { + "icon_id": "4766278", + "name": "border-horizontal", + "font_class": "border-horizontal-outlined", + "unicode": "e7b0", + "unicode_decimal": 59312 + }, + { + "icon_id": "4767050", + "name": "indent", + "font_class": "menu-unfold-outlined", + "unicode": "e7f3", + "unicode_decimal": 59379 + }, + { + "icon_id": "4767051", + "name": "outdent", + "font_class": "menu-fold-outlined", + "unicode": "e7f4", + "unicode_decimal": 59380 + }, + { + "icon_id": "4765888", + "name": "logout", + "font_class": "logout-outlined", + "unicode": "e78c", + "unicode_decimal": 59276 + }, + { + "icon_id": "6598349", + "name": "login", + "font_class": "login-outlined", + "unicode": "e8f4", + "unicode_decimal": 59636 + }, + { + "icon_id": "4766884", + "name": "cluster", + "font_class": "cluster-outlined", + "unicode": "e7d7", + "unicode_decimal": 59351 + }, + { + "icon_id": "4765965", + "name": "down-square", + "font_class": "down-square-outlined", + "unicode": "e793", + "unicode_decimal": 59283 + }, + { + "icon_id": "4765967", + "name": "left-square", + "font_class": "left-square-outlined", + "unicode": "e795", + "unicode_decimal": 59285 + }, + { + "icon_id": "4765974", + "name": "right-square", + "font_class": "right-square-outlined", + "unicode": "e798", + "unicode_decimal": 59288 + }, + { + "icon_id": "4765977", + "name": "up-square", + "font_class": "up-Square-outlined", + "unicode": "e799", + "unicode_decimal": 59289 + }, + { + "icon_id": "15838511", + "name": "play", + "font_class": "play-circle-outlined", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "15838455", + "name": "direction-down", + "font_class": "arrow-down-outlined", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "15838460", + "name": "direction-right", + "font_class": "arrow-right-outlined", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "15838461", + "name": "direction-up", + "font_class": "arrow-up-outlined", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "15838463", + "name": "direction-left", + "font_class": "arrow-left-outlined", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "4767044", + "name": "swap", + "font_class": "swap-outlined", + "unicode": "e7f2", + "unicode_decimal": 59378 + }, + { + "icon_id": "6598352", + "name": "swap-right", + "font_class": "swap-right-outlined", + "unicode": "e8f2", + "unicode_decimal": 59634 + }, + { + "icon_id": "6598353", + "name": "swap-left", + "font_class": "swap-left-outlined", + "unicode": "e8f3", + "unicode_decimal": 59635 + }, + { + "icon_id": "4767097", + "name": "enter", + "font_class": "enter-outlined", + "unicode": "e7fd", + "unicode_decimal": 59389 + }, + { + "icon_id": "4767102", + "name": "rollback", + "font_class": "rollback-outlined", + "unicode": "e7fe", + "unicode_decimal": 59390 + }, + { + "icon_id": "6598348", + "name": "retweet", + "font_class": "retweet-outlined", + "unicode": "e8f1", + "unicode_decimal": 59633 + }, + { + "icon_id": "6598344", + "name": "fast-backward", + "font_class": "fast-backward-outlined", + "unicode": "e8ed", + "unicode_decimal": 59629 + }, + { + "icon_id": "6598346", + "name": "fast-forward", + "font_class": "fast-forward-outlined", + "unicode": "e8ee", + "unicode_decimal": 59630 + }, + { + "icon_id": "4767027", + "name": "vertical-align-botto", + "font_class": "vertical-align-bottom-outlined", + "unicode": "e7ef", + "unicode_decimal": 59375 + }, + { + "icon_id": "4767028", + "name": "vertical-align-middl", + "font_class": "vertical-align-middle-outlined", + "unicode": "e7f0", + "unicode_decimal": 59376 + }, + { + "icon_id": "4767030", + "name": "vertical-align-top", + "font_class": "vertical-align-top-outlined", + "unicode": "e7f1", + "unicode_decimal": 59377 + }, + { + "icon_id": "4767009", + "name": "vertical right", + "font_class": "vertical-right-outlined", + "unicode": "e7ea", + "unicode_decimal": 59370 + }, + { + "icon_id": "4767010", + "name": "vertical left", + "font_class": "vertical-left-outlined", + "unicode": "e7eb", + "unicode_decimal": 59371 + }, + { + "icon_id": "15838436", + "name": "arrow-double-left", + "font_class": "double-left-outlined", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "15838438", + "name": "arrow-double-right", + "font_class": "double-right-outlined", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "15838427", + "name": "arrow-up-circle", + "font_class": "up-circle-outlined", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "15838428", + "name": "arrow-right-circle", + "font_class": "right-circle-outlined", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "15838437", + "name": "arrow-left-circle", + "font_class": "left-circle-outlined", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "33966825", + "name": "arrow-right-circle-copy", + "font_class": "down-circle-outlined", + "unicode": "eb5e", + "unicode_decimal": 60254 + }, + { + "icon_id": "15838581", + "name": "arrow-up-filling", + "font_class": "caret-up-outlined", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "15838582", + "name": "arrow-down-filling", + "font_class": "caret-down-outlined", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "15838583", + "name": "arrow-left-filling", + "font_class": "caret-left-outlined", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "15838584", + "name": "arrow-right-filling", + "font_class": "caret-right-outlined", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "15838561", + "name": "arrow-left-bold", + "font_class": "left-outlined", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "15838562", + "name": "arrow-up-bold", + "font_class": "up-outlined", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "15838564", + "name": "arrow-down-bold", + "font_class": "down-outlined", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "15838566", + "name": "arrow-right-bold", + "font_class": "right-outlined", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "22894640", + "name": "arrowsalt", + "font_class": "arrows-alt-outlined", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "22894827", + "name": "shrink", + "font_class": "shrink-outlined", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "6598350", + "name": "step-backward", + "font_class": "step-backward-outlined", + "unicode": "e8ef", + "unicode_decimal": 59631 + }, + { + "icon_id": "6598351", + "name": "step-forward", + "font_class": "step-forward-outlined", + "unicode": "e8f0", + "unicode_decimal": 59632 + }, + { + "icon_id": "5756283", + "name": "robot", + "font_class": "robot-outlined", + "unicode": "e897", + "unicode_decimal": 59543 + }, + { + "icon_id": "4766477", + "name": "file-word", + "font_class": "file-word-outlined", + "unicode": "e7ba", + "unicode_decimal": 59322 + }, + { + "icon_id": "7239944", + "name": "usergroup-delete", + "font_class": "usergroup-delete-outlined", + "unicode": "e760", + "unicode_decimal": 59232 + }, + { + "icon_id": "19685392", + "name": "时间", + "font_class": "field-time-outlined", + "unicode": "eb5d", + "unicode_decimal": 60253 + }, + { + "icon_id": "4765891", + "name": "setting", + "font_class": "setting-outlined", + "unicode": "e78e", + "unicode_decimal": 59278 + }, + { + "icon_id": "7239751", + "name": "file-search", + "font_class": "file-search-outlined", + "unicode": "e730", + "unicode_decimal": 59184 + }, + { + "icon_id": "11538085", + "name": "team", + "font_class": "team-outlined", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "4765866", + "name": "message", + "font_class": "message-outlined", + "unicode": "e78a", + "unicode_decimal": 59274 + }, + { + "icon_id": "109759", + "name": "mail", + "font_class": "mail-outlined", + "unicode": "e62e", + "unicode_decimal": 58926 + }, + { + "icon_id": "1302559", + "name": "send", + "font_class": "send-outlined", + "unicode": "e622", + "unicode_decimal": 58914 + }, + { + "icon_id": "6598323", + "name": "appstore add", + "font_class": "appstore-add-outlined", + "unicode": "e8eb", + "unicode_decimal": 59627 + }, + { + "icon_id": "23701226", + "name": "User-Outlined", + "font_class": "user-outlined", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "7239852", + "name": "project", + "font_class": "project-outlined", + "unicode": "e746", + "unicode_decimal": 59206 + }, + { + "icon_id": "7239770", + "name": "hdd", + "font_class": "hdd-outlined", + "unicode": "e734", + "unicode_decimal": 59188 + }, + { + "icon_id": "7239921", + "name": "tool", + "font_class": "tool-outlined", + "unicode": "e75b", + "unicode_decimal": 59227 + }, + { + "icon_id": "24342656", + "name": "user switch-line", + "font_class": "user-switch-outlined", + "unicode": "ea3d", + "unicode_decimal": 59965 + }, + { + "icon_id": "5226469", + "name": "apps", + "font_class": "appstore-outlined", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "11981662", + "name": "home_outlined", + "font_class": "home-outlined", + "unicode": "e965", + "unicode_decimal": 59749 + } + ] +} diff --git a/src/assets/icons/mobile/line/iconfont.ttf b/src/assets/icons/mobile/line/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..439f7b4339768acffd31105fb9d5b1fd2a733b40 GIT binary patch literal 54080 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/uiw/UiwAdobe.vue b/src/assets/icons/uiw/UiwAdobe.vue new file mode 100644 index 0000000..eeb251c --- /dev/null +++ b/src/assets/icons/uiw/UiwAdobe.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/assets/icons/uiw/UiwAlipay.vue b/src/assets/icons/uiw/UiwAlipay.vue new file mode 100644 index 0000000..f1302fe --- /dev/null +++ b/src/assets/icons/uiw/UiwAlipay.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/assets/icons/uiw/UiwAliwangwang.vue b/src/assets/icons/uiw/UiwAliwangwang.vue new file mode 100644 index 0000000..8929ce5 --- /dev/null +++ b/src/assets/icons/uiw/UiwAliwangwang.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/assets/icons/uiw/UiwAndroid.vue b/src/assets/icons/uiw/UiwAndroid.vue new file mode 100644 index 0000000..018a0e2 --- /dev/null +++ b/src/assets/icons/uiw/UiwAndroid.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwAndroidO.vue b/src/assets/icons/uiw/UiwAndroidO.vue new file mode 100644 index 0000000..f9bd480 --- /dev/null +++ b/src/assets/icons/uiw/UiwAndroidO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwApple.vue b/src/assets/icons/uiw/UiwApple.vue new file mode 100644 index 0000000..5b79aab --- /dev/null +++ b/src/assets/icons/uiw/UiwApple.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwAppstore.vue b/src/assets/icons/uiw/UiwAppstore.vue new file mode 100644 index 0000000..8c8e253 --- /dev/null +++ b/src/assets/icons/uiw/UiwAppstore.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwAppstoreO.vue b/src/assets/icons/uiw/UiwAppstoreO.vue new file mode 100644 index 0000000..8530de5 --- /dev/null +++ b/src/assets/icons/uiw/UiwAppstoreO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwAreaChart.vue b/src/assets/icons/uiw/UiwAreaChart.vue new file mode 100644 index 0000000..b0e401f --- /dev/null +++ b/src/assets/icons/uiw/UiwAreaChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwArrowDown.vue b/src/assets/icons/uiw/UiwArrowDown.vue new file mode 100644 index 0000000..04615a7 --- /dev/null +++ b/src/assets/icons/uiw/UiwArrowDown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwArrowLeft.vue b/src/assets/icons/uiw/UiwArrowLeft.vue new file mode 100644 index 0000000..5a66e4c --- /dev/null +++ b/src/assets/icons/uiw/UiwArrowLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwArrowRight.vue b/src/assets/icons/uiw/UiwArrowRight.vue new file mode 100644 index 0000000..0918899 --- /dev/null +++ b/src/assets/icons/uiw/UiwArrowRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwArrowUp.vue b/src/assets/icons/uiw/UiwArrowUp.vue new file mode 100644 index 0000000..0763b8a --- /dev/null +++ b/src/assets/icons/uiw/UiwArrowUp.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwArrowsAlt.vue b/src/assets/icons/uiw/UiwArrowsAlt.vue new file mode 100644 index 0000000..40f4221 --- /dev/null +++ b/src/assets/icons/uiw/UiwArrowsAlt.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwAsterisk.vue b/src/assets/icons/uiw/UiwAsterisk.vue new file mode 100644 index 0000000..507d5bb --- /dev/null +++ b/src/assets/icons/uiw/UiwAsterisk.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwBackward.vue b/src/assets/icons/uiw/UiwBackward.vue new file mode 100644 index 0000000..b0b34e9 --- /dev/null +++ b/src/assets/icons/uiw/UiwBackward.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwBaidu.vue b/src/assets/icons/uiw/UiwBaidu.vue new file mode 100644 index 0000000..a27af05 --- /dev/null +++ b/src/assets/icons/uiw/UiwBaidu.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwBarChart.vue b/src/assets/icons/uiw/UiwBarChart.vue new file mode 100644 index 0000000..6a4e002 --- /dev/null +++ b/src/assets/icons/uiw/UiwBarChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwBarcode.vue b/src/assets/icons/uiw/UiwBarcode.vue new file mode 100644 index 0000000..3f2f272 --- /dev/null +++ b/src/assets/icons/uiw/UiwBarcode.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwBell.vue b/src/assets/icons/uiw/UiwBell.vue new file mode 100644 index 0000000..234bce7 --- /dev/null +++ b/src/assets/icons/uiw/UiwBell.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCameraO.vue b/src/assets/icons/uiw/UiwCameraO.vue new file mode 100644 index 0000000..1c9b6cf --- /dev/null +++ b/src/assets/icons/uiw/UiwCameraO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCaretDown.vue b/src/assets/icons/uiw/UiwCaretDown.vue new file mode 100644 index 0000000..2be10a9 --- /dev/null +++ b/src/assets/icons/uiw/UiwCaretDown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCaretLeft.vue b/src/assets/icons/uiw/UiwCaretLeft.vue new file mode 100644 index 0000000..85015dd --- /dev/null +++ b/src/assets/icons/uiw/UiwCaretLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCaretRight.vue b/src/assets/icons/uiw/UiwCaretRight.vue new file mode 100644 index 0000000..10a02eb --- /dev/null +++ b/src/assets/icons/uiw/UiwCaretRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCaretUp.vue b/src/assets/icons/uiw/UiwCaretUp.vue new file mode 100644 index 0000000..6661bbb --- /dev/null +++ b/src/assets/icons/uiw/UiwCaretUp.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCheck.vue b/src/assets/icons/uiw/UiwCheck.vue new file mode 100644 index 0000000..9b2277f --- /dev/null +++ b/src/assets/icons/uiw/UiwCheck.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCheckSquare.vue b/src/assets/icons/uiw/UiwCheckSquare.vue new file mode 100644 index 0000000..fb5d191 --- /dev/null +++ b/src/assets/icons/uiw/UiwCheckSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCheckSquareO.vue b/src/assets/icons/uiw/UiwCheckSquareO.vue new file mode 100644 index 0000000..f1cb1fc --- /dev/null +++ b/src/assets/icons/uiw/UiwCheckSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwChrome.vue b/src/assets/icons/uiw/UiwChrome.vue new file mode 100644 index 0000000..c458e8a --- /dev/null +++ b/src/assets/icons/uiw/UiwChrome.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCircleCheck.vue b/src/assets/icons/uiw/UiwCircleCheck.vue new file mode 100644 index 0000000..419ddb5 --- /dev/null +++ b/src/assets/icons/uiw/UiwCircleCheck.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCircleCheckO.vue b/src/assets/icons/uiw/UiwCircleCheckO.vue new file mode 100644 index 0000000..0238a4a --- /dev/null +++ b/src/assets/icons/uiw/UiwCircleCheckO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCircleClose.vue b/src/assets/icons/uiw/UiwCircleClose.vue new file mode 100644 index 0000000..2fde618 --- /dev/null +++ b/src/assets/icons/uiw/UiwCircleClose.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCircleCloseO.vue b/src/assets/icons/uiw/UiwCircleCloseO.vue new file mode 100644 index 0000000..751487b --- /dev/null +++ b/src/assets/icons/uiw/UiwCircleCloseO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCircleO.vue b/src/assets/icons/uiw/UiwCircleO.vue new file mode 100644 index 0000000..d85fb1c --- /dev/null +++ b/src/assets/icons/uiw/UiwCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwClose.vue b/src/assets/icons/uiw/UiwClose.vue new file mode 100644 index 0000000..b06d661 --- /dev/null +++ b/src/assets/icons/uiw/UiwClose.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCloseSquare.vue b/src/assets/icons/uiw/UiwCloseSquare.vue new file mode 100644 index 0000000..deb736b --- /dev/null +++ b/src/assets/icons/uiw/UiwCloseSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCloseSquareO.vue b/src/assets/icons/uiw/UiwCloseSquareO.vue new file mode 100644 index 0000000..6b9768d --- /dev/null +++ b/src/assets/icons/uiw/UiwCloseSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCloudDownload.vue b/src/assets/icons/uiw/UiwCloudDownload.vue new file mode 100644 index 0000000..1b2a118 --- /dev/null +++ b/src/assets/icons/uiw/UiwCloudDownload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCloudDownloadO.vue b/src/assets/icons/uiw/UiwCloudDownloadO.vue new file mode 100644 index 0000000..c52b56c --- /dev/null +++ b/src/assets/icons/uiw/UiwCloudDownloadO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCloudUpload.vue b/src/assets/icons/uiw/UiwCloudUpload.vue new file mode 100644 index 0000000..f001bbd --- /dev/null +++ b/src/assets/icons/uiw/UiwCloudUpload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCloudUploadO.vue b/src/assets/icons/uiw/UiwCloudUploadO.vue new file mode 100644 index 0000000..2c1c839 --- /dev/null +++ b/src/assets/icons/uiw/UiwCloudUploadO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCoffee.vue b/src/assets/icons/uiw/UiwCoffee.vue new file mode 100644 index 0000000..2993f2a --- /dev/null +++ b/src/assets/icons/uiw/UiwCoffee.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwComponent.vue b/src/assets/icons/uiw/UiwComponent.vue new file mode 100644 index 0000000..3ef4f88 --- /dev/null +++ b/src/assets/icons/uiw/UiwComponent.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCopy.vue b/src/assets/icons/uiw/UiwCopy.vue new file mode 100644 index 0000000..c139047 --- /dev/null +++ b/src/assets/icons/uiw/UiwCopy.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCopyright.vue b/src/assets/icons/uiw/UiwCopyright.vue new file mode 100644 index 0000000..a4edc57 --- /dev/null +++ b/src/assets/icons/uiw/UiwCopyright.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCss3.vue b/src/assets/icons/uiw/UiwCss3.vue new file mode 100644 index 0000000..831ce0b --- /dev/null +++ b/src/assets/icons/uiw/UiwCss3.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwCut.vue b/src/assets/icons/uiw/UiwCut.vue new file mode 100644 index 0000000..8431803 --- /dev/null +++ b/src/assets/icons/uiw/UiwCut.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDArrowLeft.vue b/src/assets/icons/uiw/UiwDArrowLeft.vue new file mode 100644 index 0000000..0a56aba --- /dev/null +++ b/src/assets/icons/uiw/UiwDArrowLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDArrowRight.vue b/src/assets/icons/uiw/UiwDArrowRight.vue new file mode 100644 index 0000000..726ecc9 --- /dev/null +++ b/src/assets/icons/uiw/UiwDArrowRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDCaret.vue b/src/assets/icons/uiw/UiwDCaret.vue new file mode 100644 index 0000000..b5fc335 --- /dev/null +++ b/src/assets/icons/uiw/UiwDCaret.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDashboard.vue b/src/assets/icons/uiw/UiwDashboard.vue new file mode 100644 index 0000000..28fe35b --- /dev/null +++ b/src/assets/icons/uiw/UiwDashboard.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDate.vue b/src/assets/icons/uiw/UiwDate.vue new file mode 100644 index 0000000..fb471e8 --- /dev/null +++ b/src/assets/icons/uiw/UiwDate.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDelete.vue b/src/assets/icons/uiw/UiwDelete.vue new file mode 100644 index 0000000..d8f27a4 --- /dev/null +++ b/src/assets/icons/uiw/UiwDelete.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDingding.vue b/src/assets/icons/uiw/UiwDingding.vue new file mode 100644 index 0000000..1b7c0d9 --- /dev/null +++ b/src/assets/icons/uiw/UiwDingding.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDislikeO.vue b/src/assets/icons/uiw/UiwDislikeO.vue new file mode 100644 index 0000000..a801e22 --- /dev/null +++ b/src/assets/icons/uiw/UiwDislikeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDocument.vue b/src/assets/icons/uiw/UiwDocument.vue new file mode 100644 index 0000000..76bb35c --- /dev/null +++ b/src/assets/icons/uiw/UiwDocument.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDotChart.vue b/src/assets/icons/uiw/UiwDotChart.vue new file mode 100644 index 0000000..37a0bb7 --- /dev/null +++ b/src/assets/icons/uiw/UiwDotChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDown.vue b/src/assets/icons/uiw/UiwDown.vue new file mode 100644 index 0000000..4f35548 --- /dev/null +++ b/src/assets/icons/uiw/UiwDown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDownCircle.vue b/src/assets/icons/uiw/UiwDownCircle.vue new file mode 100644 index 0000000..5e11567 --- /dev/null +++ b/src/assets/icons/uiw/UiwDownCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDownCircleO.vue b/src/assets/icons/uiw/UiwDownCircleO.vue new file mode 100644 index 0000000..ce5d1ca --- /dev/null +++ b/src/assets/icons/uiw/UiwDownCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDownSquare.vue b/src/assets/icons/uiw/UiwDownSquare.vue new file mode 100644 index 0000000..d410116 --- /dev/null +++ b/src/assets/icons/uiw/UiwDownSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDownSquareO.vue b/src/assets/icons/uiw/UiwDownSquareO.vue new file mode 100644 index 0000000..7bdadbb --- /dev/null +++ b/src/assets/icons/uiw/UiwDownSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwDownload.vue b/src/assets/icons/uiw/UiwDownload.vue new file mode 100644 index 0000000..f7bf9b6 --- /dev/null +++ b/src/assets/icons/uiw/UiwDownload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwEdit.vue b/src/assets/icons/uiw/UiwEdit.vue new file mode 100644 index 0000000..51c461a --- /dev/null +++ b/src/assets/icons/uiw/UiwEdit.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwEnter.vue b/src/assets/icons/uiw/UiwEnter.vue new file mode 100644 index 0000000..083fd97 --- /dev/null +++ b/src/assets/icons/uiw/UiwEnter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwEnvironment.vue b/src/assets/icons/uiw/UiwEnvironment.vue new file mode 100644 index 0000000..4ec4248 --- /dev/null +++ b/src/assets/icons/uiw/UiwEnvironment.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwEnvironmentO.vue b/src/assets/icons/uiw/UiwEnvironmentO.vue new file mode 100644 index 0000000..128610d --- /dev/null +++ b/src/assets/icons/uiw/UiwEnvironmentO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwEye.vue b/src/assets/icons/uiw/UiwEye.vue new file mode 100644 index 0000000..6f6a027 --- /dev/null +++ b/src/assets/icons/uiw/UiwEye.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwEyeO.vue b/src/assets/icons/uiw/UiwEyeO.vue new file mode 100644 index 0000000..ec5aae8 --- /dev/null +++ b/src/assets/icons/uiw/UiwEyeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFacebook.vue b/src/assets/icons/uiw/UiwFacebook.vue new file mode 100644 index 0000000..3e17586 --- /dev/null +++ b/src/assets/icons/uiw/UiwFacebook.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFileAdd.vue b/src/assets/icons/uiw/UiwFileAdd.vue new file mode 100644 index 0000000..54ad300 --- /dev/null +++ b/src/assets/icons/uiw/UiwFileAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFileExcel.vue b/src/assets/icons/uiw/UiwFileExcel.vue new file mode 100644 index 0000000..3232020 --- /dev/null +++ b/src/assets/icons/uiw/UiwFileExcel.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFileJpg.vue b/src/assets/icons/uiw/UiwFileJpg.vue new file mode 100644 index 0000000..4131142 --- /dev/null +++ b/src/assets/icons/uiw/UiwFileJpg.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFilePdf.vue b/src/assets/icons/uiw/UiwFilePdf.vue new file mode 100644 index 0000000..c6256da --- /dev/null +++ b/src/assets/icons/uiw/UiwFilePdf.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFileText.vue b/src/assets/icons/uiw/UiwFileText.vue new file mode 100644 index 0000000..20f5f85 --- /dev/null +++ b/src/assets/icons/uiw/UiwFileText.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFileUnknown.vue b/src/assets/icons/uiw/UiwFileUnknown.vue new file mode 100644 index 0000000..83f8f94 --- /dev/null +++ b/src/assets/icons/uiw/UiwFileUnknown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFilter.vue b/src/assets/icons/uiw/UiwFilter.vue new file mode 100644 index 0000000..462e957 --- /dev/null +++ b/src/assets/icons/uiw/UiwFilter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFirefox.vue b/src/assets/icons/uiw/UiwFirefox.vue new file mode 100644 index 0000000..84e6a65 --- /dev/null +++ b/src/assets/icons/uiw/UiwFirefox.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFolder.vue b/src/assets/icons/uiw/UiwFolder.vue new file mode 100644 index 0000000..517f279 --- /dev/null +++ b/src/assets/icons/uiw/UiwFolder.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFolderAdd.vue b/src/assets/icons/uiw/UiwFolderAdd.vue new file mode 100644 index 0000000..2a0725f --- /dev/null +++ b/src/assets/icons/uiw/UiwFolderAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFolderOpen.vue b/src/assets/icons/uiw/UiwFolderOpen.vue new file mode 100644 index 0000000..b7067f2 --- /dev/null +++ b/src/assets/icons/uiw/UiwFolderOpen.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwForward.vue b/src/assets/icons/uiw/UiwForward.vue new file mode 100644 index 0000000..37c450b --- /dev/null +++ b/src/assets/icons/uiw/UiwForward.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFoursquare.vue b/src/assets/icons/uiw/UiwFoursquare.vue new file mode 100644 index 0000000..e140ec2 --- /dev/null +++ b/src/assets/icons/uiw/UiwFoursquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFrown.vue b/src/assets/icons/uiw/UiwFrown.vue new file mode 100644 index 0000000..93a5f2d --- /dev/null +++ b/src/assets/icons/uiw/UiwFrown.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwFrownO.vue b/src/assets/icons/uiw/UiwFrownO.vue new file mode 100644 index 0000000..fdeeb14 --- /dev/null +++ b/src/assets/icons/uiw/UiwFrownO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwGithub.vue b/src/assets/icons/uiw/UiwGithub.vue new file mode 100644 index 0000000..7355bb7 --- /dev/null +++ b/src/assets/icons/uiw/UiwGithub.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwGithubO.vue b/src/assets/icons/uiw/UiwGithubO.vue new file mode 100644 index 0000000..b84067b --- /dev/null +++ b/src/assets/icons/uiw/UiwGithubO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwGlobal.vue b/src/assets/icons/uiw/UiwGlobal.vue new file mode 100644 index 0000000..c15f2fa --- /dev/null +++ b/src/assets/icons/uiw/UiwGlobal.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwHeartOff.vue b/src/assets/icons/uiw/UiwHeartOff.vue new file mode 100644 index 0000000..12e21a5 --- /dev/null +++ b/src/assets/icons/uiw/UiwHeartOff.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwHeartOn.vue b/src/assets/icons/uiw/UiwHeartOn.vue new file mode 100644 index 0000000..fff274a --- /dev/null +++ b/src/assets/icons/uiw/UiwHeartOn.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwHome.vue b/src/assets/icons/uiw/UiwHome.vue new file mode 100644 index 0000000..d02254a --- /dev/null +++ b/src/assets/icons/uiw/UiwHome.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwHtml5.vue b/src/assets/icons/uiw/UiwHtml5.vue new file mode 100644 index 0000000..553f31c --- /dev/null +++ b/src/assets/icons/uiw/UiwHtml5.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwIe.vue b/src/assets/icons/uiw/UiwIe.vue new file mode 100644 index 0000000..38dffc4 --- /dev/null +++ b/src/assets/icons/uiw/UiwIe.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwInbox.vue b/src/assets/icons/uiw/UiwInbox.vue new file mode 100644 index 0000000..4af3125 --- /dev/null +++ b/src/assets/icons/uiw/UiwInbox.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwInformation.vue b/src/assets/icons/uiw/UiwInformation.vue new file mode 100644 index 0000000..ff4b4b5 --- /dev/null +++ b/src/assets/icons/uiw/UiwInformation.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwInformationO.vue b/src/assets/icons/uiw/UiwInformationO.vue new file mode 100644 index 0000000..a202497 --- /dev/null +++ b/src/assets/icons/uiw/UiwInformationO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLaptop.vue b/src/assets/icons/uiw/UiwLaptop.vue new file mode 100644 index 0000000..a65bc1c --- /dev/null +++ b/src/assets/icons/uiw/UiwLaptop.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLeft.vue b/src/assets/icons/uiw/UiwLeft.vue new file mode 100644 index 0000000..6f14627 --- /dev/null +++ b/src/assets/icons/uiw/UiwLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLeftCircle.vue b/src/assets/icons/uiw/UiwLeftCircle.vue new file mode 100644 index 0000000..187a2b2 --- /dev/null +++ b/src/assets/icons/uiw/UiwLeftCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLeftCircleO.vue b/src/assets/icons/uiw/UiwLeftCircleO.vue new file mode 100644 index 0000000..1e53313 --- /dev/null +++ b/src/assets/icons/uiw/UiwLeftCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLeftSquare.vue b/src/assets/icons/uiw/UiwLeftSquare.vue new file mode 100644 index 0000000..69e752b --- /dev/null +++ b/src/assets/icons/uiw/UiwLeftSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLeftSquareO.vue b/src/assets/icons/uiw/UiwLeftSquareO.vue new file mode 100644 index 0000000..eb18ac6 --- /dev/null +++ b/src/assets/icons/uiw/UiwLeftSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLikeO.vue b/src/assets/icons/uiw/UiwLikeO.vue new file mode 100644 index 0000000..f5b27ab --- /dev/null +++ b/src/assets/icons/uiw/UiwLikeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLink.vue b/src/assets/icons/uiw/UiwLink.vue new file mode 100644 index 0000000..85efeff --- /dev/null +++ b/src/assets/icons/uiw/UiwLink.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLinkedin.vue b/src/assets/icons/uiw/UiwLinkedin.vue new file mode 100644 index 0000000..2fe04eb --- /dev/null +++ b/src/assets/icons/uiw/UiwLinkedin.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLinux.vue b/src/assets/icons/uiw/UiwLinux.vue new file mode 100644 index 0000000..13d9b58 --- /dev/null +++ b/src/assets/icons/uiw/UiwLinux.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLoading.vue b/src/assets/icons/uiw/UiwLoading.vue new file mode 100644 index 0000000..fb9227f --- /dev/null +++ b/src/assets/icons/uiw/UiwLoading.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLock.vue b/src/assets/icons/uiw/UiwLock.vue new file mode 100644 index 0000000..28f6dbc --- /dev/null +++ b/src/assets/icons/uiw/UiwLock.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLogin.vue b/src/assets/icons/uiw/UiwLogin.vue new file mode 100644 index 0000000..a898091 --- /dev/null +++ b/src/assets/icons/uiw/UiwLogin.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwLogout.vue b/src/assets/icons/uiw/UiwLogout.vue new file mode 100644 index 0000000..1f7a40c --- /dev/null +++ b/src/assets/icons/uiw/UiwLogout.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMail.vue b/src/assets/icons/uiw/UiwMail.vue new file mode 100644 index 0000000..fa2ffc4 --- /dev/null +++ b/src/assets/icons/uiw/UiwMail.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMailO.vue b/src/assets/icons/uiw/UiwMailO.vue new file mode 100644 index 0000000..32ec3f7 --- /dev/null +++ b/src/assets/icons/uiw/UiwMailO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMan.vue b/src/assets/icons/uiw/UiwMan.vue new file mode 100644 index 0000000..13f22b5 --- /dev/null +++ b/src/assets/icons/uiw/UiwMan.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMap.vue b/src/assets/icons/uiw/UiwMap.vue new file mode 100644 index 0000000..4365d9a --- /dev/null +++ b/src/assets/icons/uiw/UiwMap.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMeh.vue b/src/assets/icons/uiw/UiwMeh.vue new file mode 100644 index 0000000..c615aec --- /dev/null +++ b/src/assets/icons/uiw/UiwMeh.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMehO.vue b/src/assets/icons/uiw/UiwMehO.vue new file mode 100644 index 0000000..9105467 --- /dev/null +++ b/src/assets/icons/uiw/UiwMehO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMenu.vue b/src/assets/icons/uiw/UiwMenu.vue new file mode 100644 index 0000000..9f2d21f --- /dev/null +++ b/src/assets/icons/uiw/UiwMenu.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMenuFold.vue b/src/assets/icons/uiw/UiwMenuFold.vue new file mode 100644 index 0000000..3aacfea --- /dev/null +++ b/src/assets/icons/uiw/UiwMenuFold.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMenuUnfold.vue b/src/assets/icons/uiw/UiwMenuUnfold.vue new file mode 100644 index 0000000..c9c46d3 --- /dev/null +++ b/src/assets/icons/uiw/UiwMenuUnfold.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMessage.vue b/src/assets/icons/uiw/UiwMessage.vue new file mode 100644 index 0000000..84d51c8 --- /dev/null +++ b/src/assets/icons/uiw/UiwMessage.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMinus.vue b/src/assets/icons/uiw/UiwMinus.vue new file mode 100644 index 0000000..c430d03 --- /dev/null +++ b/src/assets/icons/uiw/UiwMinus.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMinusCircle.vue b/src/assets/icons/uiw/UiwMinusCircle.vue new file mode 100644 index 0000000..c782b1f --- /dev/null +++ b/src/assets/icons/uiw/UiwMinusCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMinusCircleO.vue b/src/assets/icons/uiw/UiwMinusCircleO.vue new file mode 100644 index 0000000..665cd87 --- /dev/null +++ b/src/assets/icons/uiw/UiwMinusCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMinusSquare.vue b/src/assets/icons/uiw/UiwMinusSquare.vue new file mode 100644 index 0000000..3a0aed2 --- /dev/null +++ b/src/assets/icons/uiw/UiwMinusSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMinusSquareO.vue b/src/assets/icons/uiw/UiwMinusSquareO.vue new file mode 100644 index 0000000..228a1e3 --- /dev/null +++ b/src/assets/icons/uiw/UiwMinusSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMobile.vue b/src/assets/icons/uiw/UiwMobile.vue new file mode 100644 index 0000000..95f3306 --- /dev/null +++ b/src/assets/icons/uiw/UiwMobile.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwMore.vue b/src/assets/icons/uiw/UiwMore.vue new file mode 100644 index 0000000..7fe9138 --- /dev/null +++ b/src/assets/icons/uiw/UiwMore.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwNotification.vue b/src/assets/icons/uiw/UiwNotification.vue new file mode 100644 index 0000000..22bf4cd --- /dev/null +++ b/src/assets/icons/uiw/UiwNotification.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwOpera.vue b/src/assets/icons/uiw/UiwOpera.vue new file mode 100644 index 0000000..81d1c2b --- /dev/null +++ b/src/assets/icons/uiw/UiwOpera.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPaperClip.vue b/src/assets/icons/uiw/UiwPaperClip.vue new file mode 100644 index 0000000..90e1721 --- /dev/null +++ b/src/assets/icons/uiw/UiwPaperClip.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPause.vue b/src/assets/icons/uiw/UiwPause.vue new file mode 100644 index 0000000..7f545ab --- /dev/null +++ b/src/assets/icons/uiw/UiwPause.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPauseCircle.vue b/src/assets/icons/uiw/UiwPauseCircle.vue new file mode 100644 index 0000000..ced2cfb --- /dev/null +++ b/src/assets/icons/uiw/UiwPauseCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPauseCircleO.vue b/src/assets/icons/uiw/UiwPauseCircleO.vue new file mode 100644 index 0000000..73b76b7 --- /dev/null +++ b/src/assets/icons/uiw/UiwPauseCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPay.vue b/src/assets/icons/uiw/UiwPay.vue new file mode 100644 index 0000000..8c04151 --- /dev/null +++ b/src/assets/icons/uiw/UiwPay.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPayCircleO.vue b/src/assets/icons/uiw/UiwPayCircleO.vue new file mode 100644 index 0000000..c187d65 --- /dev/null +++ b/src/assets/icons/uiw/UiwPayCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPicasa.vue b/src/assets/icons/uiw/UiwPicasa.vue new file mode 100644 index 0000000..d2879fc --- /dev/null +++ b/src/assets/icons/uiw/UiwPicasa.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPicture.vue b/src/assets/icons/uiw/UiwPicture.vue new file mode 100644 index 0000000..57392e4 --- /dev/null +++ b/src/assets/icons/uiw/UiwPicture.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPieChart.vue b/src/assets/icons/uiw/UiwPieChart.vue new file mode 100644 index 0000000..7d4c5f3 --- /dev/null +++ b/src/assets/icons/uiw/UiwPieChart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPinterest.vue b/src/assets/icons/uiw/UiwPinterest.vue new file mode 100644 index 0000000..8ff5f67 --- /dev/null +++ b/src/assets/icons/uiw/UiwPinterest.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlayCircle.vue b/src/assets/icons/uiw/UiwPlayCircle.vue new file mode 100644 index 0000000..e0fccf6 --- /dev/null +++ b/src/assets/icons/uiw/UiwPlayCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlayCircleO.vue b/src/assets/icons/uiw/UiwPlayCircleO.vue new file mode 100644 index 0000000..003e0fa --- /dev/null +++ b/src/assets/icons/uiw/UiwPlayCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlus.vue b/src/assets/icons/uiw/UiwPlus.vue new file mode 100644 index 0000000..6d88042 --- /dev/null +++ b/src/assets/icons/uiw/UiwPlus.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlusCircle.vue b/src/assets/icons/uiw/UiwPlusCircle.vue new file mode 100644 index 0000000..a671f61 --- /dev/null +++ b/src/assets/icons/uiw/UiwPlusCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlusCircleO.vue b/src/assets/icons/uiw/UiwPlusCircleO.vue new file mode 100644 index 0000000..d05b1b4 --- /dev/null +++ b/src/assets/icons/uiw/UiwPlusCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlusSquare.vue b/src/assets/icons/uiw/UiwPlusSquare.vue new file mode 100644 index 0000000..4e0f869 --- /dev/null +++ b/src/assets/icons/uiw/UiwPlusSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPlusSquareO.vue b/src/assets/icons/uiw/UiwPlusSquareO.vue new file mode 100644 index 0000000..2f4a2d8 --- /dev/null +++ b/src/assets/icons/uiw/UiwPlusSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPoweroff.vue b/src/assets/icons/uiw/UiwPoweroff.vue new file mode 100644 index 0000000..7672085 --- /dev/null +++ b/src/assets/icons/uiw/UiwPoweroff.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwPrinter.vue b/src/assets/icons/uiw/UiwPrinter.vue new file mode 100644 index 0000000..28bb2c9 --- /dev/null +++ b/src/assets/icons/uiw/UiwPrinter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwQq.vue b/src/assets/icons/uiw/UiwQq.vue new file mode 100644 index 0000000..9cca28c --- /dev/null +++ b/src/assets/icons/uiw/UiwQq.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwQrcode.vue b/src/assets/icons/uiw/UiwQrcode.vue new file mode 100644 index 0000000..e5d5cea --- /dev/null +++ b/src/assets/icons/uiw/UiwQrcode.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwQuestionCircle.vue b/src/assets/icons/uiw/UiwQuestionCircle.vue new file mode 100644 index 0000000..c061060 --- /dev/null +++ b/src/assets/icons/uiw/UiwQuestionCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwQuestionCircleO.vue b/src/assets/icons/uiw/UiwQuestionCircleO.vue new file mode 100644 index 0000000..7da5678 --- /dev/null +++ b/src/assets/icons/uiw/UiwQuestionCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwReddit.vue b/src/assets/icons/uiw/UiwReddit.vue new file mode 100644 index 0000000..d9c3df7 --- /dev/null +++ b/src/assets/icons/uiw/UiwReddit.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwReload.vue b/src/assets/icons/uiw/UiwReload.vue new file mode 100644 index 0000000..ff72db3 --- /dev/null +++ b/src/assets/icons/uiw/UiwReload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwRight.vue b/src/assets/icons/uiw/UiwRight.vue new file mode 100644 index 0000000..e055f65 --- /dev/null +++ b/src/assets/icons/uiw/UiwRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwRightCircle.vue b/src/assets/icons/uiw/UiwRightCircle.vue new file mode 100644 index 0000000..5decfb0 --- /dev/null +++ b/src/assets/icons/uiw/UiwRightCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwRightCircleO.vue b/src/assets/icons/uiw/UiwRightCircleO.vue new file mode 100644 index 0000000..19fca27 --- /dev/null +++ b/src/assets/icons/uiw/UiwRightCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwRightSquare.vue b/src/assets/icons/uiw/UiwRightSquare.vue new file mode 100644 index 0000000..7f87286 --- /dev/null +++ b/src/assets/icons/uiw/UiwRightSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwRightSquareO.vue b/src/assets/icons/uiw/UiwRightSquareO.vue new file mode 100644 index 0000000..99f16ce --- /dev/null +++ b/src/assets/icons/uiw/UiwRightSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwRollback.vue b/src/assets/icons/uiw/UiwRollback.vue new file mode 100644 index 0000000..87137b0 --- /dev/null +++ b/src/assets/icons/uiw/UiwRollback.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSafari.vue b/src/assets/icons/uiw/UiwSafari.vue new file mode 100644 index 0000000..9bbe4e5 --- /dev/null +++ b/src/assets/icons/uiw/UiwSafari.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSafety.vue b/src/assets/icons/uiw/UiwSafety.vue new file mode 100644 index 0000000..7be65c5 --- /dev/null +++ b/src/assets/icons/uiw/UiwSafety.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSave.vue b/src/assets/icons/uiw/UiwSave.vue new file mode 100644 index 0000000..627fed2 --- /dev/null +++ b/src/assets/icons/uiw/UiwSave.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSearch.vue b/src/assets/icons/uiw/UiwSearch.vue new file mode 100644 index 0000000..62af70a --- /dev/null +++ b/src/assets/icons/uiw/UiwSearch.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSetting.vue b/src/assets/icons/uiw/UiwSetting.vue new file mode 100644 index 0000000..097b695 --- /dev/null +++ b/src/assets/icons/uiw/UiwSetting.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSettingO.vue b/src/assets/icons/uiw/UiwSettingO.vue new file mode 100644 index 0000000..20741a3 --- /dev/null +++ b/src/assets/icons/uiw/UiwSettingO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwShare.vue b/src/assets/icons/uiw/UiwShare.vue new file mode 100644 index 0000000..573e2dc --- /dev/null +++ b/src/assets/icons/uiw/UiwShare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwShoppingCart.vue b/src/assets/icons/uiw/UiwShoppingCart.vue new file mode 100644 index 0000000..13d0b61 --- /dev/null +++ b/src/assets/icons/uiw/UiwShoppingCart.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwShrink.vue b/src/assets/icons/uiw/UiwShrink.vue new file mode 100644 index 0000000..a451807 --- /dev/null +++ b/src/assets/icons/uiw/UiwShrink.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSmile.vue b/src/assets/icons/uiw/UiwSmile.vue new file mode 100644 index 0000000..548500f --- /dev/null +++ b/src/assets/icons/uiw/UiwSmile.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSmileO.vue b/src/assets/icons/uiw/UiwSmileO.vue new file mode 100644 index 0000000..248852b --- /dev/null +++ b/src/assets/icons/uiw/UiwSmileO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSquareO.vue b/src/assets/icons/uiw/UiwSquareO.vue new file mode 100644 index 0000000..1371e41 --- /dev/null +++ b/src/assets/icons/uiw/UiwSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwStarOff.vue b/src/assets/icons/uiw/UiwStarOff.vue new file mode 100644 index 0000000..2a9013f --- /dev/null +++ b/src/assets/icons/uiw/UiwStarOff.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwStarOn.vue b/src/assets/icons/uiw/UiwStarOn.vue new file mode 100644 index 0000000..3c372c3 --- /dev/null +++ b/src/assets/icons/uiw/UiwStarOn.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwStop.vue b/src/assets/icons/uiw/UiwStop.vue new file mode 100644 index 0000000..7806abf --- /dev/null +++ b/src/assets/icons/uiw/UiwStop.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwStopO.vue b/src/assets/icons/uiw/UiwStopO.vue new file mode 100644 index 0000000..288ec37 --- /dev/null +++ b/src/assets/icons/uiw/UiwStopO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSwap.vue b/src/assets/icons/uiw/UiwSwap.vue new file mode 100644 index 0000000..8b2a3e3 --- /dev/null +++ b/src/assets/icons/uiw/UiwSwap.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSwapLeft.vue b/src/assets/icons/uiw/UiwSwapLeft.vue new file mode 100644 index 0000000..61205d8 --- /dev/null +++ b/src/assets/icons/uiw/UiwSwapLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwSwapRight.vue b/src/assets/icons/uiw/UiwSwapRight.vue new file mode 100644 index 0000000..26e2f9b --- /dev/null +++ b/src/assets/icons/uiw/UiwSwapRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTable.vue b/src/assets/icons/uiw/UiwTable.vue new file mode 100644 index 0000000..353321d --- /dev/null +++ b/src/assets/icons/uiw/UiwTable.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTag.vue b/src/assets/icons/uiw/UiwTag.vue new file mode 100644 index 0000000..679a364 --- /dev/null +++ b/src/assets/icons/uiw/UiwTag.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTagO.vue b/src/assets/icons/uiw/UiwTagO.vue new file mode 100644 index 0000000..593b145 --- /dev/null +++ b/src/assets/icons/uiw/UiwTagO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTags.vue b/src/assets/icons/uiw/UiwTags.vue new file mode 100644 index 0000000..a02e393 --- /dev/null +++ b/src/assets/icons/uiw/UiwTags.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTagsO.vue b/src/assets/icons/uiw/UiwTagsO.vue new file mode 100644 index 0000000..a635ebf --- /dev/null +++ b/src/assets/icons/uiw/UiwTagsO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTaobao.vue b/src/assets/icons/uiw/UiwTaobao.vue new file mode 100644 index 0000000..f2d4d78 --- /dev/null +++ b/src/assets/icons/uiw/UiwTaobao.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTime.vue b/src/assets/icons/uiw/UiwTime.vue new file mode 100644 index 0000000..f3ed896 --- /dev/null +++ b/src/assets/icons/uiw/UiwTime.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTimeO.vue b/src/assets/icons/uiw/UiwTimeO.vue new file mode 100644 index 0000000..f7f9320 --- /dev/null +++ b/src/assets/icons/uiw/UiwTimeO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwTwitter.vue b/src/assets/icons/uiw/UiwTwitter.vue new file mode 100644 index 0000000..f5c42d1 --- /dev/null +++ b/src/assets/icons/uiw/UiwTwitter.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUiw.vue b/src/assets/icons/uiw/UiwUiw.vue new file mode 100644 index 0000000..8c6afea --- /dev/null +++ b/src/assets/icons/uiw/UiwUiw.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUnlock.vue b/src/assets/icons/uiw/UiwUnlock.vue new file mode 100644 index 0000000..2e86e07 --- /dev/null +++ b/src/assets/icons/uiw/UiwUnlock.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUp.vue b/src/assets/icons/uiw/UiwUp.vue new file mode 100644 index 0000000..e330168 --- /dev/null +++ b/src/assets/icons/uiw/UiwUp.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUpCircle.vue b/src/assets/icons/uiw/UiwUpCircle.vue new file mode 100644 index 0000000..8862168 --- /dev/null +++ b/src/assets/icons/uiw/UiwUpCircle.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUpCircleO.vue b/src/assets/icons/uiw/UiwUpCircleO.vue new file mode 100644 index 0000000..2921df3 --- /dev/null +++ b/src/assets/icons/uiw/UiwUpCircleO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUpSquare.vue b/src/assets/icons/uiw/UiwUpSquare.vue new file mode 100644 index 0000000..4370ae6 --- /dev/null +++ b/src/assets/icons/uiw/UiwUpSquare.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUpSquareO.vue b/src/assets/icons/uiw/UiwUpSquareO.vue new file mode 100644 index 0000000..ebb29da --- /dev/null +++ b/src/assets/icons/uiw/UiwUpSquareO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUpload.vue b/src/assets/icons/uiw/UiwUpload.vue new file mode 100644 index 0000000..2363302 --- /dev/null +++ b/src/assets/icons/uiw/UiwUpload.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUser.vue b/src/assets/icons/uiw/UiwUser.vue new file mode 100644 index 0000000..2caa308 --- /dev/null +++ b/src/assets/icons/uiw/UiwUser.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUserAdd.vue b/src/assets/icons/uiw/UiwUserAdd.vue new file mode 100644 index 0000000..a149a3b --- /dev/null +++ b/src/assets/icons/uiw/UiwUserAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUserDelete.vue b/src/assets/icons/uiw/UiwUserDelete.vue new file mode 100644 index 0000000..39a9187 --- /dev/null +++ b/src/assets/icons/uiw/UiwUserDelete.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUsergroupAdd.vue b/src/assets/icons/uiw/UiwUsergroupAdd.vue new file mode 100644 index 0000000..6cbd224 --- /dev/null +++ b/src/assets/icons/uiw/UiwUsergroupAdd.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwUsergroupDelete.vue b/src/assets/icons/uiw/UiwUsergroupDelete.vue new file mode 100644 index 0000000..79c69b2 --- /dev/null +++ b/src/assets/icons/uiw/UiwUsergroupDelete.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwVerification.vue b/src/assets/icons/uiw/UiwVerification.vue new file mode 100644 index 0000000..d45c3d6 --- /dev/null +++ b/src/assets/icons/uiw/UiwVerification.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwVerticleLeft.vue b/src/assets/icons/uiw/UiwVerticleLeft.vue new file mode 100644 index 0000000..69e4578 --- /dev/null +++ b/src/assets/icons/uiw/UiwVerticleLeft.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwVerticleRight.vue b/src/assets/icons/uiw/UiwVerticleRight.vue new file mode 100644 index 0000000..65320b7 --- /dev/null +++ b/src/assets/icons/uiw/UiwVerticleRight.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwVideoCamera.vue b/src/assets/icons/uiw/UiwVideoCamera.vue new file mode 100644 index 0000000..da01578 --- /dev/null +++ b/src/assets/icons/uiw/UiwVideoCamera.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWarning.vue b/src/assets/icons/uiw/UiwWarning.vue new file mode 100644 index 0000000..e740ba9 --- /dev/null +++ b/src/assets/icons/uiw/UiwWarning.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWarningO.vue b/src/assets/icons/uiw/UiwWarningO.vue new file mode 100644 index 0000000..b3bd388 --- /dev/null +++ b/src/assets/icons/uiw/UiwWarningO.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWeibo.vue b/src/assets/icons/uiw/UiwWeibo.vue new file mode 100644 index 0000000..8fe7363 --- /dev/null +++ b/src/assets/icons/uiw/UiwWeibo.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWeixin.vue b/src/assets/icons/uiw/UiwWeixin.vue new file mode 100644 index 0000000..c745892 --- /dev/null +++ b/src/assets/icons/uiw/UiwWeixin.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWifi.vue b/src/assets/icons/uiw/UiwWifi.vue new file mode 100644 index 0000000..8d5a977 --- /dev/null +++ b/src/assets/icons/uiw/UiwWifi.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWindows.vue b/src/assets/icons/uiw/UiwWindows.vue new file mode 100644 index 0000000..8217385 --- /dev/null +++ b/src/assets/icons/uiw/UiwWindows.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwWoman.vue b/src/assets/icons/uiw/UiwWoman.vue new file mode 100644 index 0000000..38d88a2 --- /dev/null +++ b/src/assets/icons/uiw/UiwWoman.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwZoomIn.vue b/src/assets/icons/uiw/UiwZoomIn.vue new file mode 100644 index 0000000..fcc4f8b --- /dev/null +++ b/src/assets/icons/uiw/UiwZoomIn.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/icons/uiw/UiwZoomOut.vue b/src/assets/icons/uiw/UiwZoomOut.vue new file mode 100644 index 0000000..e9a1bfa --- /dev/null +++ b/src/assets/icons/uiw/UiwZoomOut.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/assets/images/fileImg/README.md b/src/assets/images/fileImg/README.md new file mode 100644 index 0000000..2da6114 --- /dev/null +++ b/src/assets/images/fileImg/README.md @@ -0,0 +1 @@ +图标文件来源:https://www.aigei.com/s?q=%E6%96%87%E4%BB%B6&detailTab=file&type=icon_7&page=11#resContainer diff --git a/src/assets/images/fileImg/docx.png b/src/assets/images/fileImg/docx.png new file mode 100644 index 0000000000000000000000000000000000000000..d7bc3aaa9a2c3de1c2ff70b4df98efa23c81cbc8 GIT binary patch literal 8977 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/file.png b/src/assets/images/fileImg/file.png new file mode 100644 index 0000000000000000000000000000000000000000..5731c21e64832abd186b5d9f70e201a9b92de300 GIT binary patch literal 2484 zcmb_edrVVT82|3=6>b%3k!+xXyVBv}Bnu-fLnY%DN&%6oxDAAbbtN181GAAweMBxr zrKUsU5OEBY8JD^T2%72UVB7|rn`XeY%gkV-3wwylfMBMh!|gk5O(z+Q$J+Fqd(QdJ z_j`QbO}c-hCc$_9lKBAOo0O0J0_A04NLx zxTytLa}*$8Ywd+i(Rje*C{vUG%?EZlHdW%9+LoFS3yqyY1GwK#wUA@! z*2FE_0AwBHM^&woEycYBNh;;@hVKS@n>CwX3B2^;y=JT?5;=ES{udiKFt(|f7{Tw#k_E|Q0tHDnIkW(Ch3Rnnb0S6_>xpV?&@FQ8e*x^A0@btD1$PlFJx z5YI~(>`(Vh#9|IlfU`gtDEQeg@)QW6m~zsA&z|;m-h_≫6bBqFnj)C_`NIVBk6y zaWpbhD#U)oBt}Q^$jpH9@!ceC^str*TQ&aFeO)~egYKD2@kTPyo0}|l{(8Kp@hJe) zqg2{OML>YF(g;LqFR%!~kxnHRI=95Uc(Ky)YR1S?HKJcpTM{$hZm|8HNmj|H&%Svq zKZ8E&8@T<|%p;r(xab>P}>1%1oExNOc@7)&jgQt`Ba zPi+}sBCYk`CROVDmZOD-J}mAT-SD#{SlW={}^{PT6{_RCK1dv6ss z#(=F|F@gR}tZ}#2Pw!)H?dwIgMHYw58e6H4sn}N)_YY%c?Y6QC8_{P+T_ieUEE#K~ zS%_%9|Ax0V$Za;$apRv`{};^k*kAe S6d#bkR*)30Q8mVDjei5v^q#K( literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/gif.png b/src/assets/images/fileImg/gif.png new file mode 100644 index 0000000000000000000000000000000000000000..f7de5193f787b1717544c17db2ef80fe4b95510b GIT binary patch literal 6013 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 AYybcN literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/html.png b/src/assets/images/fileImg/html.png new file mode 100644 index 0000000000000000000000000000000000000000..ab8266352e2dd7265a1697e59c6ac723bed0cabb GIT binary patch literal 13037 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/img.png b/src/assets/images/fileImg/img.png new file mode 100644 index 0000000000000000000000000000000000000000..04b11185445778addee04dcbcf70ae882bab5669 GIT binary patch literal 10147 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/png.png b/src/assets/images/fileImg/png.png new file mode 100644 index 0000000000000000000000000000000000000000..58de69ce72645c6350152f206fd522f62dcd7908 GIT binary patch literal 9769 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/ppt.png b/src/assets/images/fileImg/ppt.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b2b8d7bcf131c22c0033af52f0f1a791cb6787 GIT binary patch literal 10484 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/rar.png b/src/assets/images/fileImg/rar.png new file mode 100644 index 0000000000000000000000000000000000000000..898d93154270cfafb9c00f174a2a95c1c2dd68dd GIT binary patch literal 12718 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/fileImg/txt.png b/src/assets/images/fileImg/txt.png new file mode 100644 index 0000000000000000000000000000000000000000..46cfd32f6fa7165f879db0131c4fda93a24a24c6 GIT binary patch literal 10359 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 literal 0 HcmV?d00001 diff --git a/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue b/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue new file mode 100644 index 0000000..e748881 --- /dev/null +++ b/src/components/Chart/eCBingZhuangTu/CustomizedPie.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue b/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue new file mode 100644 index 0000000..b250f93 --- /dev/null +++ b/src/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue @@ -0,0 +1,57 @@ + + + diff --git a/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue b/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue new file mode 100644 index 0000000..64f7b08 --- /dev/null +++ b/src/components/Chart/eCBingZhuangTu/NightingaleChart.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue b/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue new file mode 100644 index 0000000..96bc235 --- /dev/null +++ b/src/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/components/Chart/eCKXianTu/BasicCandlestick.vue b/src/components/Chart/eCKXianTu/BasicCandlestick.vue new file mode 100644 index 0000000..2ba80ed --- /dev/null +++ b/src/components/Chart/eCKXianTu/BasicCandlestick.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue b/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue new file mode 100644 index 0000000..3579116 --- /dev/null +++ b/src/components/Chart/eCKXianTu/LargeScaleCandlestick.vue @@ -0,0 +1,207 @@ + + + diff --git a/src/components/Chart/eCKXianTu/ShangHaiIndex.vue b/src/components/Chart/eCKXianTu/ShangHaiIndex.vue new file mode 100644 index 0000000..bd03c99 --- /dev/null +++ b/src/components/Chart/eCKXianTu/ShangHaiIndex.vue @@ -0,0 +1,324 @@ + + + diff --git a/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue b/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue new file mode 100644 index 0000000..dbe223c --- /dev/null +++ b/src/components/Chart/eCLouDouTu/CustomizedFunnel.vue @@ -0,0 +1,100 @@ + + diff --git a/src/components/Chart/eCLouDouTu/FunnelChart.vue b/src/components/Chart/eCLouDouTu/FunnelChart.vue new file mode 100644 index 0000000..90153e0 --- /dev/null +++ b/src/components/Chart/eCLouDouTu/FunnelChart.vue @@ -0,0 +1,81 @@ + + diff --git a/src/components/Chart/eCLouDouTu/FunnelCompare.vue b/src/components/Chart/eCLouDouTu/FunnelCompare.vue new file mode 100644 index 0000000..37cde53 --- /dev/null +++ b/src/components/Chart/eCLouDouTu/FunnelCompare.vue @@ -0,0 +1,114 @@ + + diff --git a/src/components/Chart/eCLouDouTu/MultipleFunnels.vue b/src/components/Chart/eCLouDouTu/MultipleFunnels.vue new file mode 100644 index 0000000..e09aa3c --- /dev/null +++ b/src/components/Chart/eCLouDouTu/MultipleFunnels.vue @@ -0,0 +1,114 @@ + + diff --git a/src/components/Chart/eCSanDianTu/BasicScatterChart.vue b/src/components/Chart/eCSanDianTu/BasicScatterChart.vue new file mode 100644 index 0000000..3c815a9 --- /dev/null +++ b/src/components/Chart/eCSanDianTu/BasicScatterChart.vue @@ -0,0 +1,51 @@ + + diff --git a/src/components/Chart/eCSanDianTu/ClusteringProcess.vue b/src/components/Chart/eCSanDianTu/ClusteringProcess.vue new file mode 100644 index 0000000..e1780e3 --- /dev/null +++ b/src/components/Chart/eCSanDianTu/ClusteringProcess.vue @@ -0,0 +1,139 @@ + + diff --git a/src/components/Chart/eCSanDianTu/EffectScatterChart.vue b/src/components/Chart/eCSanDianTu/EffectScatterChart.vue new file mode 100644 index 0000000..a9a3dd5 --- /dev/null +++ b/src/components/Chart/eCSanDianTu/EffectScatterChart.vue @@ -0,0 +1,92 @@ + + diff --git a/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue b/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue new file mode 100644 index 0000000..a44e60a --- /dev/null +++ b/src/components/Chart/eCSanDianTu/ScatterAqiColor.vue @@ -0,0 +1,264 @@ + + diff --git a/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue b/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue new file mode 100644 index 0000000..3d57210 --- /dev/null +++ b/src/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue @@ -0,0 +1,182 @@ + + diff --git a/src/components/Chart/eCXianXingTu/BasicLineChart.vue b/src/components/Chart/eCXianXingTu/BasicLineChart.vue new file mode 100644 index 0000000..5c071a2 --- /dev/null +++ b/src/components/Chart/eCXianXingTu/BasicLineChart.vue @@ -0,0 +1,34 @@ + + diff --git a/src/components/Chart/eCXianXingTu/StackedAreaChart.vue b/src/components/Chart/eCXianXingTu/StackedAreaChart.vue new file mode 100644 index 0000000..9e82448 --- /dev/null +++ b/src/components/Chart/eCXianXingTu/StackedAreaChart.vue @@ -0,0 +1,115 @@ + + diff --git a/src/components/Chart/eCXianXingTu/StackedLineChart.vue b/src/components/Chart/eCXianXingTu/StackedLineChart.vue new file mode 100644 index 0000000..8442da8 --- /dev/null +++ b/src/components/Chart/eCXianXingTu/StackedLineChart.vue @@ -0,0 +1,81 @@ + + diff --git a/src/components/Chart/eCXianXingTu/StepLine.vue b/src/components/Chart/eCXianXingTu/StepLine.vue new file mode 100644 index 0000000..6e27326 --- /dev/null +++ b/src/components/Chart/eCXianXingTu/StepLine.vue @@ -0,0 +1,68 @@ + + diff --git a/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue b/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue new file mode 100644 index 0000000..f55b7d7 --- /dev/null +++ b/src/components/Chart/eCYiBiaoTu/GaugeBasicChart.vue @@ -0,0 +1,37 @@ + + diff --git a/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue b/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue new file mode 100644 index 0000000..785deac --- /dev/null +++ b/src/components/Chart/eCYiBiaoTu/GrogressGauge.vue @@ -0,0 +1,106 @@ + + diff --git a/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue b/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue new file mode 100644 index 0000000..367075c --- /dev/null +++ b/src/components/Chart/eCYiBiaoTu/StageSpeedGauge.vue @@ -0,0 +1,83 @@ + + diff --git a/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue b/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue new file mode 100644 index 0000000..0bbdc25 --- /dev/null +++ b/src/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue @@ -0,0 +1,147 @@ + + diff --git a/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue b/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue new file mode 100644 index 0000000..5122cd0 --- /dev/null +++ b/src/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue @@ -0,0 +1,77 @@ + + diff --git a/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue b/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue new file mode 100644 index 0000000..9449c41 --- /dev/null +++ b/src/components/Chart/eCZhuZhuangTu/BarLabelRotation.vue @@ -0,0 +1,132 @@ + + diff --git a/src/components/Chart/eCZhuZhuangTu/BasicBar.vue b/src/components/Chart/eCZhuZhuangTu/BasicBar.vue new file mode 100644 index 0000000..542751a --- /dev/null +++ b/src/components/Chart/eCZhuZhuangTu/BasicBar.vue @@ -0,0 +1,32 @@ + + diff --git a/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue b/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue new file mode 100644 index 0000000..080f7d0 --- /dev/null +++ b/src/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue @@ -0,0 +1,249 @@ + + diff --git a/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue b/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue new file mode 100644 index 0000000..069039b --- /dev/null +++ b/src/components/Chart/g2BingZhuangTu/BingZhuangTu01.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue b/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue new file mode 100644 index 0000000..89bb896 --- /dev/null +++ b/src/components/Chart/g2BingZhuangTu/BingZhuangTu02.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue b/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue new file mode 100644 index 0000000..5da57e9 --- /dev/null +++ b/src/components/Chart/g2BingZhuangTu/BingZhuangTu03.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue b/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue new file mode 100644 index 0000000..1d5e7b0 --- /dev/null +++ b/src/components/Chart/g2BingZhuangTu/BingZhuangTu04.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/components/Chart/g2CiYunTu/CiYunTu01.vue b/src/components/Chart/g2CiYunTu/CiYunTu01.vue new file mode 100644 index 0000000..0b6c52b --- /dev/null +++ b/src/components/Chart/g2CiYunTu/CiYunTu01.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/components/Chart/g2CiYunTu/CiYunTu02.vue b/src/components/Chart/g2CiYunTu/CiYunTu02.vue new file mode 100644 index 0000000..8f34326 --- /dev/null +++ b/src/components/Chart/g2CiYunTu/CiYunTu02.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/components/Chart/g2JinDuTu/JinDuTu01.vue b/src/components/Chart/g2JinDuTu/JinDuTu01.vue new file mode 100644 index 0000000..3d0784c --- /dev/null +++ b/src/components/Chart/g2JinDuTu/JinDuTu01.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/components/Chart/g2JinDuTu/JinDuTu02.vue b/src/components/Chart/g2JinDuTu/JinDuTu02.vue new file mode 100644 index 0000000..46fc47f --- /dev/null +++ b/src/components/Chart/g2JinDuTu/JinDuTu02.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/Chart/g2JinDuTu/JinDuTu03.vue b/src/components/Chart/g2JinDuTu/JinDuTu03.vue new file mode 100644 index 0000000..675b100 --- /dev/null +++ b/src/components/Chart/g2JinDuTu/JinDuTu03.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/components/Chart/g2JinDuTu/JinDuTu04.vue b/src/components/Chart/g2JinDuTu/JinDuTu04.vue new file mode 100644 index 0000000..c025a9f --- /dev/null +++ b/src/components/Chart/g2JinDuTu/JinDuTu04.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/components/Chart/g2LouDouTu/LouDouTu01.vue b/src/components/Chart/g2LouDouTu/LouDouTu01.vue new file mode 100644 index 0000000..4a9ab53 --- /dev/null +++ b/src/components/Chart/g2LouDouTu/LouDouTu01.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/components/Chart/g2LouDouTu/LouDouTu02.vue b/src/components/Chart/g2LouDouTu/LouDouTu02.vue new file mode 100644 index 0000000..d800bb2 --- /dev/null +++ b/src/components/Chart/g2LouDouTu/LouDouTu02.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/components/Chart/g2MianJiTu/MianJiTu01.vue b/src/components/Chart/g2MianJiTu/MianJiTu01.vue new file mode 100644 index 0000000..5efb7ab --- /dev/null +++ b/src/components/Chart/g2MianJiTu/MianJiTu01.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/components/Chart/g2MianJiTu/MianJiTu02.vue b/src/components/Chart/g2MianJiTu/MianJiTu02.vue new file mode 100644 index 0000000..1c1eae4 --- /dev/null +++ b/src/components/Chart/g2MianJiTu/MianJiTu02.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/components/Chart/g2MianJiTu/MianJiTu03.vue b/src/components/Chart/g2MianJiTu/MianJiTu03.vue new file mode 100644 index 0000000..92b3e3c --- /dev/null +++ b/src/components/Chart/g2MianJiTu/MianJiTu03.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/Chart/g2MianJiTu/MianJiTu04.vue b/src/components/Chart/g2MianJiTu/MianJiTu04.vue new file mode 100644 index 0000000..27160ba --- /dev/null +++ b/src/components/Chart/g2MianJiTu/MianJiTu04.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/Chart/g2SanDianTu/SanDianTu01.vue b/src/components/Chart/g2SanDianTu/SanDianTu01.vue new file mode 100644 index 0000000..cf8bc43 --- /dev/null +++ b/src/components/Chart/g2SanDianTu/SanDianTu01.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/components/Chart/g2SanDianTu/SanDianTu02.vue b/src/components/Chart/g2SanDianTu/SanDianTu02.vue new file mode 100644 index 0000000..8be7761 --- /dev/null +++ b/src/components/Chart/g2SanDianTu/SanDianTu02.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/components/Chart/g2SanDianTu/SanDianTu03.vue b/src/components/Chart/g2SanDianTu/SanDianTu03.vue new file mode 100644 index 0000000..49fa842 --- /dev/null +++ b/src/components/Chart/g2SanDianTu/SanDianTu03.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/components/Chart/g2SanDianTu/SanDianTu04.vue b/src/components/Chart/g2SanDianTu/SanDianTu04.vue new file mode 100644 index 0000000..4ff3fd9 --- /dev/null +++ b/src/components/Chart/g2SanDianTu/SanDianTu04.vue @@ -0,0 +1,337 @@ + + + diff --git a/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue b/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue new file mode 100644 index 0000000..d76c686 --- /dev/null +++ b/src/components/Chart/g2TiaoXingTu/TiaoXingTu01.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue b/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue new file mode 100644 index 0000000..20d06f6 --- /dev/null +++ b/src/components/Chart/g2TiaoXingTu/TiaoXingTu02.vue @@ -0,0 +1,126 @@ + + + diff --git a/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue b/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue new file mode 100644 index 0000000..09d45ae --- /dev/null +++ b/src/components/Chart/g2TiaoXingTu/TiaoXingTu03.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue b/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue new file mode 100644 index 0000000..515f98c --- /dev/null +++ b/src/components/Chart/g2TiaoXingTu/TiaoXingTu04.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue b/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue new file mode 100644 index 0000000..63249f2 --- /dev/null +++ b/src/components/Chart/g2ZheXianTu/ZheXianTu01.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue b/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue new file mode 100644 index 0000000..b61e39c --- /dev/null +++ b/src/components/Chart/g2ZheXianTu/ZheXianTu02.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue b/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue new file mode 100644 index 0000000..34cae3a --- /dev/null +++ b/src/components/Chart/g2ZheXianTu/ZheXianTu03.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue b/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue new file mode 100644 index 0000000..18a5eb2 --- /dev/null +++ b/src/components/Chart/g2ZheXianTu/ZheXianTu04.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue new file mode 100644 index 0000000..bf8fcf3 --- /dev/null +++ b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu01.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue new file mode 100644 index 0000000..f05769b --- /dev/null +++ b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu02.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue new file mode 100644 index 0000000..128bff9 --- /dev/null +++ b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu03.vue @@ -0,0 +1,120 @@ + + + diff --git a/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue new file mode 100644 index 0000000..1222331 --- /dev/null +++ b/src/components/Chart/g2ZhuZhuangTu/ZhuZhuangTu04.vue @@ -0,0 +1,138 @@ + + + diff --git a/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue b/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue new file mode 100644 index 0000000..08727da --- /dev/null +++ b/src/components/Chart/g2ZiDanTu/ZiDanTu01.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue b/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue new file mode 100644 index 0000000..19db78c --- /dev/null +++ b/src/components/Chart/g2ZiDanTu/ZiDanTu02.vue @@ -0,0 +1,96 @@ + + + diff --git a/src/components/ColorPicker/index.vue b/src/components/ColorPicker/index.vue new file mode 100644 index 0000000..6952228 --- /dev/null +++ b/src/components/ColorPicker/index.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/components/Cron/data.js b/src/components/Cron/data.js new file mode 100644 index 0000000..c7abcfc --- /dev/null +++ b/src/components/Cron/data.js @@ -0,0 +1,103 @@ +export const getYear = () => { + let v = [] + let y = new Date().getFullYear() + for (let i = 0; i < 11; i++) { + v.push(y + i) + } + return v +} +export const data = { + second: ['0', '5', '15', '20', '25', '30', '35', '40', '45', '50', '55', '59'], + minute: ['0', '5', '15', '20', '25', '30', '35', '40', '45', '50', '55', '59'], + hour: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + '20', + '21', + '22', + '23' + ], + day: [ + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + '20', + '21', + '22', + '23', + '24', + '25', + '26', + '27', + '28', + '29', + '30', + '31' + ], + month: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + week: [ + { + value: '0', + label: '周日' + }, + { + value: '1', + label: '周一' + }, + { + value: '2', + label: '周二' + }, + { + value: '3', + label: '周三' + }, + { + value: '4', + label: '周四' + }, + { + value: '5', + label: '周五' + }, + { + value: '6', + label: '周六' + } + ], + year: getYear() +} diff --git a/src/components/Cron/index.vue b/src/components/Cron/index.vue new file mode 100644 index 0000000..fedfc99 --- /dev/null +++ b/src/components/Cron/index.vue @@ -0,0 +1,756 @@ + + + + + diff --git a/src/components/CropUpload/index.vue b/src/components/CropUpload/index.vue new file mode 100644 index 0000000..e17bee0 --- /dev/null +++ b/src/components/CropUpload/index.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/src/components/DragModal/index.vue b/src/components/DragModal/index.vue new file mode 100644 index 0000000..b925aa4 --- /dev/null +++ b/src/components/DragModal/index.vue @@ -0,0 +1,318 @@ + + + diff --git a/src/components/DragModal/props.js b/src/components/DragModal/props.js new file mode 100644 index 0000000..f29069f --- /dev/null +++ b/src/components/DragModal/props.js @@ -0,0 +1,30 @@ +export default { + props: [ + 'afterClose', // Modal 完全关闭后的回调 function 无 + 'bodyStyle', // Modal body 样式 object {} + 'cancelText', // 取消按钮文字 string| slot 取消 + 'centered', // 垂直居中展示 Modal Boolean false + 'closable', // 是否显示右上角的关闭按钮 boolean true + 'closeIcon', // 自定义关闭图标 VNode | slot - 1.5.0 + 'confirmLoading', // 确定按钮 loading boolean 无 + 'destroyOnClose', // 关闭时销毁 Modal 里的子元素 boolean false + 'footer', // 底部内容,当不需要默认底部按钮时,可以设为 :footer="null" string|slot 确定取消按钮 + 'forceRender', // 强制渲染 Modal boolean false + 'getContainer', // 指定 Modal 挂载的 HTML 节点 (instance): HTMLElement () => document.body + 'keyboard', // 是否支持键盘 esc 关闭 boolean true + 'mask', // 是否展示遮罩 Boolean true + 'maskClosable', // 点击蒙层是否允许关闭 boolean true + 'maskStyle', // 遮罩样式 object {} + 'okText', // 确认按钮文字 string|slot 确定 + 'okType', // 确认按钮类型 string primary + 'okButtonProps', // ok 按钮 props, 遵循 jsx规范 {props: ButtonProps, on: {}} - + 'cancelButtonProps', // cancel 按钮 props, 遵循 jsx规范 {props: ButtonProps, on: {}} - + 'title', // 标题 string|slot 无 + // 'visible', // (v-model) 对话框是否可见 boolean 无 + // 'width', // 宽度 string|number 520 + // 'wrapClassName', // 对话框外层容器的类名 string - + 'zIndex', // 设置 Modal 的 z-index Number 1000 + 'dialogStyle', // 可用于设置浮层的样式,调整浮层位置等 object - 1.6.1 + 'dialogClass' // 可用于设置浮层的类名 string + ] +} diff --git a/src/components/Editor/README.md b/src/components/Editor/README.md new file mode 100644 index 0000000..a9fb1a6 --- /dev/null +++ b/src/components/Editor/README.md @@ -0,0 +1,15 @@ +## 富文本 + +### 说明 + +这个组件将在3.2版本移除,请及时更新使用xn-editor + +> 更新提示 +> +> 1、将 改为 +> +> 2、v-model绑定改为v-model:value +> +> 3、整体写法为: +> +> 4、移除业务内跟此组件无关的其他代码即可 diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue new file mode 100644 index 0000000..e95fd2c --- /dev/null +++ b/src/components/Editor/index.vue @@ -0,0 +1,104 @@ + + + diff --git a/src/components/Ellipsis/index.md b/src/components/Ellipsis/index.md new file mode 100644 index 0000000..e4316bf --- /dev/null +++ b/src/components/Ellipsis/index.md @@ -0,0 +1,33 @@ +# Ellipsis 文本自动省略号 + +文本过长自动处理省略号,支持按照文本长度和最大行数两种方式截取。 + + + +引用方式: + +```javascript +import Ellipsis from '@/components/Ellipsis' +// vue3 不需要利用compoents去注册组件,引入后可直接使用 +``` + + + +## 代码演示 [demo](https://snowy.xiaonuo.vip) + +```html + + There were injuries alleged in three cases in 2015, and a + fourth incident in September, according to the safety recall report. After meeting with US regulators in October, the firm decided to issue a voluntary recall. + +``` + + + +## API + + +参数 | 说明 | 类型 | 默认值 +----|------|-----|------ +tooltip | 移动到文本展示完整内容的提示 | boolean | - +length | 在按照长度截取下的文本最大字符数,超过则截取省略 | number | - diff --git a/src/components/Ellipsis/index.vue b/src/components/Ellipsis/index.vue new file mode 100644 index 0000000..4f8c64d --- /dev/null +++ b/src/components/Ellipsis/index.vue @@ -0,0 +1,48 @@ + + diff --git a/src/components/Ellipsis/util.js b/src/components/Ellipsis/util.js new file mode 100644 index 0000000..b9577bb --- /dev/null +++ b/src/components/Ellipsis/util.js @@ -0,0 +1,44 @@ +/** + * Copyright [2022] [https://www.xiaonuo.vip] + * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改Snowy源码头部的版权声明。 + * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。 + * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip + * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 + * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip + */ + +/** + * 获取字符串长度,英文字符 长度1,中文字符长度2 + * @param {*} str + */ +export const getStrFullLength = (str = '') => + str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + return pre + 1 + } + return pre + 2 + }, 0) + +/** + * 截取字符串,根据 maxLength 截取后返回 + * @param {*} str + * @param {*} maxLength + */ +export const cutStrByFullLength = (str = '', maxLength) => { + let showLength = 0 + return str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + showLength += 1 + } else { + showLength += 2 + } + if (showLength <= maxLength) { + return pre + cur + } + return pre + }, '') +} diff --git a/src/components/HomeCard/BizMiniMessageCard/index.vue b/src/components/HomeCard/BizMiniMessageCard/index.vue new file mode 100644 index 0000000..7301f30 --- /dev/null +++ b/src/components/HomeCard/BizMiniMessageCard/index.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/components/HomeCard/BizNoticeCard/detail.vue b/src/components/HomeCard/BizNoticeCard/detail.vue new file mode 100644 index 0000000..1285bfd --- /dev/null +++ b/src/components/HomeCard/BizNoticeCard/detail.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/components/HomeCard/BizNoticeCard/index.vue b/src/components/HomeCard/BizNoticeCard/index.vue new file mode 100644 index 0000000..321a834 --- /dev/null +++ b/src/components/HomeCard/BizNoticeCard/index.vue @@ -0,0 +1,79 @@ + + + + diff --git a/src/components/HomeCard/BizScheduleCard/index.vue b/src/components/HomeCard/BizScheduleCard/index.vue new file mode 100644 index 0000000..8232811 --- /dev/null +++ b/src/components/HomeCard/BizScheduleCard/index.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/components/HomeCard/BizShortcutCard/index.vue b/src/components/HomeCard/BizShortcutCard/index.vue new file mode 100644 index 0000000..77478f5 --- /dev/null +++ b/src/components/HomeCard/BizShortcutCard/index.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/components/HomeCard/BizSlideshowCard/index.vue b/src/components/HomeCard/BizSlideshowCard/index.vue new file mode 100644 index 0000000..481ed92 --- /dev/null +++ b/src/components/HomeCard/BizSlideshowCard/index.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/components/HomeCard/SysBizDataCard/index.vue b/src/components/HomeCard/SysBizDataCard/index.vue new file mode 100644 index 0000000..ae65873 --- /dev/null +++ b/src/components/HomeCard/SysBizDataCard/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/components/HomeCard/SysOpDataCard/index.vue b/src/components/HomeCard/SysOpDataCard/index.vue new file mode 100644 index 0000000..8e2ba73 --- /dev/null +++ b/src/components/HomeCard/SysOpDataCard/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/HomeCard/SysOpLogCard/index.vue b/src/components/HomeCard/SysOpLogCard/index.vue new file mode 100644 index 0000000..a2a4174 --- /dev/null +++ b/src/components/HomeCard/SysOpLogCard/index.vue @@ -0,0 +1,58 @@ + + + + diff --git a/src/components/HomeCard/SysToolDataCard/index.vue b/src/components/HomeCard/SysToolDataCard/index.vue new file mode 100644 index 0000000..205d105 --- /dev/null +++ b/src/components/HomeCard/SysToolDataCard/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/components/HomeCard/SysUserInfoCard/index.vue b/src/components/HomeCard/SysUserInfoCard/index.vue new file mode 100644 index 0000000..cd01735 --- /dev/null +++ b/src/components/HomeCard/SysUserInfoCard/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/components/HomeCard/SysVisChartDataCard/index.vue b/src/components/HomeCard/SysVisChartDataCard/index.vue new file mode 100644 index 0000000..1e62eb2 --- /dev/null +++ b/src/components/HomeCard/SysVisChartDataCard/index.vue @@ -0,0 +1,55 @@ + + + + diff --git a/src/components/HomeCard/SysVisLogCard/index.vue b/src/components/HomeCard/SysVisLogCard/index.vue new file mode 100644 index 0000000..4b9db19 --- /dev/null +++ b/src/components/HomeCard/SysVisLogCard/index.vue @@ -0,0 +1,65 @@ + + + + diff --git a/src/components/Map/baiduMap/README.md b/src/components/Map/baiduMap/README.md new file mode 100644 index 0000000..3a821e0 --- /dev/null +++ b/src/components/Map/baiduMap/README.md @@ -0,0 +1,187 @@ +BMap +==== + +> 百度地图组件,常用于地图展示使用 + +该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装 + +### 使用方式 + +```text +申请key +``` + +访问 [百度地图官网](https://lbsyun.baidu.com/apiconsole/center#/home) 注册账号,申请应用获得key + +```vue + + + +``` + +### Prop属性 + +| 名称 | 说明 | 类型 | 默认值 | +|---------------|------------|--------|----------| +| mid | 容器ID | String | 时间戳 | +| height | 容器高度 | Number | 800,单位px | +| apiKey | 地图Key | String | | +| center | 地图中心点 | String | 自动定位 | +| plugins | 地图控件 | Array | | +| viewMode | 效果:2D,3D | String | 3D | +| rotationAngle | 旋转角度 | Number | 60 | +| tiltAngle | 倾斜角度 | Number | 70 | +| zoom | 地图缩放比例 | Number | 12 | +| mapStyle | 地图样式:个性化地图 | String | | + +#### 地图控件 + +- BMap.ScaleControl:比例尺 +- BMap.ZoomControl:缩放 +- BMap.LocationControl:定位 +- BMap.NavigationControl3D:3D控件 + +### 事件 + +| 名称 | 说明 | 参数 | 参数类型 | +|-------------|---------------|----------|-------| +| complete | 当地图初始化完成时触发 | - | - | +| markerClick | 当点击了点覆盖物时触发 | position | Array | + +### 方法 + +| 名称 | 说明 | 参数 | 参数类型 | +|----------------------|-----------|------------------------|-------------------| +| renderMarker | 渲染 点标记 | dataArr | Array | +| renderIconMarker | 渲染 图标标记 | dataArr | Array | +| render3DCircleMarker | 渲染 3D圆点标记 | dataArr | Array | +| render3DIconMarker | 渲染 3D图标标记 | dataArr | Array | +| renderPolyline | 渲染 线 | dataArr,option | Array,JSON | +| renderCircle | 渲染 圆 | position,radius,option | Array,Number,JSON | +| renderPolygon | 渲染 面 | dataArr,option | Array,JSON | +| renderInfoWindow | 渲染 信息窗体 | dataArr | Array | +| openInfoWindow | 打开 信息窗体 | position | Array | +| clearOverlay | 清理 覆盖物 | | | + +### 方法参数```dataArr```结构 + +> 点标记 + +```json +[{ + "position": "坐标数组", + "title": "鼠标滑过点标记时的文字提示" +}] +``` + +> 图标标记 + +```json +[{ + "position": "坐标数组", + "title": "鼠标滑过点标记时的文字提示", + "img": "图片地址", + "imgWidth": "图片宽度,默认40", + "imgHeight": "图片高度,默认40" +}] +``` + +> 3D圆点标记 + +```json +[{ + "position": "坐标数组", + "height": "高度,默认8000", + "size": "大小,默认50", + "fillColor": "填充颜色,默认#006600" +}] +``` + +> 3D图标标记 + +```json +[{ + "position": "坐标数组", + "height": "高度,默认8000", + "size": "大小,默认50", + "img": "图片地址", + "imgWidth": "图片宽度,默认40", + "imgHeight": "图片高度,默认40" +}] +``` + +> 线、面 + +```json +[{ + "position": "坐标数组" +}] +``` + +> 信息窗体 + +```json +[{ + "position": "坐标数组", + "title": "标题", + "content": "内容,文本数组,会以换行进行连接", + "width": "窗体宽度", + "height": "窗体高度" +}] +``` + +### 方法参数```option```结构 + +> 线、圆 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5" +} +``` + +> 面 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5", + "fillColor": "填充颜色,默认blue", + "fllOpacity": "填充透明度,默认0.5" +} +``` diff --git a/src/components/Map/baiduMap/index.vue b/src/components/Map/baiduMap/index.vue new file mode 100644 index 0000000..d327dd8 --- /dev/null +++ b/src/components/Map/baiduMap/index.vue @@ -0,0 +1,344 @@ + + + + + diff --git a/src/components/Map/gaodeMap/README.md b/src/components/Map/gaodeMap/README.md new file mode 100644 index 0000000..4ab6d00 --- /dev/null +++ b/src/components/Map/gaodeMap/README.md @@ -0,0 +1,205 @@ +AMap +==== + +> 高德地图组件,常用于地图展示使用 + +该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装 + +### 使用方式 + +```text +申请key +``` + +访问 [高德地图官网](https://console.amap.com/dev/index) 注册账号,申请应用获得key + +```vue + + + + +``` + +### Prop属性 + +| 名称 | 说明 | 类型 | 默认值 | +|---------------|-------------------|----------|-----------| +| mid | 容器ID | String | 时间戳 | +| height | 容器高度 | Number | 800,单位px | +| apiKey | 地图Key | String | | +| center | 地图中心点 | String | 自动定位 | +| plugins | 地图控件 | Array | | +| viewMode | 效果:2D,3D | String | 3D | +| zoom | 地图缩放比例 | Number | 12 | +| pitch | 地图俯仰角度,有效范围 0-83 | String | 50 | +| mapStyle | 地图样式 | String | normal | +| markerCluster | 点聚合 | Boolean | true | + +#### 地图控件 + +- AMap.ToolBar:缩放工具条 +- AMap.Scale:比例尺 +- AMap.HawkEye:鹰眼 +- AMap.MapType:图层切换 +- AMap.Geolocation:定位 +- AMap.MarkerCluster:点聚合 + +#### 地图样式 + +- normal +- macaron +- dark +- fresh +- grey + +### 事件 + +| 名称 | 说明 | 参数 | 参数类型 | +|-------------|---------------|----------|-------| +| complete | 当地图初始化完成时触发 | - | - | +| markerClick | 当点击了点覆盖物时触发 | position | Array | + +### 方法 + +| 名称 | 说明 | 参数 | 参数类型 | +|---------------------|----------|---------------------|-------------------| +| renderMarker | 渲染 点标记 | dataArr | Array | +| renderCircleMarker | 渲染 圆点标记 | dataArr | Array | +| renderSimpleMarker | 渲染 简单点标记 | dataArr, theme | Array, String | +| renderAwesomeMarker | 渲染 字体点标记 | dataArr | Array | +| renderPolyline | 渲染 线 | dataArr,opt | Array,JSON | +| renderCircle | 渲染 圆 | position,radius,opt | Array,Number,JSON | +| renderPolygon | 渲染 面 | dataArr,opt | Array,JSON | +| renderInfoWindow | 渲染 信息窗体 | dataArr | Array | +| openInfoWindow | 打开 信息窗体 | position | Array | +| clearOverlay | 清理 覆盖物 | | | + +### 方法参数```dataArr```结构 + +> 点标记 + +```json +[{ + "position": "坐标数组", + "title": "鼠标滑过点标记时的文字提示", + "content": "显示内容,content有效时,icon属性将被覆盖", + "icon": "图标", + "label": { + "content": "文本标注" + } +}] +``` + +> 圆点标记 + +```json +[{ + "position": "坐标数组,圆心位置", + "radius": "圆点半径", + "strokeColor": "线条颜色,默认#006600", + "fillColor": "填充颜色,默认#006600" +}] +``` + +> 简单点标记 + +```json +[{ + "position": "坐标数组", + "label": "前景文字", + "labelStyle": { + "color": "颜色", + "fontSize": "字体大小" + }, + "style": "背景图标样式" +}] +``` + +> 字体点标记 + +```json +[{ + "position": "坐标数组", + "awesomeIcon": "图标,参见:http://fontawesome.io/icons/", + "labelStyle": { + "color": "颜色", + "fontSize": "字体大小" + }, + "style": "背景图标样式" +}] +``` + +> 线、面 + +```json +[{ + "position": "坐标数组" +}] +``` + +> 信息窗体 + +```json +[{ + "position": "坐标数组", + "content": "显示内容,文本数组,会以换行进行连接" +}] +``` + +### 方法参数```opt```结构 + +> 线 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5", + "isOutline": "是否显示描边,默认false", + "borderWeight": "描边宽度,默认1" +} +``` + +> 圆、面 + +```json +{ + "strokeColor": "边线颜色,默认blue", + "strokeWeight": "边线宽度,默认2", + "strokeOpacity": "边线透明度,默认0.5", + "fillColor": "填充颜色,默认blue", + "fllOpacity": "填充透明度,默认0.5" +} +``` diff --git a/src/components/Map/gaodeMap/index.vue b/src/components/Map/gaodeMap/index.vue new file mode 100644 index 0000000..b95597b --- /dev/null +++ b/src/components/Map/gaodeMap/index.vue @@ -0,0 +1,373 @@ + + + + + diff --git a/src/components/NumberInfo/NumberInfo.vue b/src/components/NumberInfo/NumberInfo.vue new file mode 100644 index 0000000..a524626 --- /dev/null +++ b/src/components/NumberInfo/NumberInfo.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/components/NumberInfo/index.less b/src/components/NumberInfo/index.less new file mode 100644 index 0000000..18233ae --- /dev/null +++ b/src/components/NumberInfo/index.less @@ -0,0 +1,55 @@ +@import "../index.less"; + +@numberInfo-prefix-cls: ~"@{ant-pro-prefix}-number-info"; + +.@{numberInfo-prefix-cls} { + + .ant-pro-number-info-subtitle { + color: @text-color-secondary; + font-size: @font-size-base; + height: 22px; + line-height: 22px; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; + } + + .number-info-value { + margin-top: 4px; + font-size: 0; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; + + & > span { + color: @heading-color; + display: inline-block; + line-height: 32px; + height: 32px; + font-size: 24px; + margin-right: 32px; + } + + .sub-total { + color: @text-color-secondary; + font-size: @font-size-lg; + vertical-align: top; + margin-right: 0; + i { + font-size: 12px; + transform: scale(0.82); + margin-left: 4px; + } + // :global { + // .anticon-caret-up { + // color: @red-6; + // } + // .anticon-caret-down { + // color: @green-6; + // } + // } + } + } +} \ No newline at end of file diff --git a/src/components/Selector/iconMobileSelector.vue b/src/components/Selector/iconMobileSelector.vue new file mode 100644 index 0000000..9e78944 --- /dev/null +++ b/src/components/Selector/iconMobileSelector.vue @@ -0,0 +1,145 @@ + + + + diff --git a/src/components/Selector/iconSelector.vue b/src/components/Selector/iconSelector.vue new file mode 100644 index 0000000..3a88994 --- /dev/null +++ b/src/components/Selector/iconSelector.vue @@ -0,0 +1,161 @@ + + + + diff --git a/src/components/Selector/iconSelector_README.md b/src/components/Selector/iconSelector_README.md new file mode 100644 index 0000000..265ecfa --- /dev/null +++ b/src/components/Selector/iconSelector_README.md @@ -0,0 +1,48 @@ +iconSelector +==== + +> 图标选择组件,常用于为某一个数据设定一个图标时使用 +> eg: 设定菜单列表时,为每个菜单设定一个图标 + +该组件由 [小诺开源技术](https://www.xiaonuo.vip) 封装 + + + +### 使用方式 + +```vue + + + +``` + + + +### 事件 + +| 名称 | 说明 | 类型 | 默认值 | +| ------------ | -------------------------- | ------ | ------ | +| iconCallBack | 当改变了 `icon` 选中项触发 | String | - | + +### 方法 + +| 名称 | 说明 | 类型 | 默认值 | +| --------- | --------------------------------------- | ------ | ------ | +| showIconModal | 打开选择器Model触发,携带图标时默认选中 | String | - | diff --git a/src/components/Selector/orgSelectorPlus.vue b/src/components/Selector/orgSelectorPlus.vue new file mode 100644 index 0000000..fb512cf --- /dev/null +++ b/src/components/Selector/orgSelectorPlus.vue @@ -0,0 +1,400 @@ + + + + + diff --git a/src/components/Selector/posSelectorPlus.vue b/src/components/Selector/posSelectorPlus.vue new file mode 100644 index 0000000..8a695e5 --- /dev/null +++ b/src/components/Selector/posSelectorPlus.vue @@ -0,0 +1,395 @@ + + + + + diff --git a/src/components/Selector/roleSelectorPlus.vue b/src/components/Selector/roleSelectorPlus.vue new file mode 100644 index 0000000..31d5c25 --- /dev/null +++ b/src/components/Selector/roleSelectorPlus.vue @@ -0,0 +1,448 @@ + + + + + diff --git a/src/components/Selector/userSelectorPlus.vue b/src/components/Selector/userSelectorPlus.vue new file mode 100644 index 0000000..a000738 --- /dev/null +++ b/src/components/Selector/userSelectorPlus.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/src/components/ShortcutCard/index.vue b/src/components/ShortcutCard/index.vue new file mode 100644 index 0000000..c3ab6b1 --- /dev/null +++ b/src/components/ShortcutCard/index.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/components/Table/README.md b/src/components/Table/README.md new file mode 100644 index 0000000..94d51e1 --- /dev/null +++ b/src/components/Table/README.md @@ -0,0 +1,375 @@ +Table 重封装组件说明 +==== + + +封装说明 +---- + +> 基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。 +> +> 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可 + +该 `table` 由 [@Saraka](https://github.com/saraka-tsukai) 完成封装 + +由 `小诺技术团队` 完成Vue3升级并二次封装改进 + +例子1 +---- +(基础使用) + +```vue + + + + +``` + + + +例子2 +---- + +(简单的表格,最后一列是各种操作) + +```vue + + + +``` + + + +内置方法 +---- + +通过 `声明的ref去调用 ==> tableRef.value` 调用 + +`tableRef.value.refresh(true)` 刷新列表 (用户新增/修改数据后,重载列表数据) + +> 注意:要调用 `refresh(bool)` 需要给表格组件设定 `ref` 值 +> +> `refresh()` 方法可以传一个 `bool` 值,当有传值 或值为 `true` 时,则刷新时会强制刷新到第一页(常用户页面 搜索 按钮进行搜索时,结果从第一页开始分页) + + +内置属性 +---- +> 除去 `a-table` 自带属性外,还而外提供了一些额外属性属性 + + +| 属性 | 说明 | 类型 | 默认值 | +| -------------- | ----------------------------------------------- | ----------------- | ------ | +| alert | 设置是否显示表格信息栏 | [object, boolean] | null | +| showPagination | 显示分页选择器,可传 'auto' \| boolean | [string, boolean] | 'auto' | +| data | 加载数据方法 必须为 `Promise` 对象 **必须绑定** | Promise | - | +| lineSelection | 是否开启点击行高亮显示并选中 | Boolean | 'false' | + + +`alert` 属性对象: + +```javascript +alert: { + show: Boolean, + clear: [Function, Boolean] +} +``` + +注意事项 +---- + +> 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码: +> (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。) +> +> 文档中的结构有可能由于组件 bug 进行修正而改动。实际修改请以当时最新版本为准 + +修改 `@/components/table/index.js` 第 348 行起 + + + +```javascript +const data = reactive({ + needTotalList: [], + localLoading: false, + localDataSource: [], + localPagination: Object.assign({}, props.pagination), + isFullscreen: false, + customSize: props.compSize, + columnsSetting: [], + localSettings: { + rowClassName: props.rowClassName, + rowClassNameSwitch: Boolean(props.rowClassName) + } + }) + +// 这里的 data.xxx 是之前声明的 +// 在 loadData() 方法中去获取后端数据,进行一个数据的加载更新 +result.then((r) => { + if (r == null) { + data.localLoading = false + return + } + // 获取分页数据及分页的显示内容 + data.localPagination = + (props.showPagination && + Object.assign({}, data.localPagination, { + current: r.current, // pageNo, // 返回结果中的当前分页数 + total: r.total, // totalRows, // 返回结果中的总记录数 + showSizeChanger: props.showSizeChanger, + pageSizeOptions: props.pageSizeOptions, + showTotal: (total, range) => { + return `${range[0]}-${range[1]} 共 ${total} 条 ` + }, + pageSize: (pagination && pagination.pageSize) || data.localPagination.pageSize + })) || + false + + // 后端数据records为null保存修复 + if (r.records == null) { + r.records = [] + } + + // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页 + if (r.records.length === 0 && props.showPagination && data.localPagination.current > 1) { + data.localPagination.current-- + loadData() + return + } + + try { + // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能 + // 没有数据或只有一页数据时隐藏分页栏 + // if ((['auto', true].includes(props.showPagination) && r.total <= (r.pages * data.localPagination.pageSize))) { + // data.localPagination.hideOnSinglePage = true + // } + if (!props.showPagination) { + data.localPagination.hideOnSinglePage = true + } + } catch (e) { + data.localPagination = false + } + + // if (props.showPagination === false) { + // // 既然配置了不分页,那么我们这里接收到肯定是数组 + // console.log(r); + // data.localDataSource = [] + // if (r instanceof Array) { + // data.localDataSource = r + // } + // } else { + // data.localDataSource = r.records + // } + + // 返回结果中的数组数据 + data.localDataSource = r.records + data.localLoading = false + getTableProps() + }) +``` +返回 JSON 例子: +```json +{ + "message": "", + "result": { + "data": [{ + id: 1, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', + title: 'Alipay', + description: '那是一种内在的东西, 他们到达不了,也无法触及的', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 2, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', + title: 'Angular', + description: '希望是一个好东西,也许是最好的,好东西是不会消亡的', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 3, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', + title: 'Ant Design', + description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 4, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', + title: 'Snowy', + description: '那时候我只会想自己想要什么,从不想自己拥有什么', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 5, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', + title: 'Bootstrap', + description: '凛冬将至', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 6, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', + title: 'Vue', + description: '生命就像一盒巧克力,结果往往出人意料', + status: 1, + updatedAt: '2018-07-26 00:00:00' + } + ], + "pageSize": 10, + "pageNo": 0, + "totalPage": 6, + "totalCount": 57 + }, + "status": 200, + "timestamp": 1534955098193 +} +``` + + + +更新时间 +---- + +该文档最后更新于: 2023-12-27 PM 16:45 diff --git a/src/components/Table/columnSetting.vue b/src/components/Table/columnSetting.vue new file mode 100644 index 0000000..3dbd5f0 --- /dev/null +++ b/src/components/Table/columnSetting.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/components/Table/index.vue b/src/components/Table/index.vue new file mode 100644 index 0000000..aa481fb --- /dev/null +++ b/src/components/Table/index.vue @@ -0,0 +1,591 @@ + + + diff --git a/src/components/TreeSelect/menuTreeSelect.vue b/src/components/TreeSelect/menuTreeSelect.vue new file mode 100644 index 0000000..a07098f --- /dev/null +++ b/src/components/TreeSelect/menuTreeSelect.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/components/Trend/Trend.vue b/src/components/Trend/Trend.vue new file mode 100644 index 0000000..c70fa98 --- /dev/null +++ b/src/components/Trend/Trend.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/components/Trend/index.less b/src/components/Trend/index.less new file mode 100644 index 0000000..8a3d24c --- /dev/null +++ b/src/components/Trend/index.less @@ -0,0 +1,42 @@ +@import "../index"; + +@trend-prefix-cls: ~"@{ant-pro-prefix}-trend"; + +.@{trend-prefix-cls} { + display: inline-block; + font-size: @font-size-base; + line-height: 22px; + + .up, + .down { + margin-left: 4px; + position: relative; + top: 1px; + + i { + font-size: 12px; + transform: scale(0.83); + } + } + + .item-text { + display: inline-block; + margin-left: 8px; + color: rgba(0,0,0,.85); + } + + .up { + color: @red-6; + } + .down { + color: @green-6; + top: -1px; + } + + &.reverse-color .up { + color: @green-6; + } + &.reverse-color .down { + color: @red-6; + } +} \ No newline at end of file diff --git a/src/components/XnBatchButton/index.vue b/src/components/XnBatchButton/index.vue new file mode 100644 index 0000000..1fa17b8 --- /dev/null +++ b/src/components/XnBatchButton/index.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/components/XnBatchDelete/index.vue b/src/components/XnBatchDelete/index.vue new file mode 100644 index 0000000..f4023ef --- /dev/null +++ b/src/components/XnBatchDelete/index.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/components/XnCardList/README.md b/src/components/XnCardList/README.md new file mode 100644 index 0000000..e1b17a1 --- /dev/null +++ b/src/components/XnCardList/README.md @@ -0,0 +1,62 @@ +# 小诺卡片列表的组件 + +## 说明 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|------------|---------|--------|------------------------| +| 1 | grid | Object | grid布局 | 见:and-design定义(Grid栅格) | +| 2 | dataSource | Array | 数据源 | 见:dataSource字段定义 | +| 3 | page | Object | 分页 | 见:page字段定义 | +| 4 | actions | Array | 操作数组 | 见:action字段定义 | +| 5 | loading | Boolean | 加载中提示 | - | + +> dataSource字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|----------|--------|-----------------|---------------| +| 1 | title | String | 标题 | 设备编码 | +| 2 | subTitle | String | 副标题 | 设备名称 | +| 3 | img | String | 图片 | | +| 4 | contents | Array | 内容 | 见:content字段定义 | +| 5 | badge | Object | 徽标 | 见:badge字段定义 | +| 6 | record | Object | 数据记录,emit触发回调参数 | | + +> content字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|------| +| 1 | label | String | 标签 | 所属产品 | +| 2 | value | Object | 值 | 透传 | + +> badge字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|------------------------| +| 1 | text | String | 标签 | 所属产品 | +| 2 | color | String | 颜色 | 见:ant-design定义(预设、自定义) | + +> action字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|---------| +| 1 | key | String | 键 | setting | +| 2 | label | String | 标签 | 所属产品 | +| 3 | icon | String | 图标 | setting | +| 4 | color | String | 颜色 | red | + +> page字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|------|----| +| 1 | current | Number | 当前页 | 1 | +| 2 | size | Number | 每页大小 | 6 | +| 3 | total | Number | 总数 | 0 | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 参数示例 | +|----|-------------|--------|-----------------------------| +| 1 | action | Object | {key: 'edit', record:{...}} | +| 2 | page-change | Number | 1 | diff --git a/src/components/XnCardList/index.vue b/src/components/XnCardList/index.vue new file mode 100644 index 0000000..44844c5 --- /dev/null +++ b/src/components/XnCardList/index.vue @@ -0,0 +1,120 @@ + + + + + + diff --git a/src/components/XnContextMenu/index.vue b/src/components/XnContextMenu/index.vue new file mode 100644 index 0000000..3264afc --- /dev/null +++ b/src/components/XnContextMenu/index.vue @@ -0,0 +1,82 @@ + + diff --git a/src/components/XnDataList/README.md b/src/components/XnDataList/README.md new file mode 100644 index 0000000..e016364 --- /dev/null +++ b/src/components/XnDataList/README.md @@ -0,0 +1,67 @@ +# 小诺数据列表的组件 + +## 说明 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|------------|---------|-------|------------------| +| 1 | dataSource | Array | 数据源 | 见:dataSource字段定义 | +| 2 | page | Object | 分页 | 见:page字段定义 | +| 3 | actions | Array | 操作数组 | 见:action字段定义 | +| 4 | loading | Boolean | 加载中提示 | - | + +> dataSource字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|--------------|--------|-----------------|-------------------| +| 1 | title | String | 标题 | 设备编码 | +| 2 | descriptions | Array | 描述 | 见:description字段定义 | +| 3 | contents | Array | 内容 | 见:content字段定义 | +| 4 | record | Object | 数据记录,emit触发回调参数 | | + +> description字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|----|------| +| 1 | title | String | 标题 | 设备名称 | +| 2 | content | Object | 内容 | 测试设备 | + +> content字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|----|---------------------| +| 1 | title | String | 标题 | 数据更新时间 | +| 2 | content | Object | 内容 | 2023-11-14 09:00:00 | + +> action字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|-------|--------|----|---------| +| 1 | key | String | 键 | setting | +| 2 | label | String | 标签 | 所属产品 | +| 3 | icon | String | 图标 | setting | +| 4 | color | String | 颜色 | red | + +> page字段定义 + +| 序号 | 编码 | 类型 | 说明 | 示例 | +|----|---------|--------|------|----| +| 1 | current | Number | 当前页 | 1 | +| 2 | size | Number | 每页大小 | 6 | +| 3 | total | Number | 总数 | 0 | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 参数示例 | +|----|-------------|--------|-----------------------------| +| 1 | title | Object | {record: {...}} | +| 1 | action | Object | {key: 'edit', record:{...}} | +| 2 | page-change | Number | 1 | + +### slots定义 + +| 序号 | 名称 | 说明 | 示例 | +|----|--------------|--------|----| +| 1 | title-prefix | 标题前缀插槽 | - | +| 2 | title-suffix | 内容后缀插槽 | - | diff --git a/src/components/XnDataList/index.vue b/src/components/XnDataList/index.vue new file mode 100644 index 0000000..07beb9a --- /dev/null +++ b/src/components/XnDataList/index.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/components/XnEditor/index.vue b/src/components/XnEditor/index.vue new file mode 100644 index 0000000..f04a984 --- /dev/null +++ b/src/components/XnEditor/index.vue @@ -0,0 +1,125 @@ + + + + diff --git a/src/components/XnFilePreview/README.md b/src/components/XnFilePreview/README.md new file mode 100644 index 0000000..0e82169 --- /dev/null +++ b/src/components/XnFilePreview/README.md @@ -0,0 +1,9 @@ +# 小诺文件预览的组件 + +## 说明 + +该组件支持图片、PDF、OFFICE、WORD在线预览,其他类型的不支持 + +## 使用 + +使用的时候直接在界面引入即可,配置相关参数就能行 diff --git a/src/components/XnFilePreview/index.vue b/src/components/XnFilePreview/index.vue new file mode 100644 index 0000000..f8af5d4 --- /dev/null +++ b/src/components/XnFilePreview/index.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/components/XnFormContainer/index.vue b/src/components/XnFormContainer/index.vue new file mode 100644 index 0000000..ef29a45 --- /dev/null +++ b/src/components/XnFormContainer/index.vue @@ -0,0 +1,49 @@ + + + + diff --git a/src/components/XnHighlightjs/index.vue b/src/components/XnHighlightjs/index.vue new file mode 100644 index 0000000..33d44fa --- /dev/null +++ b/src/components/XnHighlightjs/index.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/components/XnOrgSelector/README.md b/src/components/XnOrgSelector/README.md new file mode 100644 index 0000000..47d6aa0 --- /dev/null +++ b/src/components/XnOrgSelector/README.md @@ -0,0 +1,36 @@ +## 小诺机构选择器 + +### 说明 + +改组件为小诺机构选择器,可返回id用逗号隔离的字符串或id数组类型的数据格式 + +@author yubaoshan + +@data 2024年7月5日23:59:23 + +### props定义 + +| 序号 | 编码 | 类型 | 说明 | 默认 | +|-----|-------------------------|---------------|------------------------------|--------| +| 1 | radioModel | Boolean | 是否单选;与addShow隐藏同时可用 | false | +| 2 | dataIsConverterFlw | Boolean | 是否为工作流格式 | false | +| 3 | orgTreeApi | function | 机构树接口 | - | +| 4 | orgPageApi | function | 机构分页接口 | - | +| 5 | orgListByIdListApi | function | 通过id数组查询list数据接口 | 已配置 | +| 6 | value | object或string | 通过v-model:value绑定数据 | - | +| 7 | dataType | string | 数据类型object或string | string | +| 8 | show | Boolean | 是否显示已选择机构(非表单内、单纯的选择机构需要隐藏) | true | +| 9 | addShow | Boolean | 是否默认的增加人员按钮,与radioModel为或的关系 | true | + +### emits定义 + +| 序号 | 方法名 | 参数类型 | 说明 | +|----|--------|----------------|---------------------------------| +| 1 | value | 根据 dataType 而定 | 当选择机构后通过v-model:value绑定到组件上 | +| 2 | onBack | 根据 dataType 而定 | 通过@onBack 方法返回选中的数据,触发点为选中或删除机构 | + +### slot定义 + +| 序号 | 插槽名 | 用途 | 用途 | +|----|--------|-------------------|-------------------| +| 1 | button | 在机构新增按钮后可以插入自定义按钮 | 不满足新增机构按钮样式,可以自定义 | diff --git a/src/components/XnOrgSelector/index.vue b/src/components/XnOrgSelector/index.vue new file mode 100644 index 0000000..c5df64e --- /dev/null +++ b/src/components/XnOrgSelector/index.vue @@ -0,0 +1,579 @@ + + + + diff --git a/src/components/XnPageSelect/README.assets/分页下拉查询展示.gif b/src/components/XnPageSelect/README.assets/分页下拉查询展示.gif new file mode 100644 index 0000000000000000000000000000000000000000..be201025b649acd44d614899b8d944f091d03378 GIT binary patch literal 461247 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 #jkwWjU@Ft?5 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:$dj)@>BLNu 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