diff --git a/.commitlintrc.js b/.commitlintrc.js new file mode 100644 index 00000000..fb715c83 --- /dev/null +++ b/.commitlintrc.js @@ -0,0 +1,72 @@ +// .commitlintrc.js +/** @type {import('cz-git').UserConfig} */ +module.exports = { + rules: { + // @see: https://commitlint.js.org/#/reference-rules + }, + prompt: { + alias: { fd: 'docs: fix typos' }, + messages: { + type: '选择你要提交的类型 :', + scope: '选择一个提交范围(可选):', + customScope: '请输入自定义的提交范围 :', + subject: '填写简短精炼的变更描述 :\n', + body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n', + breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n', + footerPrefixesSelect: '选择关联issue前缀(可选):', + customFooterPrefix: '输入自定义issue前缀 :', + footer: '列举关联issue (可选) 例如: #31, #I3244 :\n', + confirmCommit: '是否提交或修改commit ?' + }, + types: [ + { value: 'wip', name: 'wip: 开发之中 | In development ', emoji:'🧠' }, + { value: 'feat', name: 'feat: 新增功能 | A new feature', emoji:'✨' }, + { value: 'fix', name: 'fix: 修复缺陷 | A bug fix', emoji:'🐛' }, + { value: 'docs', name: 'docs: 文档更新 | Documentation only changes', emoji:'📝' }, + { value: 'style', name: 'style: 代码格式 | Changes that do not affect the meaning of the code', emoji:'💄' }, + { value: 'refactor', name: 'refactor: 代码重构 | A code change that neither fixes a bug nor adds a feature', emoji:'♻️' }, + { value: 'perf', name: 'perf: 性能提升 | A code change that improves performance', emoji:'⚡' }, + { value: 'test', name: 'test: 测试相关 | Adding missing tests or correcting existing tests', emoji:'✅' }, + { value: 'build', name: 'build: 构建相关 | Changes that affect the build system or external dependencies', emoji:'📦' }, + { value: 'ci', name: 'ci: 持续集成 | Changes to our CI configuration files and scripts', emoji:'🎡' }, + { value: 'revert', name: 'revert: 回退代码 | Revert to a commit', emoji:'⏪' }, + { value: 'chore', name: 'chore: 其他修改 | Other changes that do not modify src or test files', emoji:'🔨' }, + ], + useEmoji: true, + emojiAlign: 'center', + useAI: false, + aiNumber: 1, + themeColorCode: '', + scopes: [], + allowCustomScopes: true, + allowEmptyScopes: true, + customScopesAlign: 'bottom', + customScopesAlias: 'custom', + emptyScopesAlias: 'empty', + upperCaseSubject: false, + markBreakingChangeMode: false, + allowBreakingChanges: ['feat', 'fix'], + breaklineNumber: 100, + breaklineChar: '|', + skipQuestions: [], + issuePrefixes: [ + // 如果使用 gitee 作为开发管理 + { value: 'link', name: 'link: 链接 ISSUES 进行中' }, + { value: 'closed', name: 'closed: 标记 ISSUES 已完成' } + ], + customIssuePrefixAlign: 'top', + emptyIssuePrefixAlias: 'skip', + customIssuePrefixAlias: 'custom', + allowCustomIssuePrefix: true, + allowEmptyIssuePrefix: true, + confirmColorize: true, + maxHeaderLength: Infinity, + maxSubjectLength: Infinity, + minSubjectLength: 0, + scopeOverrides: undefined, + defaultBody: '', + defaultIssues: '', + defaultScope: '', + defaultSubject: '' + } +} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig index 8f642dac..e15617da 100644 --- a/.editorconfig +++ b/.editorconfig @@ -15,25 +15,24 @@ indent_size = 2 [*.cs] dotnet_analyzer_diagnostic.severity = warning -dotnet_diagnostic.CA1200.severity = none dotnet_diagnostic.CA1707.severity = none -dotnet_diagnostic.CA1716.severity = none dotnet_diagnostic.IDE0005.severity = none dotnet_diagnostic.IDE0008.severity = none dotnet_diagnostic.IDE0010.severity = none +dotnet_diagnostic.IDE0028.severity = none dotnet_diagnostic.IDE0055.severity = none dotnet_diagnostic.IDE0160.severity = none -dotnet_diagnostic.IDE0270.severity = none +dotnet_diagnostic.IDE0300.severity = none +dotnet_diagnostic.IDE0305.severity = none dotnet_diagnostic.RCS1141.severity = none dotnet_diagnostic.RCS1142.severity = none dotnet_diagnostic.RCS1181.severity = none -dotnet_diagnostic.RCS1186.severity = none dotnet_diagnostic.S101.severity = none dotnet_diagnostic.S1121.severity = none -dotnet_diagnostic.S1199.severity = none +dotnet_diagnostic.S1135.severity = none dotnet_diagnostic.S125.severity = none dotnet_diagnostic.S2094.severity = none -dotnet_diagnostic.S3925.severity = none +dotnet_diagnostic.S3604.severity = none dotnet_diagnostic.S4663.severity = none dotnet_diagnostic.SYSLIB1045.severity = none diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..79d83bfd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +# This workflow will build a .NET project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net + +name: CI + +on: + push: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [ 20.x ] + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + # https://docs.github.com/zh/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key + - uses: actions/cache@v3 + with: + path: ~/.npm + key: ${{ runner.os }}-npm-${{ hashFiles('./src/frontend/admin/package.json') }} + restore-keys: ${{ runner.os }}-npm + - name: Publish frontend + working-directory: ./src/frontend/admin + run: + npm install && npm run build + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + - uses: actions/cache@v3 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + restore-keys: ${{ runner.os }}-nuget + - name: Publish backend + working-directory: ./src/backend/NetAdmin.BizServer.Host + run: dotnet publish NetAdmin.BizServer.Host.csproj -c Release + - name: Build docker images + run: docker build -t nsnail/netadmin . + - name: Docker login + uses: docker/login-action@v3 + with: + username: "nsnail" + password: "${{secrets.DOCKER_PASSWORD}}" + - name: Push docker images + run: docker push nsnail/netadmin \ No newline at end of file diff --git a/.gitignore b/.gitignore index acde096a..3a8dbce9 100644 --- a/.gitignore +++ b/.gitignore @@ -402,4 +402,4 @@ FodyWeavers.xsd dist/ refs/ *.[Dd]esigner.cs -*.db +*.db \ No newline at end of file diff --git a/.tgitconfig b/.tgitconfig new file mode 100644 index 00000000..cea19aa0 --- /dev/null +++ b/.tgitconfig @@ -0,0 +1,4 @@ +[hook "startcommit"] + cmdline = dot.clean.cmd + wait = true + show = true \ No newline at end of file diff --git a/1.git.pr.ps1 b/1.git.pr.ps1 new file mode 100644 index 00000000..37401dc3 --- /dev/null +++ b/1.git.pr.ps1 @@ -0,0 +1,10 @@ +$branch = $( git branch --show-current ) +./dot.clean.cmd +git add . +./node_modules/.bin/git-cz.ps1 +git pull +git push --set-upstream origin $branch +Start-Process -FilePath "https://github.com/nsnail/NetAdmin/compare/main...$branch" +Write-Host "按『Enter』重建分支,『Ctrl+C』退出" +Pause +./git.rc.ps1 \ No newline at end of file diff --git a/Build.cake b/Build.cake deleted file mode 100644 index c2878115..00000000 --- a/Build.cake +++ /dev/null @@ -1,198 +0,0 @@ -var target = Argument("target", "Default"); -var configuration = Argument("configuration", "Release"); -var outputDirectory = Argument("output-directory", "./dist/Server/publish"); - -//////////////////////////////////////////////////////////////// -// Tasks - -Task("Clean") - .Does(context => -{ - context.CleanDirectory("./dist"); -}); - -Task("Build") - .IsDependentOn("Clean") - .Does(context => -{ - DotNetBuild("./NetAdmin.sln", new DotNetBuildSettings { - Configuration = configuration - }); -}); - -Task("Publish-BizServer") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-SdkServer") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.SdkServer.Host/NetAdmin.SdkServer.Host.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-ManServer") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.ManServer.Host/NetAdmin.ManServer.Host.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-SdkService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.SdkService/NetAdmin.SdkService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-ManService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.ManService/NetAdmin.ManService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-CallbackService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.CallbackService/NetAdmin.CallbackService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - - -Task("Publish-ScheduledService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - - -Task("Publish-PushService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.PushService/NetAdmin.PushService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - - -// Task("Test") -// .IsDependentOn("Build") -// .Does(context => -// { -// DotNetTest("./test/Spectre.Console.Tests/Spectre.Console.Tests.csproj", new DotNetTestSettings { -// Configuration = configuration, -// NoRestore = true, -// NoBuild = true, -// }); -// -// DotNetTest("./test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj", new DotNetTestSettings { -// Configuration = configuration, -// NoRestore = true, -// NoBuild = true, -// }); -// -// DotNetTest("./test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj", new DotNetTestSettings { -// Configuration = configuration, -// NoRestore = true, -// NoBuild = true, -// }); -// }); - - -// Task("Publish-GitHub") -// .WithCriteria(ctx => BuildSystem.IsRunningOnGitHubActions, "Not running on GitHub Actions") -// //.IsDependentOn("Package") -// .Does(context => -// { -// var apiKey = Argument("github-key", null); -// if(string.IsNullOrWhiteSpace(apiKey)) { -// throw new CakeException("No GitHub API key was provided."); -// } -// -// // Publish to GitHub Packages -// var exitCode = 0; -// foreach(var file in context.GetFiles("./.artifacts/*.nupkg")) -// { -// context.Information("Publishing {0}...", file.GetFilename().FullPath); -// exitCode += StartProcess("dotnet", -// new ProcessSettings { -// Arguments = new ProcessArgumentBuilder() -// .Append("gpr") -// .Append("push") -// .AppendQuoted(file.FullPath) -// .AppendSwitchSecret("-k", " ", apiKey) -// } -// ); -// } -// -// if(exitCode != 0) -// { -// throw new CakeException("Could not push GitHub packages."); -// } -// }); - -// Task("Publish-NuGet") -// //.WithCriteria(ctx => BuildSystem.IsRunningOnGitHubActions, "Not running on GitHub Actions") -// //.IsDependentOn("Package") -// .Does(context => -// { -// var apiKey = Argument("nuget-key", null); -// if(string.IsNullOrWhiteSpace(apiKey)) { -// throw new CakeException("No NuGet API key was provided."); -// } -// -// // Publish to GitHub Packages -// foreach(var file in context.GetFiles("./.artifacts/*.nupkg")) -// { -// context.Information("Publishing {0}...", file.GetFilename().FullPath); -// DotNetNuGetPush(file.FullPath, new DotNetNuGetPushSettings -// { -// Source = "https://api.nuget.org/v3/index.json", -// ApiKey = apiKey, -// SkipDuplicate = true -// }); -// } -// }); - -//////////////////////////////////////////////////////////////// -// Targets - -// Task("Publish") -// .IsDependentOn("Publish-GitHub") -// .IsDependentOn("Publish-NuGet"); - -Task("Default") - .IsDependentOn("Build"); - -//////////////////////////////////////////////////////////////// -// Execution - -RunTarget(target) \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..3b6d9d97 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## 1.0.0 (2023-11-17) + + +### Features + +* ✨ 基础模块 ([cd2a241](https://github.com/nsnail/NetAdmin/commit/cd2a2412b91bd07346b1d95b19102d48883479a5)) \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index 47281162..91f23607 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,26 +1,34 @@ + - $(MSBuildThisFileDirectory) - $(SolutionDir)/dist/Server/$(MSBuildProjectName)/obj - $(SolutionDir)/dist/Server/$(MSBuildProjectName)/bin + + + + true + nsnail + $(SolutionDir)/dist/backend/$(MSBuildProjectName)/obj + $(SolutionDir)/dist/backend/$(MSBuildProjectName)/bin + © 2006-2023 nsnail + 一个基于.Net8/Vue3,极致优雅的RBAC通用权限管理模板 false true enable + preview beta NetAdmin git http://git.shequnpay.com/lingyun/NetAdmin.git - net7.0 + net8.0 $(AssemblyName) - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..1975c6d5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +WORKDIR /app +EXPOSE 8080 +RUN apt update +RUN apt install -y redis +COPY ./dist/backend/NetAdmin.BizServer.Host/bin/Release/net8.0/publish . +ENTRYPOINT redis-server --daemonize yes && dotnet NetAdmin.BizServer.Host.dll \ No newline at end of file diff --git a/NetAdmin.sln b/NetAdmin.sln index 4bb45988..24db391e 100644 --- a/NetAdmin.sln +++ b/NetAdmin.sln @@ -9,23 +9,46 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "backend", "backend", "{4DAF EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0CAC-4828-A807-34A693F73859}" ProjectSection(SolutionItems) = preProject + .commitlintrc.js = .commitlintrc.js .editorconfig = .editorconfig .gitattributes = .gitattributes .gitignore = .gitignore - Build.cake = Build.cake - CodeQuality.props = CodeQuality.props - CopyPackageXmlCommentFiles.targets = CopyPackageXmlCommentFiles.targets + .tgitconfig = .tgitconfig + 1.git.pr.ps1 = 1.git.pr.ps1 + build.cake = build.cake + clone.project.refs.ps1 = clone.project.refs.ps1 + code.clean.csx = code.clean.csx + code.clean.ps1 = code.clean.ps1 + code.cleanup.full.ps1 = code.cleanup.full.ps1 + code.quality.props = code.quality.props + copy.pkg.xml.comment.files.targets = copy.pkg.xml.comment.files.targets Directory.Build.props = Directory.Build.props + Dockerfile = Dockerfile + dot.clean.cmd = dot.clean.cmd dotnet-tools.json = dotnet-tools.json + gen.cs.tt = gen.cs.tt + gen.id.linq = gen.id.linq + gen.ln.cmd = gen.ln.cmd + gen.resx.tt = gen.resx.tt + git.rc.ps1 = git.rc.ps1 global.json = global.json + image.optimize.csx = image.optimize.csx + install.as.tpl.ps1 = install.as.tpl.ps1 LICENSE = LICENSE + minver.targets = minver.targets NetAdmin.sln.DotSettings = NetAdmin.sln.DotSettings - NuGet.Config = NuGet.Config + nuget.config = nuget.config package.json = package.json - PreBuild.targets = PreBuild.targets + prebuild.targets = prebuild.targets README.md = README.md + rename.csx = rename.csx + stylecop.analyzers.ruleset = stylecop.analyzers.ruleset StyleCop.json = StyleCop.json - StyleCopAnalyzers.ruleset = StyleCopAnalyzers.ruleset + switcher.freesql.json = switcher.freesql.json + switcher.furion.json = switcher.furion.json + switcher.nsext.json = switcher.nsext.json + switcher.ps1 = switcher.ps1 + sync.sln.files.csx = sync.sln.files.csx EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Infrastructure", "src\backend\NetAdmin.Infrastructure\NetAdmin.Infrastructure.csproj", "{1E62C322-EE42-4699-A6F1-791C53EFA62D}" @@ -54,8 +77,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.SysComponent.Appli EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02.Components", "02.Components", "{3F23258D-8299-4992-9F51-2EE9B52CF9D2}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "21.System", "21.System", "{E146D707-4D44-47B3-A8F9-D51EC5E1D047}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04.BackgroundServices", "04.BackgroundServices", "{CBFBF29B-27E8-4DB1-ADD6-4B750897ACD3}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01.Frameworks", "01.Frameworks", "{D9C3EF66-2757-473D-A26B-54FD08DA203F}" @@ -66,28 +87,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "06.Tests", "06.Tests", "{89 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.BizServer.Tests", "src\backend\NetAdmin.BizServer.Tests\NetAdmin.BizServer.Tests.csproj", "{C7F27698-DA05-4ACD-B0D7-4791B3972002}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{2D81D62C-1B2E-4758-84C6-728343CB734F}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{1129FE25-466B-4F4F-85FC-3752664245E1}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}" ProjectSection(SolutionItems) = preProject - CloneProjectRefs.ps1 = tools/CloneProjectRefs.ps1 - CodeCleanup.csx = tools/CodeCleanup.csx - CodeCleanup.ps1 = tools/CodeCleanup.ps1 - CodeCleanupFull.ps1 = tools/CodeCleanupFull.ps1 - DotClean.cmd = tools/DotClean.cmd - GenerateLn.cmd = tools/GenerateLn.cmd - GenerateLnCs.tt = tools/GenerateLnCs.tt - GenerateLnResx.tt = tools/GenerateLnResx.tt - GitPR.ps1 = tools/GitPR.ps1 - GitRecreate.ps1 = tools/GitRecreate.ps1 - IdGenerator.linq = tools/IdGenerator.linq - ImageOptimize.csx = tools/ImageOptimize.csx - InstallAsTpl.ps1 = tools/InstallAsTpl.ps1 - Switcher.FreeSql.json = tools/Switcher.FreeSql.json - Switcher.Furion.json = tools/Switcher.Furion.json - Switcher.NSExt.json = tools/Switcher.NSExt.json - Switcher.ps1 = tools/Switcher.ps1 - SyncMetaFiles.csx = tools/SyncMetaFiles.csx + ci.yml = .github/workflows/ci.yml EndProjectSection -EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\NetAdmin.Tests\NetAdmin.Tests.csproj", "{00604162-C444-478B-B773-3AB23C856CA7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -150,15 +157,15 @@ Global {C7F27698-DA05-4ACD-B0D7-4791B3972002}.Debug|Any CPU.Build.0 = Debug|Any CPU {C7F27698-DA05-4ACD-B0D7-4791B3972002}.Release|Any CPU.ActiveCfg = Release|Any CPU {C7F27698-DA05-4ACD-B0D7-4791B3972002}.Release|Any CPU.Build.0 = Release|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {4DAF9366-855F-46BB-AE4C-660C92FA0697} = {C84EB5A0-37AD-4B17-A51E-E36888C4441E} {12AE5B4B-CB1A-498E-83B8-04E201E31D86} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {3F23258D-8299-4992-9F51-2EE9B52CF9D2} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} - {E146D707-4D44-47B3-A8F9-D51EC5E1D047} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} - {34650E82-D257-46DA-BD6B-DE307113347B} = {E146D707-4D44-47B3-A8F9-D51EC5E1D047} - {19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {E146D707-4D44-47B3-A8F9-D51EC5E1D047} - {C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {E146D707-4D44-47B3-A8F9-D51EC5E1D047} {CBFBF29B-27E8-4DB1-ADD6-4B750897ACD3} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {D9C3EF66-2757-473D-A26B-54FD08DA203F} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {70C54E1B-2083-4196-AB68-34CAF0075D82} = {D9C3EF66-2757-473D-A26B-54FD08DA203F} @@ -172,5 +179,10 @@ Global {CE895E44-EEC3-4ECE-A56A-8A82E7D863E3} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86} {89260294-80FC-49F1-8D73-AECD39AFF2B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {C7F27698-DA05-4ACD-B0D7-4791B3972002} = {89260294-80FC-49F1-8D73-AECD39AFF2B7} + {3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1} + {00604162-C444-478B-B773-3AB23C856CA7} = {D9C3EF66-2757-473D-A26B-54FD08DA203F} + {34650E82-D257-46DA-BD6B-DE307113347B} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} + {19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} + {C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} EndGlobalSection EndGlobal \ No newline at end of file diff --git a/NetAdmin.sln.DotSettings b/NetAdmin.sln.DotSettings index a09783ab..e3ff26fb 100644 --- a/NetAdmin.sln.DotSettings +++ b/NetAdmin.sln.DotSettings @@ -1,7 +1,7 @@ Inherit True - DO_NOT_SHOW + DO_NOT_SHOW DO_NOT_SHOW DO_NOT_SHOW NEVER diff --git a/NuGet.Config b/NuGet.Config deleted file mode 100644 index eb8bbcaf..00000000 --- a/NuGet.Config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/PreBuild.targets b/PreBuild.targets deleted file mode 100644 index fb39f8ba..00000000 --- a/PreBuild.targets +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - Languages/Ln.txt - - - Languages/Ln.resx - PublicResXFileCodeGenerator - - - Languages/Ln.Designer.cs - - - \ No newline at end of file diff --git a/README.md b/README.md index 6aff29a0..ef8facbd 100644 --- a/README.md +++ b/README.md @@ -1,73 +1,87 @@ # NetAdmin -## Git Commits 语义 - -- `FEA` 新增特性 -- `REF` 项目重构 -- `FIX` 缺陷修复 -- `PER` 性能优化 -- `RVT` 还原变更 -- `FMT` 格式整理 -- `DOC` 文档变更 -- `TST` 单元测试 -- `BLD` 工程构建 +通用后台权限管理系统、快速开发框架(基于C#12/.NET8、Vue3/Vite、Element Plus等现代技术构建,具有十分整洁、优雅的编码规范) -## 构建指南 -1. 后端 - 1. 检查dotnet-sdk版本>=7.0.0 - ``` +[![.NET](https://github.com/nsnail/NetAdmin/actions/workflows/ci.yml/badge.svg)](https://github.com/nsnail/NetAdmin/actions/workflows/ci.yml) +[![MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/nsnail/NetAdmin/blob/main/LICENSE) +[![Furion](https://img.shields.io/badge/Furion-4.x-blueviolet.svg)](https://github.com/nsnail/NetAdmin/blob/main/LICENSE) +[![FreeSql](https://img.shields.io/badge/FreeSql-3.x-orange.svg)](https://github.com/nsnail/NetAdmin/blob/main/LICENSE) + +## 在线预览 + +http://na.yaopy.com + +## 一键运行 + +```shell +docker run -p 8080:8080 nsnail/netadmin +``` + +## 构建步骤 + +- 后端 + 1. 检查dotnet-sdk版本>=8.0.0 + ``` shell dotnet --list-sdks + + # 下载 dotnet https://dotnet.microsoft.com/zh-cn/download/dotnet ``` - 2. 克隆代码仓库 - ``` + 2. 克隆代码仓库 + ``` shell git clone https://github.com/nsnail/NetAdmin.git cd ./NetAdmin - ``` - 3. 确保本机redis处于运行状态 - ``` - redis-cli - ``` - 4. 运行后端WebApi - ``` - dotnet run --project ./src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj --urls http://[::]:65010 - ``` - 5. 体验WebApi程序 - ``` - 浏览器打开 http://localhost:65010 ,将看到Swagger(Knife4jUI)界面 - ``` -2. 前端 - 1. 检查nodejs版本>=20 - ``` - node -v - ``` - 2. 安装npm依赖包 - ``` - cd ./src/frontend/admin - npm install - ``` - 3. 运行前端项目 - ``` - npm run dev - ``` - 4. 体验前端程序 - ``` - 浏览器打开 http://localhost:65020 ,将看到管理界面(默认用户名:root,密码:1234qwer) - ``` -## 项目文件目录树描述 + # 下载 git https://git-scm.com/downloads + ``` + 3. 确保本机redis处于运行状态 + ``` shell + redis-cli + + # 下载 redis for windows https://github.com/redis-windows/redis-windows/releases + # 下载 redis for linux/mac https://redis.io/download + ``` + 4. 运行后端WebApi + ``` shell + dotnet run --project ./src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj --urls http://[::]:5010 + ``` + 5. 体验WebApi程序 + - 浏览器打开 http://localhost:5010 ,将看到Swagger(Knife4jUI)界面 + +--- + +- 前端 + 1. 检查nodejs版本>=20 + ``` shell + node -v + + # 下载 nodejs https://nodejs.org/en/download + ``` + 2. 安装npm依赖包 + ``` shell + cd ./src/frontend/admin + npm install + ``` + 3. 运行前端项目 + ``` shell + npm run dev + ``` + 4. 体验前端程序 + - 浏览器打开 http://localhost:5020 ,将看到管理界面(默认用户名:root,密码:1234qwer) + +## 文件目录树 + ``` -+---.template.config dotnet 项目模板配置目录 -+---assets 程序运行需要的资源文件目录 -+---dist 项目编译与分发的二进制文件目录 -+---refs 引用的第三方项目源文件目录 -+---src 项目源文件目录 -| +---backend 后端程序源文件目录 -| \---frontend 前端程序源文件目录 -\---tools 构建相关的工具目录 ++---.template.config # dotnet 项目模板配置目录 ++---assets # 程序运行需要的资源文件目录 ++---dist # 程序编译与分发的二进制文件目录 ++---docs # 项目文档目录 ++---refs # 引用的第三方项目仓库目录 ++---src # 项目源文件目录 ``` ## 后端项目架构 + ```mermaid flowchart TD H["NetAdmin.Host\n公共主机层\n(.Net自托管主机程序)\n(输入输出格式化)\n(数据校验、鉴权)\n(...所有HTTP管道过滤器中间件)"] --> C["NetAdmin.Cache\n公共缓存层\n(基于Redis或MemoryCache的缓存策略实现)"] @@ -83,4 +97,35 @@ XA["NetAdmin.XXX.Application\n(业务逻辑层实例)"]-->A XH-->XC XC-->XA -``` \ No newline at end of file +``` + +## 引用的开源代码 / 特别鸣谢 + +| 语言 | 集成领域 | 开源库 | +|------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| C# | Web基础框架 | [ASP.NET Core](https://github.com/dotnet/aspnetcore) | +| C# | 快速开发脚手架 | [Furion](https://gitee.com/dotnetchina/Furion) | +| C# | 数据库关系映射 | [FreeSql](https://github.com/dotnetcore/FreeSql) | +| C# | 代码质量检查 | [Roslynator.Analyzers](https://github.com/josefpihrt/roslynator) \| [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) \| [StyleCop.Analyzers](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) | +| C# | 单元测试框架 | [xunit](https://github.com/xunit/xunit) \| [coverlet.collector](https://github.com/coverlet-coverage/coverlet) | +| C# | 分布式锁 | [RedLock.net](https://github.com/samcook/RedLock.net) | +| C# | 控制台终端界面库 | [Spectre.Console](https://github.com/spectreconsole/spectre.console) | +| C# | 扩展函数库 | [NSExt](https://github.com/nsnail/ns-ext.git) | +| C# | 图形处理库 | [SixLabors.ImageSharp](https://github.com/SixLabors/ImageSharp) | +| C# | 文件对象存储 | [Minio](https://github.com/minio/minio-dotnet) | +| C# | 性能监控采集 | [prometheus-net.AspNetCore](https://github.com/prometheus-net/prometheus-net) | +| C# | 雪花ID生成器 | [Yitter.IdGenerator](https://github.com/yitter/idgenerator) | +| C# | 自动化版本管理 | [MinVer](https://github.com/adamralph/minver) | +| C# | JavaScript引擎 | [MsieJavaScriptEngine](https://github.com/Taritsyn/MsieJavaScriptEngine) | +| C# | WebApi图形界面 | [IGeekFan.AspNetCore.Knife4jUI](https://github.com/luoyunchong/IGeekFan.AspNetCore.Knife4jUI) | +| TypeScript | SPA基础框架 | [Vue](https://github.com/vuejs/core) | +| TypeScript | 前端构建工具 | [Vite](https://github.com/vitejs/vite) | +| TypeScript | UI控件库 | [Element Plus](https://github.com/element-plus/element-plus) | +| TypeScript | CSS解析器 | [Sass](https://github.com/sass/sass) | +| TypeScript | 图表和数据可视化 | [ECharts](https://github.com/apache/echarts) | +| JavaScript | 后台管理界面 | [SCUI](https://gitee.com/lolicode/scui) | +| JavaScript | HTTP请求库 | [Axios](https://github.com/axios/axios) | +| JavaScript | JavaScript解析器 | [Terser](https://github.com/terser/terser) | +| JavaScript | 代码质量检查 | [ESLint](https://github.com/eslint/eslint) | +| JavaScript | 代码格式化工具 | [Prettier](https://github.com/prettier/prettier) | +| JavaScript | 标准加密库 | [crypto-js](https://github.com/brix/crypto-js) | \ No newline at end of file diff --git a/assets/logo/line.png b/assets/logo/line.png deleted file mode 100644 index c2ce860c..00000000 Binary files a/assets/logo/line.png and /dev/null differ diff --git a/assets/minio/docker-compose-minio.yml b/assets/minio/docker-compose-minio.yml deleted file mode 100644 index 9ed7b5db..00000000 --- a/assets/minio/docker-compose-minio.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: "3" -services: - net-admin-minio: - image: minio/minio:latest - command: server /data --console-address ":9001" - ports: - - "9000:9000" - - "9001:9001" - restart: always - container_name: net-admin-minio - environment: - TZ: Asia/Shanghai - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone \ No newline at end of file diff --git a/assets/resx/Ln.resx b/assets/res/Ln.resx similarity index 65% rename from assets/resx/Ln.resx rename to assets/res/Ln.resx index 8883d0db..91dfe497 100644 --- a/assets/resx/Ln.resx +++ b/assets/res/Ln.resx @@ -22,52 +22,63 @@ PublicKeyToken=b77a5c561934e089 +// ReSharper disable DuplicateResource 1分钟内只能发送1次 6位数字 8位以上数字字母组合 - Xml注释文件不存在 - 不正确 - 不能为空 + XML注释文件不存在 + 不为其中之一 + 不以什么开始 + 不以什么结束 + 不包含 + 不等于 业务模块 东乡族 丧偶 中专 中共党员 中文姓名 + 为其中之一 乌孜别克族 事务已回滚 事务已提交 京族 - 人机校验请求 + 人机校验请求不能为空 人机验证未通过 仡佬族 + 以什么开始 + 以什么结束 仫佬族 佤族 侗族 俄罗斯族 保安族 保密 + 信息 倒序排序 傈僳族 傣族 允许的文件大小 允许的文件格式 全部数据 + 公告 共青团员 出生证 初中 - 初始化完毕 + 删除 + 包含 区号电话号码分机号 博士 博士后 参数格式不正确 发送失败 + 同步数据库结构 哈尼族 哈萨克族 - 唯一编码 + 唯一编码不能为空 回族 - 图标代码 - 图标名称 + 图标代码不能为空 + 图标名称不能为空 土家族 土族 基诺族 @@ -76,65 +87,84 @@ 壮族 外国人居留证 大专 + 大于 + 大于等于 - 字典名称 + 字典名称不能为空 字典目录不存在 - 字典目录编号 - 字典编码 - 密码 + 字典目录编号不能为空 + 字典编码不能为空 + 宕机 + 密码不能为空 + 小于 + 小于等于 小学 已发送 已婚 已完成 已校验 + 已读 布依族 布朗族 + 并且 开始事务 彝族 德昂族 - 必须介于 怒族 意外错误 成功 + 或者 手机 手机号码 - 手机号码或座机号码 + 手机号码不正确 护照 拉祜族族 指定部门数据 按钮 + 插入种子数据 撒拉族 支付宝账号 数据库同步开始 数据库服务器时钟偏移 数据库结构同步完成 - 数据版本 + 数据版本不能为空 文件不能为空 - 新密码 + 新密码不能为空 新手机号码 + 新手机号码验证码不正确 无效操作 - 无效网络地址 + 无效端口号 无效证件号码 无效输入 日志长度超过限制 - 旧密码 + 日期范围 + 旧密码不正确 + 旧密码不能为空 旧手机号码 + 旧手机号码不正确 + 旧手机号码验证码不正确 时间戳缺失或误差过大 普米族 景颇族 朝鲜族 未婚 未指定部门 + 未读 本人数据 本科 本部门和下级部门数据 本部门数据 柯尔克孜族 框架 + 模块名称不能为空 + 模块说明不能为空 + 比较数据库结构 毛南族 水族 汉族 注册 + 消息主题不能为空 + 消息内容不能为空 港澳台通行证 满族 父节点不存在 @@ -142,22 +172,24 @@ 珞巴族 瑶族 用户不存在 - 用户名 + 用户名不能为空 用户名不能是手机号 用户名或密码错误 用户名长度4位以上 - 用户头像 - 用户档案 + 用户头像不能为空 + 用户档案不能为空 电子邮箱 畲族 登录 白族 - 目标手机 - 目标设备 - 短信验证请求 + 目标设备不能为空 + 短信验证请求不能为空 硕士 离异 + 私信 + 站内信不存在 + 等于 等待发送 签名缺失 系统模块 @@ -167,49 +199,56 @@ 维吾尔族 羌族 群众 + 自定义 苗族 + 范围 菜单 - 菜单名称 - 菜单标题 - 菜单编号 + 菜单名称不能为空 + 菜单标题不能为空 + 菜单编号不能为空 蒙古族 藏族 裕固族 角色不存在 - 角色名称 - 角色编号 - 角色编号列表 + 角色名称不能为空 + 角色编号不能为空 + 角色编号列表不能为空 解绑手机号 - 设备类型 + 警告 + 设备类型不能为空 该角色下存在用户 该部门下存在子部门 该部门下存在用户 请求 - 请求对象 + 请求对象不能为空 请联系管理员激活账号 读取用户令牌出错 - 账号 + 调试 + 账号不能为空 赫哲族 + 跟踪 身份证 达斡尔族 邀请码不正确 邮箱验证码不正确 部门不存在 - 部门名称 + 部门名称不能为空 鄂伦春族 鄂温克族 + 配置文件初始化完毕 重设密码 链接 + 错误 锡伯族 - 键值 - 键名称 + 键值不能为空 + 键名称不能为空 门巴族 阿昌族 顺序排序 - 验证数据 - 验证码 + 验证数据不能为空 验证码不正确 - 验证码类型 + 验证码不能为空 + 验证码类型不能为空 高中 高山族 黎族 diff --git a/assets/resx/Ln.txt b/assets/res/Ln.txt similarity index 57% rename from assets/resx/Ln.txt rename to assets/res/Ln.txt index 31457baf..2168768e 100644 --- a/assets/resx/Ln.txt +++ b/assets/res/Ln.txt @@ -1,49 +1,59 @@ 1分钟内只能发送1次 6位数字 8位以上数字字母组合 -Xml注释文件不存在 -不正确 -不能为空 +XML注释文件不存在 +不为其中之一 +不以什么开始 +不以什么结束 +不包含 +不等于 业务模块 东乡族 丧偶 中专 中共党员 中文姓名 +为其中之一 乌孜别克族 事务已回滚 事务已提交 京族 -人机校验请求 +人机校验请求不能为空 人机验证未通过 仡佬族 +以什么开始 +以什么结束 仫佬族 佤族 侗族 俄罗斯族 保安族 保密 +信息 倒序排序 傈僳族 傣族 允许的文件大小 允许的文件格式 全部数据 +公告 共青团员 出生证 初中 -初始化完毕 +删除 +包含 区号电话号码分机号 博士 博士后 参数格式不正确 发送失败 +同步数据库结构 哈尼族 哈萨克族 -唯一编码 +唯一编码不能为空 回族 -图标代码 -图标名称 +图标代码不能为空 +图标名称不能为空 土家族 土族 基诺族 @@ -52,65 +62,84 @@ Xml注释文件不存在 壮族 外国人居留证 大专 +大于 +大于等于 女 -字典名称 +字典名称不能为空 字典目录不存在 -字典目录编号 -字典编码 -密码 +字典目录编号不能为空 +字典编码不能为空 +宕机 +密码不能为空 +小于 +小于等于 小学 已发送 已婚 已完成 已校验 +已读 布依族 布朗族 +并且 开始事务 彝族 德昂族 -必须介于 怒族 意外错误 成功 +或者 手机 手机号码 -手机号码或座机号码 +手机号码不正确 护照 拉祜族族 指定部门数据 按钮 +插入种子数据 撒拉族 支付宝账号 数据库同步开始 数据库服务器时钟偏移 数据库结构同步完成 -数据版本 +数据版本不能为空 文件不能为空 -新密码 +新密码不能为空 新手机号码 +新手机号码验证码不正确 无效操作 -无效网络地址 +无效端口号 无效证件号码 无效输入 日志长度超过限制 -旧密码 +日期范围 +旧密码不正确 +旧密码不能为空 旧手机号码 +旧手机号码不正确 +旧手机号码验证码不正确 时间戳缺失或误差过大 普米族 景颇族 朝鲜族 未婚 未指定部门 +未读 本人数据 本科 本部门和下级部门数据 本部门数据 柯尔克孜族 框架 +模块名称不能为空 +模块说明不能为空 +比较数据库结构 毛南族 水族 汉族 注册 +消息主题不能为空 +消息内容不能为空 港澳台通行证 满族 父节点不存在 @@ -118,22 +147,24 @@ Xml注释文件不存在 珞巴族 瑶族 用户不存在 -用户名 +用户名不能为空 用户名不能是手机号 用户名或密码错误 用户名长度4位以上 -用户头像 -用户档案 +用户头像不能为空 +用户档案不能为空 电子邮箱 男 畲族 登录 白族 -目标手机 -目标设备 -短信验证请求 +目标设备不能为空 +短信验证请求不能为空 硕士 离异 +私信 +站内信不存在 +等于 等待发送 签名缺失 系统模块 @@ -143,49 +174,56 @@ Xml注释文件不存在 维吾尔族 羌族 群众 +自定义 苗族 +范围 菜单 -菜单名称 -菜单标题 -菜单编号 +菜单名称不能为空 +菜单标题不能为空 +菜单编号不能为空 蒙古族 藏族 裕固族 角色不存在 -角色名称 -角色编号 -角色编号列表 +角色名称不能为空 +角色编号不能为空 +角色编号列表不能为空 解绑手机号 -设备类型 +警告 +设备类型不能为空 该角色下存在用户 该部门下存在子部门 该部门下存在用户 请求 -请求对象 +请求对象不能为空 请联系管理员激活账号 读取用户令牌出错 -账号 +调试 +账号不能为空 赫哲族 +跟踪 身份证 达斡尔族 邀请码不正确 邮箱验证码不正确 部门不存在 -部门名称 +部门名称不能为空 鄂伦春族 鄂温克族 +配置文件初始化完毕 重设密码 链接 +错误 锡伯族 -键值 -键名称 +键值不能为空 +键名称不能为空 门巴族 阿昌族 顺序排序 -验证数据 -验证码 +验证数据不能为空 验证码不正确 -验证码类型 +验证码不能为空 +验证码类型不能为空 高中 高山族 黎族 \ No newline at end of file diff --git a/assets/seed-data/Sys_Menu.json b/assets/seed-data/Sys_Menu.json index 5aa362e2..12c0793e 100644 --- a/assets/seed-data/Sys_Menu.json +++ b/assets/seed-data/Sys_Menu.json @@ -9,16 +9,6 @@ "Title": "控制面板", "Type": 1 }, - { - "Component": "profile", - "Id": 374967228141573, - "Name": "profile", - "Path": "/profile", - "Sort": 100, - "Title": "账号信息", - "Hidden": true, - "Type": 1 - }, { "Icon": "el-icon-setting", "Id": 373837917724677, @@ -116,6 +106,17 @@ "Title": "系统设置", "Type": 1 }, + { + "Component": "home/widgets/components/ver", + "Icon": "el-icon-pointer", + "Id": 480998862188554, + "Name": "sys-about", + "ParentId": 373837917724677, + "Path": "/sys/about", + "Sort": 91, + "Title": "版本信息", + "Type": 1, + }, { "Component": "sys/api", "Icon": "sc-icon-api", @@ -128,46 +129,15 @@ "Type": 1 }, { - "Icon": "sc-icon-business", - "Id": 420881941635077, - "Name": "biz", - "Path": "/biz", - "Sort": 99, - "Title": "业务管理", - "Type": 1 - }, - { - "Component": "biz/product-category", - "Icon": "sc-icon-product-category", - "Id": 420881941635087, - "Name": "biz-product-category", - "ParentId": 420881941635077, - "Path": "/biz/product-category", - "Sort": 100, - "Title": "商品分类", - "Type": 1 - }, - { - "Component": "biz/member", - "Icon": "el-icon-user", - "Id": 422658027704337, - "Name": "biz-member", - "ParentId": 420881941635077, - "Path": "/biz/member", - "Sort": 100, - "Title": "会员管理", - "Type": 1 - }, - { - "Component": "biz/product", - "Icon": "sc-icon-product", - "Id": 421506245349391, - "Name": "biz-product", - "ParentId": 420881941635077, - "Path": "/biz/product", - "Sort": 100, - "Title": "商品管理", - "Type": 1 + "Component": "sys/msg", + "Icon": "el-icon-message", + "Id": 482779610341392, + "Name": "sys-msg", + "ParentId": 373837917724677, + "Path": "/sys/msg", + "Sort": 98, + "Title": "消息管理", + "Type": 1, }, { "Icon": "sc-icon-code", @@ -189,4 +159,14 @@ "Title": "代码生成", "Type": 1 }, + { + "Id": 482777529417739, + "ParentId": 373838105399301, + "Icon": "el-icon-eleme-filled", + "Name": "dev-element", + "Path": "https://element-plus.gitee.io/zh-CN/component/button.html", + "Sort": 100, + "Title": "Element", + "Type": 3, + } ] \ No newline at end of file diff --git a/assets/seed-data/Sys_SiteMsg.json b/assets/seed-data/Sys_SiteMsg.json new file mode 100644 index 00000000..4b1277d0 --- /dev/null +++ b/assets/seed-data/Sys_SiteMsg.json @@ -0,0 +1,10 @@ +[ + { + "Content": "

尊敬的用户:

\n

欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#12/.NET8、Vue3/Vite、Element Plus 等现代技术构建,具有十分整洁、优雅的编码规范。

\n

NetAdmin 致力于为企业提供高效、安全、易用的解决方案,帮助您快速构建出符合业务需求的应用程序。系统提供了丰富的功能模块,包括用户管理、权限管理、日志管理、文件上传等,可以满足您日常管理的需求。

\n

在使用 NetAdmin 的过程中,我们真诚地希望您能够遵守以下规定:

\n

1. 不得利用 NetAdmin 进行非法活动或者侵犯他人权益;

\n

2. 不得对 NetAdmin 系统进行恶意攻击或者破坏;

\n

3. 不得将 NetAdmin 系统的任何部分用于商业目的或者未经授权的访问。

\n

4. 为了更好地为您提供服务,NetAdmin 将不断进行优化和升级,同时也欢迎您提出宝贵的意见和建议。如果您在使用过程中遇到任何问题,可以通过官方网站或者技术支持团队进行咨询和解决。

\n

再次感谢您对 NetAdmin 的信任和支持!我们相信,在您的使用过程中,NetAdmin 一定会成为您的得力助手,为您的事业发展提供强有力的支持!

\n

NetAdmin 开发团队

", + "MsgType": 2, + "Summary": "尊敬的用户:\n欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#12/.NET8、Vue3/Vite、Element Plus 等现代", + "Title": "欢迎使用 NetAdmin 后台管理系统", + "CreatedUserId": 370942943322181, + "CreatedUserName": "root", + } +] \ No newline at end of file diff --git a/tools/CloneProjectRefs.ps1 b/clone.project.refs.ps1 similarity index 74% rename from tools/CloneProjectRefs.ps1 rename to clone.project.refs.ps1 index 7ebf9e56..bc8cae6d 100644 --- a/tools/CloneProjectRefs.ps1 +++ b/clone.project.refs.ps1 @@ -2,5 +2,5 @@ $refs = ('https://github.com/nsnail/ns-ext.git', 'https://github.com/nsnail/Furi foreach ($item in $refs) { - git clone --depth 1 --config "http.proxy=http://127.0.0.1:1081" $item "../refs/$( [regex]::Match($item, '/([^/]+)\.git$').Groups[1] )" + git clone --depth 1 --config "http.proxy=http://127.0.0.1:1081" $item "./refs/$( [regex]::Match($item, '/([^/]+)\.git$').Groups[1] )" } \ No newline at end of file diff --git a/tools/CodeCleanup.csx b/code.clean.csx similarity index 97% rename from tools/CodeCleanup.csx rename to code.clean.csx index cb98db8e..f0d2fc32 100644 --- a/tools/CodeCleanup.csx +++ b/code.clean.csx @@ -18,7 +18,7 @@ using System.Net.Http.Json; { CreateNoWindow = true, FileName = "dotnet", - Arguments = $"jb cleanupcode --include=\"{files}\" --no-build ../NetAdmin.sln", + Arguments = $"jb cleanupcode --include=\"{files}\" --no-build ./NetAdmin.sln", UseShellExecute = false, RedirectStandardOutput = true } diff --git a/tools/CodeCleanup.ps1 b/code.clean.ps1 similarity index 60% rename from tools/CodeCleanup.ps1 rename to code.clean.ps1 index 4a6fc66f..761e743b 100644 --- a/tools/CodeCleanup.ps1 +++ b/code.clean.ps1 @@ -3,5 +3,5 @@ $files = $( foreach ($line in $( git diff head origin/dev --stat-width 200 ) | f $line.split('\|')[0].trim() } ) -join ';' echo $files -dotnet jb cleanupcode --no-build --include = "$files" ../NetAdmin.sln -dotnet script ../PushSign.csx \ No newline at end of file +dotnet jb cleanupcode --no-build --include = "$files" ./NetAdmin.sln +dotnet script ./PushSign.csx \ No newline at end of file diff --git a/code.cleanup.full.ps1 b/code.cleanup.full.ps1 new file mode 100644 index 00000000..66e59a41 --- /dev/null +++ b/code.cleanup.full.ps1 @@ -0,0 +1 @@ +dotnet jb cleanupcode --no-build ./NetAdmin.sln \ No newline at end of file diff --git a/CodeQuality.props b/code.quality.props similarity index 93% rename from CodeQuality.props rename to code.quality.props index 45b284f6..3b80dab1 100644 --- a/CodeQuality.props +++ b/code.quality.props @@ -1,6 +1,8 @@ - $(SolutionDir)/StyleCopAnalyzers.ruleset + $(SolutionDir)/stylecop.analyzers.ruleset + + true true true @@ -13,11 +15,11 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/CopyPackageXmlCommentFiles.targets b/copy.pkg.xml.comment.files.targets similarity index 91% rename from CopyPackageXmlCommentFiles.targets rename to copy.pkg.xml.comment.files.targets index 5f7a4f5d..93db426c 100644 --- a/CopyPackageXmlCommentFiles.targets +++ b/copy.pkg.xml.comment.files.targets @@ -3,8 +3,8 @@ + Include="$(NugetPackageRoot)\%(PackageReference.Identity)\%(PackageReference.Version)\%(PackageReference.CopyToOutputDirectory)"/> - + \ No newline at end of file diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 00000000..fccf3791 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,182 @@ +# 约定式提交 1.0.0 + +## [](#概述)概述 + +约定式提交规范是一种基于提交信息的轻量级约定。 它提供了一组简单规则来创建清晰的提交历史; 这更有利于编写自动化工具。 通过在提交信息中描述功能、修复和破坏性变更, 使这种惯例与 [SemVer](http://semver.org/lang/zh-CN) 相互对应。 + +提交说明的结构如下所示: + +* * * + +原文: + + [optional scope]: + + [optional body] + + [optional footer(s)] + + +译文: + + <类型>[可选 范围]: <描述> + + [可选 正文] + + [可选 脚注] + + +* * * + +提交说明包含了下面的结构化元素,以向类库使用者表明其意图: + +1. **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](https://semver.org/lang/zh-CN/#%E6%91%98%E8%A6%81) 相对应)。 +2. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](https://semver.org/lang/zh-CN/#%E6%91%98%E8%A6%81) 相对应)。 +3. **BREAKING CHANGE:** 在脚注中包含 `BREAKING CHANGE:` 或 <类型>(范围) 后面有一个 `!` 的提交,表示引入了破坏性 API 变更(这和语义化版本中的 [`MAJOR`](https://semver.org/lang/zh-CN/#%E6%91%98%E8%A6%81) 相对应)。 破坏性变更可以是任意 _类型_ 提交的一部分。 +4. 除 `fix:` 和 `feat:` 之外,也可以使用其它提交 _类型_ ,例如 [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional)(基于 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines))中推荐的 `build:`、`chore:`、 `ci:`、`docs:`、`style:`、`refactor:`、`perf:`、`test:`,等等。 + * build: 用于修改项目构建系统,例如修改依赖库、外部接口或者升级 Node 版本等; + * chore: 用于对非业务性代码进行修改,例如修改构建流程或者工具配置等; + * ci: 用于修改持续集成流程,例如修改 Travis、Jenkins 等工作流配置; + * docs: 用于修改文档,例如修改 README 文件、API 文档等; + * style: 用于修改代码的样式,例如调整缩进、空格、空行等; + * refactor: 用于重构代码,例如修改代码结构、变量名、函数名等但不修改功能逻辑; + * perf: 用于优化性能,例如提升代码的性能、减少内存占用等; + * test: 用于修改测试用例,例如添加、删除、修改代码的测试用例等。 +5. 脚注中除了 `BREAKING CHANGE: ` ,其它条目应该采用类似 [git trailer format](https://git-scm.com/docs/git-interpret-trailers) 这样的惯例。 + +其它提交类型在约定式提交规范中并没有强制限制,并且在语义化版本中没有隐式影响(除非它们包含 BREAKING CHANGE)。 可以为提交类型添加一个围在圆括号内的范围,以为其提供额外的上下文信息。例如 `feat(parser): adds ability to parse arrays.`。 + +## [](#示例)示例 + +### [](#包含了描述并且脚注中有破坏性变更的提交说明)包含了描述并且脚注中有破坏性变更的提交说明 + + feat: allow provided config object to extend other configs + + BREAKING CHANGE: `extends` key in config file is now used for extending other config files + + +### [](#包含了--字符以提醒注意破坏性变更的提交说明)包含了 `!` 字符以提醒注意破坏性变更的提交说明 + + feat!: send an email to the customer when a product is shipped + + +### [](#包含了范围和破坏性变更--的提交說明)包含了范围和破坏性变更 `!` 的提交說明 + + feat(api)!: send an email to the customer when a product is shipped + + +### [](#包含了--和-breaking-change-脚注的提交说明)包含了 `!` 和 BREAKING CHANGE 脚注的提交说明 + + chore!: drop support for Node 6 + + BREAKING CHANGE: use JavaScript features not available in Node 6. + + +### [](#不包含正文的提交说明)不包含正文的提交说明 + + docs: correct spelling of CHANGELOG + + +### [](#包含范围的提交说明)包含范围的提交说明 + + feat(lang): add polish language + + +### [](#包含多行正文和多行脚注的提交说明)包含多行正文和多行脚注的提交说明 + + fix: prevent racing of requests + + Introduce a request id and a reference to latest request. Dismiss + incoming responses other than from latest request. + + Remove timeouts which were used to mitigate the racing issue but are + obsolete now. + + Reviewed-by: Z + Refs: #123 + + +## [](#约定式提交规范)约定式提交规范 + +本文中的关键词 “必须(MUST)”、“禁止(MUST NOT)”、“必要(REQUIRED)”、“应当(SHALL)”、“不应当(SHALL NOT)”、“应该(SHOULD)”、“不应该(SHOULD NOT)”、“推荐(RECOMMENDED)”、“可以(MAY)” 和 “可选(OPTIONAL)” ,其相关解释参考 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 。 + +1. 每个提交都**必须**使用类型字段前缀,它由一个名词构成,诸如 `feat` 或 `fix` , 其后接**可选的**范围字段,**可选的** `!`,以及**必要的**冒号(英文半角)和空格。 +2. 当一个提交为应用或类库实现了新功能时,**必须**使用 `feat` 类型。 +3. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 +4. 范围字段**可以**跟随在类型字段后面。范围**必须**是一个描述某部分代码的名词,并用圆括号包围,例如: `fix(parser):` +5. 描述字段**必须**直接跟在 <类型>(范围) 前缀的冒号和空格之后。 描述指的是对代码变更的简短总结,例如: _fix: array parsing issue when multiple spaces were contained in string_ 。 +6. 在简短描述之后,**可以**编写较长的提交正文,为代码变更提供额外的上下文信息。正文**必须**起始于描述字段结束的一个空行后。 +7. 提交的正文内容自由编写,并**可以**使用空行分隔不同段落。 +8. 在正文结束的一个空行之后,**可以**编写一行或多行脚注。每行脚注都**必须**包含 一个令牌(token),后面紧跟 `:` 或 `#` 作为分隔符,后面再紧跟令牌的值(受 [git trailer convention](https://git-scm.com/docs/git-interpret-trailers) 启发)。 +9. 脚注的令牌**必须**使用 `-` 作为连字符,比如 `Acked-by` (这样有助于 区分脚注和多行正文)。有一种例外情况就是 `BREAKING CHANGE`,它**可以**被认为是一个令牌。 +10. 脚注的值**可以**包含空格和换行,值的解析过程**必须**直到下一个脚注的令牌/分隔符出现为止。 +11. 破坏性变更**必须**在提交信息中标记出来,要么在 <类型>(范围) 前缀中标记,要么作为脚注的一项。 +12. 包含在脚注中时,破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,后面紧跟着冒号、空格,然后是描述,例如: _BREAKING CHANGE: environment variables now take precedence over config files_ 。 +13. 包含在 <类型>(范围) 前缀时,破坏性变更**必须**通过把 `!` 直接放在 `:` 前面标记出来。 如果使用了 `!`,那么脚注中**可以**不写 `BREAKING CHANGE:`, 同时提交信息的描述中**应该**用来描述破坏性变更。 +14. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型,比如:_docs: updated ref docs._ 。 +15. 工具的实现必须**不区分**大小写地解析构成约定式提交的信息单元,只有 `BREAKING CHANGE` **必须**是大写的。 +16. BREAKING-CHANGE 作为脚注的令牌时**必须**是 BREAKING CHANGE 的同义词。 + +## [](#为什么使用约定式提交)为什么使用约定式提交 + +* 自动化生成 CHANGELOG。 +* 基于提交的类型,自动决定语义化的版本变更。 +* 向同事、公众与其他利益关系者传达变化的性质。 +* 触发构建和部署流程。 +* 让人们探索一个更加结构化的提交历史,以便降低对你的项目做出贡献的难度。 + +## [](#faq)FAQ + +### [](#在初始开发阶段我该如何处理提交说明)在初始开发阶段我该如何处理提交说明? + +我们建议你按照假设你已发布了产品那样来处理。因为通常总 _有人_ 使用你的软件,即便那是你软件开发的同事们。他们会希望知道诸如修复了什么、哪里不兼容等信息。 + +### [](#提交标题中的类型是大写还是小写)提交标题中的类型是大写还是小写? + +大小写都可以,但最好是一致的。 + +### [](#如果提交符合多种类型我该如何操作)如果提交符合多种类型我该如何操作? + +回退并尽可能创建多次提交。约定式提交的好处之一是能够促使我们做出更有组织的提交和 PR。 + +### [](#这不会阻碍快速开发和迭代吗)这不会阻碍快速开发和迭代吗? + +它阻碍的是以杂乱无章的方式快速前进。它助你能在横跨多个项目以及和多个贡献者协作时长期地快速演进。 + +### [](#约定式提交会让开发者受限于提交的类型吗因为他们会想着已提供的类型)约定式提交会让开发者受限于提交的类型吗(因为他们会想着已提供的类型)? + +约定式提交鼓励我们更多地使用某些类型的提交,比如 `fixes`。除此之外,约定式提交的灵活性也允许你的团队使用自己的类型,并随着时间的推移更改这些类型。 + +### [](#这和-semver-有什么关联呢)这和 SemVer 有什么关联呢? + +`fix` 类型提交应当对应到 `PATCH` 版本。`feat` 类型提交应该对应到 `MINOR` 版本。带有 `BREAKING CHANGE` 的提交不管类型如何,都应该对应到 `MAJOR` 版本。 + +### [](#我对约定式提交做了形如-jameswomackconventional-commit-spec-的扩展该如何版本化管理这些扩展呢)我对约定式提交做了形如 `@jameswomack/conventional-commit-spec` 的扩展,该如何版本化管理这些扩展呢? + +我们推荐使用 SemVer 来发布你对于这个规范的扩展(并鼓励你创建这些扩展!) + +### [](#如果我不小心使用了错误的提交类型该怎么办呢)如果我不小心使用了错误的提交类型,该怎么办呢? + +#### [](#当你使用了在规范中但错误的类型时例如将-feat-写成了-fix)当你使用了在规范中但错误的类型时,例如将 `feat` 写成了 `fix` + +在合并或发布这个错误之前,我们建议使用 `git rebase -i` 来编辑提交历史。而在发布之后,根据你使用的工具和流程不同,会有不同的清理方案。 + +#### [](#当使用了-不在-规范中的类型时例如将-feat-写成了-feet)当使用了 _不在_ 规范中的类型时,例如将 `feat` 写成了 `feet` + +在最坏的场景下,即便提交没有满足约定式提交的规范,也不会是世界末日。这只意味着这个提交会被基于规范的工具错过而已。 + +### [](#所有的贡献者都需要使用约定式提交规范吗)所有的贡献者都需要使用约定式提交规范吗? + +并不!如果你使用基于 squash 的 Git 工作流,主管维护者可以在合并时清理提交信息——这不会对普通提交者产生额外的负担。 有种常见的工作流是让 git 系统自动从 pull request 中 squash 出提交,并向主管维护者提供一份表单,用以在合并时输入合适的 git 提交信息。 + +### [](#约定式提交规范中如何处理还原revert提交)约定式提交规范中如何处理还原(revert)提交? + +还原提交(Reverting)会比较复杂:你还原的是多个提交吗?如果你还原了一个功能模块,下次发布的应该是补丁吗? + +约定式提交不能明确的定义还原行为。所以我们把这个问题留给工具开发者, 基于 _类型_ 和 _脚注_ 的灵活性来开发他们自己的还原处理逻辑。 + +一种建议是使用 `revert` 类型,和一个指向被还原提交摘要的脚注: + + revert: let us never again speak of the noodle incident + + Refs: 676104e, a215868 \ No newline at end of file diff --git a/docs/SEMVER.md b/docs/SEMVER.md new file mode 100644 index 00000000..53b6009c --- /dev/null +++ b/docs/SEMVER.md @@ -0,0 +1,226 @@ +语义化版本 2.0.0 +=== + +摘要 +--- + +版本格式:主版本号.次版本号.修订号,版本号递增规则如下: + +1. 主版本号:当你做了不兼容的 API 修改, +2. 次版本号:当你做了向下兼容的功能性新增, +3. 修订号:当你做了向下兼容的问题修正。 + +先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 + +简介 +--- + +在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。 + +在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你项目的进展因为版本依赖被锁死或版本混乱变得不够简便和可靠,就意味着你正处于依赖地狱之中。 + +作为这个问题的解决方案之一,我提议用一组简单的规则及条件来约束版本号的配置和增长。这些规则是根据(但不局限于)已经被各种封闭、开放源码软件所广泛使用的惯例所设计。为了让这套理论运作,你必须先有定义好的公共 API。这可能包括文档或代码的强制要求。无论如何,这套 API 的清楚明了是十分重要的。一旦你定义了公共 API,你就可以透过修改相应的版本号来向大家说明你的修改。考虑使用这样的版本号格式:X.Y.Z(主版本号.次版本号.修订号)修复问题但不影响 API 时,递增修订号;API 保持向下兼容的新增及修改时,递增次版本号;进行不向下兼容的修改时,递增主版本号。 + +我称这套系统为“语义化的版本控制”,在这套约定下,版本号及其更新方式包含了相邻版本间的底层代码和修改内容的信息。 + +语义化版本控制规范(SemVer) +--- + +以下关键词 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、 RECOMMENDED、MAY、OPTIONAL 依照 RFC 2119 的叙述解读。 + +1. 使用语义化版本控制的软件必须(MUST)定义公共 API。该 API 可以在代码中被定义或出现于严谨的文档内。无论何种形式都应该力求精确且完整。 + +2. 标准的版本号必须(MUST)采用 X.Y.Z 的格式,其中 X、Y 和 Z 为非负的整数,且禁止(MUST NOT)在数字前方补零。X 是主版本号、Y 是次版本号、而 Z 为修订号。每个元素必须(MUST)以数值来递增。例如:1.9.1 -> 1.10.0 -> 1.11.0。 + +3. 标记版本号的软件发行后,禁止(MUST NOT)改变该版本软件的内容。任何修改都必须(MUST)以新版本发行。 + +4. 主版本号为零(0.y.z)的软件处于开发初始阶段,一切都可能随时被改变。这样的公共 API 不应该被视为稳定版。 + +5. 1.0.0 的版本号用于界定公共 API 的形成。这一版本之后所有的版本号更新都基于公共 API 及其修改内容。 + +6. 修订号 Z(x.y.Z `|` x > 0)必须(MUST)在只做了向下兼容的修正时才递增。这里的修正指的是针对不正确结果而进行的内部修改。 + +7. 次版本号 Y(x.Y.z `|` x > 0)必须(MUST)在有向下兼容的新功能出现时递增。在任何公共 API 的功能被标记为弃用时也必须(MUST)递增。也可以(MAY)在内部程序有大量新功能或改进被加入时递增,其中可以(MAY)包括修订级别的改变。每当次版本号递增时,修订号必须(MUST)归零。 + +8. 主版本号 X(X.y.z `|` X > 0)必须(MUST)在有任何不兼容的修改被加入公共 API 时递增。其中可以(MAY)包括次版本号及修订级别的改变。每当主版本号递增时,次版本号和修订号必须(MUST)归零。 + +9. 先行版本号可以(MAY)被标注在修订版之后,先加上一个连接号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。数字型的标识符禁止(MUST NOT)在前方补零。先行版的优先级低于相关联的标准版本。被标上先行版本号则表示这个版本并非稳定而且可能无法满足预期的兼容性需求。范例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。 + +10. 版本编译信息可以(MAY)被标注在修订版或先行版本号之后,先加上一个加号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。当判断版本的优先层级时,版本编译信息可(SHOULD)被忽略。因此当两个版本只有在版本编译信息有差别时,属于相同的优先层级。范例:1.0.0-alpha+001、1.0.0+20130313144700、1.0.0-beta+exp.sha.5114f85。 + +11. 版本的优先层级指的是不同版本在排序时如何比较。 + + 1. 判断优先层级时,必须(MUST)把版本依序拆分为主版本号、次版本号、修订号及先行版本号后进行比较(版本编译信息不在这份比较的列表中)。 + + 2. 由左到右依序比较每个标识符,第一个差异值用来决定优先层级:主版本号、次版本号及修订号以数值比较。 + + 例如:1.0.0 < 2.0.0 < 2.1.0 < 2.1.1。 + + 3. 当主版本号、次版本号及修订号都相同时,改以优先层级比较低的先行版本号决定。 + + 例如:1.0.0-alpha < 1.0.0。 + + 4. 有相同主版本号、次版本号及修订号的两个先行版本号,其优先层级必须(MUST)透过由左到右的每个被句点分隔的标识符来比较,直到找到一个差异值后决定: + + 1. 只有数字的标识符以数值高低比较。 + + 2. 有字母或连接号时则逐字以 ASCII 的排序来比较。 + + 3. 数字的标识符比非数字的标识符优先层级低。 + + 4. 若开头的标识符都相同时,栏位比较多的先行版本号优先层级比较高。 + + 例如:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0。 + +合法语义化版本的巴科斯范式语法 +-------------------------------------------------- +``` + ::= + | "-" + | "+" + | "-" "+" + + ::= "." "." + + ::= + + ::= + + ::= + + ::= + + ::= + | "." + + ::= + + ::= + | "." + + ::= + | + + ::= + | + + ::= + | + | + | + + ::= "0" + | + | + + ::= + | + + ::= + | + + ::= + | "-" + + ::= + | + + ::= "0" + | + + ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" + + ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" + | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" + | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" + | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" + | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" + | "y" | "z" +``` + +为什么要使用语义化的版本控制? +--- + +这并不是一个新的或者革命性的想法。实际上,你可能已经在做一些近似的事情了。问题在于只是“近似”还不够。如果没有某个正式的规范可循,版本号对于依赖的管理并无实质意义。将上述的想法命名并给予清楚的定义,让你对软件使用者传达意向变得容易。一旦这些意向变得清楚,弹性(但又不会太弹性)的依赖规范就能达成。 + +举个简单的例子就可以展示语义化的版本控制如何让依赖地狱成为过去。假设有个名为“救火车”的函数库,它需要另一个名为“梯子”并已经有使用语义化版本控制的包。当救火车创建时,梯子的版本号为 3.1.0。因为救火车使用了一些版本 3.1.0 所新增的功能,你可以放心地指定依赖于梯子的版本号大于等于 3.1.0 但小于 4.0.0。这样,当梯子版本 3.1.1 和 3.2.0 发布时,你可以将直接它们纳入你的包管理系统,因为它们能与原有依赖的软件兼容。 + +作为一位负责任的开发者,你理当确保每次包升级的运作与版本号的表述一致。现实世界是复杂的,我们除了提高警觉外能做的不多。你所能做的就是让语义化的版本控制为你提供一个健全的方式来发行以及升级包,而无需推出新的依赖包,节省你的时间及烦恼。 + +如果你对此认同,希望立即开始使用语义化版本控制,你只需声明你的函数库正在使用它并遵循这些规则就可以了。请在你的 README 文件中保留此页链接,让别人也知道这些规则并从中受益。 + +FAQ +--- + +### 在 0.y.z 初始开发阶段,我该如何进行版本控制? + +最简单的做法是以 0.1.0 作为你的初始化开发版本,并在后续的每次发行时递增次版本号。 + +### 如何判断发布 1.0.0 版本的时机? + +当你的软件被用于正式环境,它应该已经达到了 1.0.0 版。如果你已经有个稳定的 API 被使用者依赖,也会是 1.0.0 版。如果你很担心向下兼容的问题,也应该算是 1.0.0 版了。 + +### 这不会阻碍快速开发和迭代吗? + +主版本号为零的时候就是为了做快速开发。如果你每天都在改变 API,那么你应该仍在主版本号为零的阶段(0.y.z),或是正在下个主版本的独立开发分支中。 + +### 对于公共 API,若即使是最小但不向下兼容的改变都需要产生新的主版本号,岂不是很快就达到 42.0.0 版? + +这是开发的责任感和前瞻性的问题。不兼容的改变不应该轻易被加入到有许多依赖代码的软件中。升级所付出的代价可能是巨大的。要递增主版本号来发行不兼容的改版,意味着你必须为这些改变所带来的影响深思熟虑,并且评估所涉及的成本及效益比。 + +### 为整个公共 API 写文档太费事了! + +为供他人使用的软件编写适当的文档,是你作为一名专业开发者应尽的职责。保持项目高效的一个非常重要的部分是掌控软件的复杂度,如果没有人知道如何使用你的软件或不知道哪些函数的调用是可靠的,要掌控复杂度会是困难的。长远来看,使用语义化版本控制以及对于公共 API 有良好规范的坚持,可以让每个人及每件事都运行顺畅。 + +### 万一不小心把一个不兼容的改版当成了次版本号发行了该怎么办? + +一旦发现自己破坏了语义化版本控制的规范,就要修正这个问题,并发行一个新的次版本号来更正这个问题并且恢复向下兼容。即使是这种情况,也不能去修改已发行的版本。可以的话,将有问题的版本号记录到文档中,告诉使用者问题所在,让他们能够意识到这是有问题的版本。 + +### 如果我更新了自己的依赖但没有改变公共 API 该怎么办? + +由于没有影响到公共 API,这可以被认定是兼容的。若某个软件和你的包有共同依赖,则它会有自己的依赖规范,作者也会告知可能的冲突。要判断改版是属于修订等级或是次版等级,是依据你更新的依赖关系是为了修复问题或是加入新功能。对于后者,我经常会预期伴随着更多的代码,这显然会是一个次版本号级别的递增。 + +### 如果我变更了公共 API 但无意中未遵循版本号的改动怎么办呢?(意即在修订等级的发布中,误将重大且不兼容的改变加到代码之中) + +自行做最佳的判断。如果你有庞大的使用者群在依照公共 API 的意图而变更行为后会大受影响,那么最好做一次主版本的发布,即使严格来说这个修复仅是修订等级的发布。记住, 语义化的版本控制就是透过版本号的改变来传达意义。若这些改变对你的使用者是重要的,那就透过版本号来向他们说明。 + +### 我该如何处理即将弃用的功能? + +弃用现存的功能是软件开发中的家常便饭,也通常是向前发展所必须的。当你弃用部分公共 API 时,你应该做两件事:(1)更新你的文档让使用者知道这个改变,(2)在适当的时机将弃用的功能透过新的次版本号发布。在新的主版本完全移除弃用功能前,至少要有一个次版本包含这个弃用信息,这样使用者才能平顺地转移到新版 API。 + +### 语义化版本对于版本的字符串长度是否有限制呢? + +没有,请自行做适当的判断。举例来说,长到 255 个字符的版本已过度夸张。再者,特定的系统对于字符串长度可能会有他们自己的限制。 + +### “v1.2.3” 是一个语义化版本号吗? + +“v1.2.3” 并不是一个语义化的版本号。但是,在语义化版本号之前增加前缀 “v” 是用来表示版本号的常用做法。在版本控制系统中,将 “version” 缩写为 “v” 是很常见的。比如:`git tag v1.2.3 -m "Release version 1.2.3"` 中,“v1.2.3” 表示标签名称,而 “1.2.3” 是语义化版本号。 + +### 是否有推荐的正则表达式用以检查语义化版本号的正确性? + +有两个推荐的正则表达式。第一个用于支持按组名称提取的语言(PCRE[Perl 兼容正则表达式,比如 Perl、PHP 和 R]、Python 和 Go)。 + +参见: + +``` +^(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ +``` + +第二个用于支持按编号提取的语言(与第一个对应的提取项按顺序分别为:major、minor、patch、prerelease、buildmetadata)。主要包括 ECMA Script(JavaScript)、PCRE(Perl 兼容正则表达式,比如 Perl、PHP 和 R)、Python 和 Go。 +参见: + +``` +^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ +``` + +关于 +--- + +语义化版本控制的规范是由 Gravatars 创办者兼 GitHub 共同创办者 [Tom Preston-Werner](http://tom.preston-werner.com) 所建立。 + +如果您有任何建议,请到 [GitHub 上提出您的问题](https://github.com/semver/semver/issues)。 + +许可证 +--- + +[知识共享 署名 3.0 (CC BY 3.0)](http://creativecommons.org/licenses/by/3.0/) \ No newline at end of file diff --git a/assets/logo/drone.png b/docs/logo/drone.png similarity index 100% rename from assets/logo/drone.png rename to docs/logo/drone.png diff --git a/assets/logo/drone_red.png b/docs/logo/drone_red.png similarity index 100% rename from assets/logo/drone_red.png rename to docs/logo/drone_red.png diff --git a/assets/logo/gitea.png b/docs/logo/gitea.png similarity index 100% rename from assets/logo/gitea.png rename to docs/logo/gitea.png diff --git a/assets/logo/grafana.png b/docs/logo/grafana.png similarity index 100% rename from assets/logo/grafana.png rename to docs/logo/grafana.png diff --git a/docs/screenshot/2023-10-26_172812.png b/docs/screenshot/2023-10-26_172812.png new file mode 100644 index 00000000..9faab2e0 Binary files /dev/null and b/docs/screenshot/2023-10-26_172812.png differ diff --git a/docs/screenshot/2023-10-26_172955.png b/docs/screenshot/2023-10-26_172955.png new file mode 100644 index 00000000..cc5eafc8 Binary files /dev/null and b/docs/screenshot/2023-10-26_172955.png differ diff --git a/docs/screenshot/2023-10-26_174707.png b/docs/screenshot/2023-10-26_174707.png new file mode 100644 index 00000000..52977aef Binary files /dev/null and b/docs/screenshot/2023-10-26_174707.png differ diff --git a/docs/screenshot/2023-10-26_174949.png b/docs/screenshot/2023-10-26_174949.png new file mode 100644 index 00000000..5c0fad31 Binary files /dev/null and b/docs/screenshot/2023-10-26_174949.png differ diff --git a/docs/screenshot/2023-10-26_175308.png b/docs/screenshot/2023-10-26_175308.png new file mode 100644 index 00000000..7a40d25f Binary files /dev/null and b/docs/screenshot/2023-10-26_175308.png differ diff --git a/docs/screenshot/2023-10-26_175352.png b/docs/screenshot/2023-10-26_175352.png new file mode 100644 index 00000000..41bb82b8 Binary files /dev/null and b/docs/screenshot/2023-10-26_175352.png differ diff --git a/docs/screenshot/2023-10-26_175407.png b/docs/screenshot/2023-10-26_175407.png new file mode 100644 index 00000000..b9749d2c Binary files /dev/null and b/docs/screenshot/2023-10-26_175407.png differ diff --git a/docs/screenshot/2023-10-26_175419.png b/docs/screenshot/2023-10-26_175419.png new file mode 100644 index 00000000..c9d0bd17 Binary files /dev/null and b/docs/screenshot/2023-10-26_175419.png differ diff --git a/docs/screenshot/2023-10-26_175430.png b/docs/screenshot/2023-10-26_175430.png new file mode 100644 index 00000000..96189189 Binary files /dev/null and b/docs/screenshot/2023-10-26_175430.png differ diff --git a/docs/screenshot/2023-10-26_175441.png b/docs/screenshot/2023-10-26_175441.png new file mode 100644 index 00000000..1a24a31e Binary files /dev/null and b/docs/screenshot/2023-10-26_175441.png differ diff --git a/docs/screenshot/2023-10-26_175447.png b/docs/screenshot/2023-10-26_175447.png new file mode 100644 index 00000000..c44feb0b Binary files /dev/null and b/docs/screenshot/2023-10-26_175447.png differ diff --git a/docs/screenshot/2023-10-26_175501.png b/docs/screenshot/2023-10-26_175501.png new file mode 100644 index 00000000..cdd83f9c Binary files /dev/null and b/docs/screenshot/2023-10-26_175501.png differ diff --git a/docs/screenshot/2023-10-26_175922.png b/docs/screenshot/2023-10-26_175922.png new file mode 100644 index 00000000..bd4e7604 Binary files /dev/null and b/docs/screenshot/2023-10-26_175922.png differ diff --git a/docs/screenshot/thumb/2023-10-26_172812.png b/docs/screenshot/thumb/2023-10-26_172812.png new file mode 100644 index 00000000..05fcace6 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_172812.png differ diff --git a/docs/screenshot/thumb/2023-10-26_172955.png b/docs/screenshot/thumb/2023-10-26_172955.png new file mode 100644 index 00000000..3a345a77 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_172955.png differ diff --git a/docs/screenshot/thumb/2023-10-26_174707.png b/docs/screenshot/thumb/2023-10-26_174707.png new file mode 100644 index 00000000..b96c238e Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_174707.png differ diff --git a/docs/screenshot/thumb/2023-10-26_174949.png b/docs/screenshot/thumb/2023-10-26_174949.png new file mode 100644 index 00000000..6d5684df Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_174949.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175308.png b/docs/screenshot/thumb/2023-10-26_175308.png new file mode 100644 index 00000000..f5720229 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175308.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175352.png b/docs/screenshot/thumb/2023-10-26_175352.png new file mode 100644 index 00000000..6f8af702 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175352.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175407.png b/docs/screenshot/thumb/2023-10-26_175407.png new file mode 100644 index 00000000..8e6d62c3 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175407.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175419.png b/docs/screenshot/thumb/2023-10-26_175419.png new file mode 100644 index 00000000..d626f980 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175419.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175430.png b/docs/screenshot/thumb/2023-10-26_175430.png new file mode 100644 index 00000000..e7f63105 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175430.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175441.png b/docs/screenshot/thumb/2023-10-26_175441.png new file mode 100644 index 00000000..b775c8a5 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175441.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175447.png b/docs/screenshot/thumb/2023-10-26_175447.png new file mode 100644 index 00000000..1a7eadbe Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175447.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175501.png b/docs/screenshot/thumb/2023-10-26_175501.png new file mode 100644 index 00000000..e1acc7d7 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175501.png differ diff --git a/docs/screenshot/thumb/2023-10-26_175922.png b/docs/screenshot/thumb/2023-10-26_175922.png new file mode 100644 index 00000000..2efb2601 Binary files /dev/null and b/docs/screenshot/thumb/2023-10-26_175922.png differ diff --git a/dot.clean.cmd b/dot.clean.cmd new file mode 100644 index 00000000..4f18cc51 --- /dev/null +++ b/dot.clean.cmd @@ -0,0 +1,4 @@ +call npm --prefix ./src/frontend/admin run prettier +dot rbom -w -e refs -e .git -e node_modules +dot trim -w -e refs -e .git -e node_modules +dot tolf -w -e refs -e .git -e node_modules \ No newline at end of file diff --git a/dotnet-tools.json b/dotnet-tools.json index e476009c..f0f69208 100644 --- a/dotnet-tools.json +++ b/dotnet-tools.json @@ -9,7 +9,7 @@ ] }, "cake.tool": { - "version": "3.1.0", + "version": "3.2.0", "commands": [ "dotnet-cake" ] @@ -21,7 +21,7 @@ ] }, "jetbrains.resharper.globaltools": { - "version": "2023.2.0", + "version": "2023.2.3", "commands": [ "jb" ] diff --git a/tools/GenerateLnCs.tt b/gen.cs.tt similarity index 98% rename from tools/GenerateLnCs.tt rename to gen.cs.tt index c36f2b30..9ac4c3ad 100644 --- a/tools/GenerateLnCs.tt +++ b/gen.cs.tt @@ -63,7 +63,7 @@ public sealed class Ln public static CultureInfo Culture { get; set; } <# var xml = new XmlDocument(); - xml.Load("../assets/resx/Ln.resx"); + xml.Load("./assets/res/Ln.resx"); foreach (XmlNode data in xml.SelectNodes("//root/data")!) { #> diff --git a/tools/IdGenerator.linq b/gen.id.linq similarity index 100% rename from tools/IdGenerator.linq rename to gen.id.linq diff --git a/gen.ln.cmd b/gen.ln.cmd new file mode 100644 index 00000000..028e7740 --- /dev/null +++ b/gen.ln.cmd @@ -0,0 +1,2 @@ +dotnet t4 ./gen.resx.tt -o ./assets/res/Ln.resx +dotnet t4 ./gen.cs.tt -o ./dist/backend/NetAdmin.Infrastructure/Ln.cs \ No newline at end of file diff --git a/tools/GenerateLnResx.tt b/gen.resx.tt similarity index 81% rename from tools/GenerateLnResx.tt rename to gen.resx.tt index 78e3648d..6c402481 100644 --- a/tools/GenerateLnResx.tt +++ b/gen.resx.tt @@ -1,5 +1,7 @@ <#@ template language="C#" #> <#@ output encoding="utf-8" extension="resx" #> +<#@ import namespace="System.IO" #> +<#@ import namespace="System.Text.RegularExpressions" #> +// ReSharper disable DuplicateResource <# - var regex = new System.Text.RegularExpressions.Regex(@"^\d", System.Text.RegularExpressions.RegexOptions.Compiled); - foreach (var line in System.IO.File.ReadLines("../assets/resx/ln.txt")) + var regex = new Regex(@"^\d", RegexOptions.Compiled); + foreach (var line in File.ReadLines("./assets/res/ln.txt")) { #> <#= line #>" xml:space="preserve"><#= line #> diff --git a/tools/GitRecreate.ps1 b/git.rc.ps1 similarity index 54% rename from tools/GitRecreate.ps1 rename to git.rc.ps1 index f3910e20..2a668109 100644 --- a/tools/GitRecreate.ps1 +++ b/git.rc.ps1 @@ -1,5 +1,5 @@ -$branch = $(git branch --show-current) -git checkout dev +$branch = $( git branch --show-current ) +git checkout main git pull git branch -D $branch git branch $branch diff --git a/global.json b/global.json index 89476433..ad64c8c8 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,10 @@ { "sdk": { - "version": "7.0.0", + "version": "8.0.0", "rollForward": "latestMajor", "allowPrerelease": true }, "tools": { - "dotnet": "7.0.0" + "dotnet": "8.0.0" } } \ No newline at end of file diff --git a/tools/ImageOptimize.csx b/image.optimize.csx similarity index 97% rename from tools/ImageOptimize.csx rename to image.optimize.csx index ccbbeaa6..e43a4d40 100644 --- a/tools/ImageOptimize.csx +++ b/image.optimize.csx @@ -7,7 +7,7 @@ var files = Directory .EnumerateFiles( - ".", + "./", "*.png", new EnumerationOptions { @@ -37,7 +37,7 @@ files = new[] { "*.jpg", "*.jpeg" } .SelectMany( x => Directory.EnumerateFiles( - ".", + "./", x, new EnumerationOptions { diff --git a/install.as.tpl.ps1 b/install.as.tpl.ps1 new file mode 100644 index 00000000..648e90fd --- /dev/null +++ b/install.as.tpl.ps1 @@ -0,0 +1,2 @@ +dotnet new uninstall . +dotnet new --install . \ No newline at end of file diff --git a/minver.targets b/minver.targets new file mode 100644 index 00000000..2a53ff99 --- /dev/null +++ b/minver.targets @@ -0,0 +1,11 @@ + + + + $(MinVerMajor).$(MinVerMinor).$(MinVerPatch) + $(MinVerMajor).$(MinVerMinor).$(MinVerPatch) + $(MinVerVersion) + $(MinVerVersion) + $(MinVerVersion) + + + \ No newline at end of file diff --git a/package.json b/package.json index 414cf903..ba9b7f20 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,14 @@ { + "version": "1.0.0", "devDependencies": { - "cz-conventional-changelog": "^3.3.0", - "prettier": "3.0.2", - "prettier-plugin-csharp": "0.6.0-development" + "cz-git": "^1.7.1", + "commitizen": "^4.3.0", + "prettier": "^3.1.0", + "standard-version": "9.5.0" }, "config": { "commitizen": { - "path": "./node_modules/cz-conventional-changelog" + "path": "node_modules/cz-git" } } } \ No newline at end of file diff --git a/rename.csx b/rename.csx new file mode 100644 index 00000000..c71e1ec1 --- /dev/null +++ b/rename.csx @@ -0,0 +1,27 @@ +#r "nuget: NSExt, 1.1.0" +using NSExt.Extensions; + +Console.WriteLine("请输入原始名称(NetAdmin):"); +var oldName = Console.ReadLine().NullOrEmpty("NetAdmin"); +Console.WriteLine("请输入替换名称:"); +var newName = Console.ReadLine(); +foreach (var path in Directory.EnumerateDirectories("./", $"*{oldName}*", + SearchOption.AllDirectories)) +{ + Console.Write($"{path} --> "); + var newPath = path.Replace(oldName, newName); + Directory.Move(path, newPath); + Console.WriteLine(newPath); +} + + +Console.WriteLine(); +foreach (var path in Directory.EnumerateFiles("./", $"*.*", SearchOption.AllDirectories)) +{ + File.WriteAllText(path, File.ReadAllText(path).Replace(oldName, newName)); + var newPath = path.Replace(oldName, newName); + if (newPath == path) continue; + Console.Write($"{path} --> "); + Directory.Move(path, newPath); + Console.WriteLine(newPath); +} \ No newline at end of file diff --git a/src/backend/GlobalUsings.cs b/src/backend/GlobalUsings.cs index 237e18fb..77dbb519 100644 --- a/src/backend/GlobalUsings.cs +++ b/src/backend/GlobalUsings.cs @@ -59,11 +59,12 @@ global using NetAdmin.Infrastructure.Configuration.Options.SubNodes.Upload; global using NetAdmin.Infrastructure.Constant; global using NetAdmin.Infrastructure.Enums; global using NetAdmin.Infrastructure.Exceptions; -global using NetAdmin.Infrastructure.Exceptions.InvalidInput; -global using NetAdmin.Infrastructure.Exceptions.InvalidOperation; -global using NetAdmin.Infrastructure.Exceptions.Unexpected; global using NetAdmin.Infrastructure.Extensions; global using NetAdmin.Infrastructure.Languages; global using NetAdmin.Infrastructure.Utils; global using NSExt.Attributes; -global using NSExt.Extensions; \ No newline at end of file +global using NSExt.Extensions; +#if !INFRAS +global using DynamicFilterInfo = NetAdmin.Domain.Dto.Dependency.DynamicFilterInfo; +global using DynamicFilterOperators = NetAdmin.Domain.Enums.DynamicFilterOperators; +#endif \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/NetAdmin.Application.csproj b/src/backend/NetAdmin.Application/NetAdmin.Application.csproj index 9f0908f5..980dfa47 100644 --- a/src/backend/NetAdmin.Application/NetAdmin.Application.csproj +++ b/src/backend/NetAdmin.Application/NetAdmin.Application.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs b/src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs new file mode 100644 index 00000000..d2384ea6 --- /dev/null +++ b/src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs @@ -0,0 +1,19 @@ +using NetAdmin.Domain.Contexts; +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Application.Repositories; + +/// +/// 默认仓储 +/// +public sealed class DefaultRepository(IFreeSql fSql // + , UnitOfWorkManager uowManger // + , ContextUserToken userToken) // + : DefaultRepository(fSql, uowManger) + where TEntity : EntityBase +{ + /// + /// 当前上下文关联的用户 + /// + public ContextUserToken UserToken => userToken; +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Repositories/IRepository.cs b/src/backend/NetAdmin.Application/Repositories/IRepository.cs deleted file mode 100644 index e0da9fd2..00000000 --- a/src/backend/NetAdmin.Application/Repositories/IRepository.cs +++ /dev/null @@ -1,39 +0,0 @@ -using NetAdmin.Domain.Contexts; -using NetAdmin.Domain.DbMaps.Dependency; - -namespace NetAdmin.Application.Repositories; - -/// -/// 基础仓储接口 -/// -public interface IRepository : IBaseRepository - where TEntity : EntityBase -{ - /// - /// 当前上下文关联的用户 - /// - ContextUserToken UserToken { get; } - - /// - /// 递归删除 - /// - /// exp - /// 禁用全局过滤器名 - Task DeleteRecursiveAsync(Expression> exp, params string[] disableGlobalFilterNames); - - /// - /// 获得Dto - /// - /// 主键 - Task GetAsync(long id); - - /// - /// 根据条件获取Dto - /// - Task GetAsync(Expression> exp); - - /// - /// 根据条件获取实体 - /// - Task GetAsync(Expression> exp); -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Repositories/Repository.cs b/src/backend/NetAdmin.Application/Repositories/Repository.cs deleted file mode 100644 index 85b3d444..00000000 --- a/src/backend/NetAdmin.Application/Repositories/Repository.cs +++ /dev/null @@ -1,82 +0,0 @@ -using NetAdmin.Domain.Contexts; -using NetAdmin.Domain.DbMaps.Dependency; - -namespace NetAdmin.Application.Repositories; - -/// -public sealed class Repository : DefaultRepository, IRepository - where TEntity : EntityBase -{ - /// - /// Initializes a new instance of the class. - /// - public Repository(IFreeSql fSql, UnitOfWorkManager uowManger, ContextUserToken userToken) // - : base(fSql, uowManger) - { - UserToken = userToken; - } - - /// - /// 当前上下文关联的用户 - /// - public ContextUserToken UserToken { get; } - - /// - /// 递归删除 - /// - /// exp - /// 禁用全局过滤器名 - public async Task DeleteRecursiveAsync( // - Expression> exp, params string[] disableGlobalFilterNames) - { - _ = await Select.Where(exp) - .DisableGlobalFilter(disableGlobalFilterNames) - .AsTreeCte() - .ToDelete() - .ExecuteAffrowsAsync(); - - return true; - } - - /// - /// 获得Dto - /// - /// 主键 - public Task GetAsync(long id) - { - return Select.WhereDynamic(id).ToOneAsync(); - } - - /// - /// 根据条件获取Dto - /// - public Task GetAsync(Expression> exp) - { - return Select.Where(exp).ToOneAsync(); - } - - /// - /// 根据条件获取实体 - /// - public Task GetAsync(Expression> exp) - { - return Select.Where(exp).ToOneAsync(); - } - - /// - /// 获取分页列表 - /// - /// 动态过滤器 - /// 页码 - /// 页容量 - /// 分页列表和总条数 - public async Task<(IEnumerable List, long Total)> GetPagedListAsync( - DynamicFilterInfo dynamicFilterInfo, int page, int pageSize) - { - var list = await Select.WhereDynamicFilter(dynamicFilterInfo) - .Count(out var total) - .Page(page, pageSize) - .ToListAsync(); - return (list, total); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Services/RepositoryService.cs b/src/backend/NetAdmin.Application/Services/RepositoryService.cs index 11c313d3..eb5ce8ec 100644 --- a/src/backend/NetAdmin.Application/Services/RepositoryService.cs +++ b/src/backend/NetAdmin.Application/Services/RepositoryService.cs @@ -14,7 +14,7 @@ public abstract class RepositoryService : ServiceBase /// /// Initializes a new instance of the class. /// - protected RepositoryService(Repository rpo) // + protected RepositoryService(DefaultRepository rpo) // { Rpo = rpo; } @@ -22,7 +22,7 @@ public abstract class RepositoryService : ServiceBase /// /// 默认仓储 /// - protected Repository Rpo { get; } + protected DefaultRepository Rpo { get; } /// /// 启用级联保存 @@ -31,4 +31,12 @@ public abstract class RepositoryService : ServiceBase get => Rpo.DbContextOptions.EnableCascadeSave; set => Rpo.DbContextOptions.EnableCascadeSave = value; } + + /// + /// 针对 Sqlite 数据的更新操作 + /// + /// + /// 非 Sqlite 数据库请删除 + /// + protected abstract Task UpdateForSqliteAsync(TEntity req); } \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Services/ServiceBase.cs b/src/backend/NetAdmin.Application/Services/ServiceBase.cs index 476adfd9..ac8ad622 100644 --- a/src/backend/NetAdmin.Application/Services/ServiceBase.cs +++ b/src/backend/NetAdmin.Application/Services/ServiceBase.cs @@ -33,13 +33,9 @@ public abstract class ServiceBase : IScoped, IService ServiceId = Guid.NewGuid(); } - /// - /// 服务编号 - /// + /// public Guid ServiceId { get; set; } - /// - /// 上下文用户 - /// + /// public ContextUserToken UserToken { get; set; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj b/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj index d66eacec..5035b077 100644 --- a/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj +++ b/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj b/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj index 1c307fc1..3b79e7f8 100644 --- a/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj +++ b/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs b/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs new file mode 100644 index 00000000..63c64e3b --- /dev/null +++ b/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs @@ -0,0 +1,66 @@ +namespace NetAdmin.BizServer.Host.Extensions; + +/// +/// ApplicationBuilder对象 扩展方法 +/// +[SuppressSniffer] + +// ReSharper disable once InconsistentNaming +public static class IApplicationBuilderExtensions +{ + private const string _INDEX_HTML_PATH = ".index.html"; + private const string _RES_PFX = $"{nameof(NetAdmin)}.{nameof(BizServer)}.{nameof(Host)}.UI"; + private static readonly Regex _regex = new(@"\.(\w+)$", RegexOptions.Compiled); + private static IEnumerable _allResNames; + + /// + /// 托管管理后台 + /// + public static IApplicationBuilder UseVueAdmin(this IApplicationBuilder me) + { + if (Assembly.GetExecutingAssembly().GetManifestResourceInfo(_RES_PFX + _INDEX_HTML_PATH) == null) { + return me; + } + + _allResNames = Assembly.GetExecutingAssembly() + .GetManifestResourceNames() + .Where(x => x.StartsWith(_RES_PFX, StringComparison.OrdinalIgnoreCase)) + .Select(x => x[_RES_PFX.Length..]); + + return me.Use(UseVueAdminAsync); + } + + private static Stream GetManifestResourceStream(string path) + { + return Assembly.GetExecutingAssembly().GetManifestResourceStream(_RES_PFX + path); + } + + private static async Task UseVueAdminAsync(HttpContext context, Func next) + { + if (!context.Request.Path.StartsWithSegments(new PathString("/api"))) { + var path = context.Request.Path.Value; + if (path == "/" || path?.Length == 0) { + path = _INDEX_HTML_PATH; + } + + path = path!.Replace('/', '.'); + + var output = GetManifestResourceStream(path); + if (output == null) { + var resName = _allResNames.FirstOrDefault(x => path.EndsWith(x, StringComparison.OrdinalIgnoreCase)); + output = resName == null + ? GetManifestResourceStream(_INDEX_HTML_PATH) + : GetManifestResourceStream(resName); + } + + if (output != null) { + context.Response.ContentLength = output.Length; + context.Response.ContentType = MimeTypeHelper.GetMimeTypeByExtName(_regex.Match(path!).Groups[1].Value); + await output.CopyToAsync(context.Response.Body); + return; + } + } + + await next.Invoke(); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs index 979b7096..e36766a7 100644 --- a/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs +++ b/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs @@ -13,11 +13,11 @@ namespace NetAdmin.BizServer.Host.Extensions; public static class ServiceCollectionExtensions { /// - /// 注册FreeSql + /// 添加 FreeSql /// public static IServiceCollection AddFreeSql(this IServiceCollection me) { - _ = me.AddFreeSql( // + return me.AddFreeSql( // FreeSqlInitOptions.SyncStructure | FreeSqlInitOptions.InsertSeedData, freeSql => { // 数据权限过滤器 _ = freeSql.GlobalFilter.ApplyOnlyIf( // @@ -25,11 +25,10 @@ public static class ServiceCollectionExtensions , () => ContextUserInfo.Create()?.Roles.All(x => x.DataScope == DataScopes.Self) ?? false , a => a.OwnerId == ContextUserInfo.Create().Id); }); - return me; } /// - /// jwt授权处理器 + /// 添加 jwt 授权处理器 /// public static IServiceCollection AddJwt(this IServiceCollection me) { diff --git a/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj b/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj index cff7f53a..85a91d7b 100644 --- a/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj +++ b/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj @@ -1,5 +1,5 @@ - + @@ -12,4 +12,7 @@ PreserveNewest + + + \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json b/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json index 6794562a..64222a4e 100644 --- a/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json +++ b/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json @@ -5,8 +5,8 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, - "launchUrl": "http://localhost:65010", - "applicationUrl": "http://[::]:65010", + "launchUrl": "http://localhost:5010", + "applicationUrl": "http://[::]:5010", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/src/backend/NetAdmin.BizServer.Host/Startup.cs b/src/backend/NetAdmin.BizServer.Host/Startup.cs index cb304232..a5f26ce1 100644 --- a/src/backend/NetAdmin.BizServer.Host/Startup.cs +++ b/src/backend/NetAdmin.BizServer.Host/Startup.cs @@ -1,7 +1,9 @@ using NetAdmin.BizServer.Host.Extensions; using NetAdmin.Host.Extensions; using NetAdmin.Host.Middlewares; +#if !DEBUG using Prometheus; +#endif namespace NetAdmin.BizServer.Host; @@ -25,21 +27,23 @@ public sealed class Startup : NetAdmin.Host.Startup public void Configure(IApplicationBuilder app) { _ = app // - .UseRealIp() // 获取真实IP - .EnableBuffering() // 启用 Body 重读 - .UseMiddleware() // 请求审计 + .UseRealIp() // 使用RealIp中间件,用于获取真实客户端IP地址 + .EnableBuffering() // 启用请求体缓冲,允许多次读取请求体 + .UseMiddleware() // 使用RequestAuditMiddleware中间件,执行请求审计 #if DEBUG - .UseOpenApiSkin() // Swagger皮肤 + .UseOpenApiSkin() // 使用OpenApiSkin中间件(仅在调试模式下),提供Swagger UI皮肤 + #else + .UseVueAdmin() // 托管管理后台,仅在非调试模式下 + .UseHttpMetrics() // 使用HttpMetrics中间件,启用HTTP性能监控 #endif - .UseInject(string.Empty) // / Furion脚手架 - .UseUnifyResultStatusCodes() // 状态码拦截 - .UseCorsAccessor() // 跨域访问 - .UseRouting() // 路由映射 - .UseHttpMetrics() // 性能监控 - .UseAuthentication() // / 认证 - .UseAuthorization() // 授权 - .UseMiddleware() // 删除json空节点 - .UseEndpoints(); // 执行匹配的端点 + .UseInject(string.Empty) // 使用Inject中间件,Furion脚手架的依赖注入支持 + .UseUnifyResultStatusCodes() // 使用UnifyResultStatusCodes中间件,用于统一处理结果状态码 + .UseCorsAccessor() // 使用CorsAccessor中间件,启用跨域资源共享(CORS)支持 + .UseRouting() // 使用Routing中间件,配置路由映射 + .UseAuthentication() // 使用Authentication中间件,启用身份验证 + .UseAuthorization() // 使用Authorization中间件,启用授权 + .UseMiddleware() // 使用RemoveNullNodeMiddleware中间件,删除JSON中的空节点 + .UseEndpoints(); // 配置端点以处理请求 } /// @@ -47,21 +51,21 @@ public sealed class Startup : NetAdmin.Host.Startup /// public void ConfigureServices(IServiceCollection services) { - _ = services.AddConsoleFormatter() // 控制台日志模板 - .AddAllOptions() // 注册配置项 - .AddJwt() // Jwt 授权处理器 - .AddSnowflake() // 雪花编号生成器 - .AddEventBus() // 事件总线 - .AddFreeSql() // freeSql - .AddRemoteRequest() // 注册远程请求 - .AddCorsAccessor() // 支持跨域访问 - .AddContextUser() // 上下文用户 - .AddRedisCache() // Redis缓存 + _ = services.AddConsoleFormatter() // 添加控制台日志模板 + .AddAllOptions() // 添加配置项 + .AddJwt() // 添加 Jwt 授权处理器 + .AddSnowflake() // 添加雪花编号生成器 + .AddEventBus() // 添加事件总线 + .AddFreeSql() // 添加 freeSql + .AddRemoteRequest() // 添加远程请求 + .AddCorsAccessor() // 添加支持跨域访问 + .AddContextUser() // 添加上下文用户 + .AddRedisCache() // 添加 Redis 缓存 // IMvcBuilder - .AddControllers() // 注册控制器 - .AddJsonSerializer(true) // json序列化配置 - .AddDefaultApiResultHandler() // Api结果处理器 + .AddControllers() // 添加控制器 + .AddJsonSerializer(true) // 添加JSON序列化器,并设置显示枚举名而非数字枚举值 + .AddDefaultApiResultHandler() // 添加默认的API结果处理程序 ; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Tests/AllTests.cs b/src/backend/NetAdmin.BizServer.Tests/AllTests.cs new file mode 100644 index 00000000..51bfce50 --- /dev/null +++ b/src/backend/NetAdmin.BizServer.Tests/AllTests.cs @@ -0,0 +1,172 @@ +using System.Diagnostics.CodeAnalysis; +using System.Net.Http.Json; +using Microsoft.AspNetCore.Mvc.Testing; +using NetAdmin.BizServer.Host; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.Api; +using NetAdmin.Domain.Dto.Sys.Cache; +using NetAdmin.Domain.Dto.Sys.Config; +using NetAdmin.Domain.Dto.Sys.Tool; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.Tests; +using Xunit; +using Xunit.Abstractions; + +namespace NetAdmin.BizServer.Tests; + +/// +/// 所有测试 +/// +[SuppressMessage("Usage", "xUnit1028:Test method must have valid return type")] +public class AllTests(WebApplicationFactory factory, ITestOutputHelper testOutputHelper) : + WebApiTestBase(factory, testOutputHelper), IToolsModule, ICacheModule, IApiModule, IConfigModule + +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + throw new NotImplementedException(); + } + + /// + [Fact] + public async Task CacheStatisticsAsync() + { + var rsp = await PostAsync("/api/sys/cache/cache.statistics", null); + Assert.Equal(HttpStatusCode.OK, rsp.StatusCode); + return default; + } + + /// + public Task CreateAsync(CreateConfigReq req) + { + throw new NotImplementedException(); + } + + /// + public Task CreateAsync(CreateApiReq req) + { + throw new NotImplementedException(); + } + + /// + public Task DeleteAsync(DelReq req) + { + throw new NotImplementedException(); + } + + /// + public Task ExistAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task ExistAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + [Theory] + [InlineData(default)] + public async Task> GetAllEntriesAsync(PagedQueryReq req) + { + var rsp = await PostAsync("/api/sys/cache/get.all.entries" + , JsonContent.Create(new PagedQueryReq())); + Assert.Equal(HttpStatusCode.OK, rsp.StatusCode); + return default; + } + + /// + public Task GetAsync(QueryConfigReq req) + { + throw new NotImplementedException(); + } + + /// + public Task GetAsync(QueryApiReq req) + { + throw new NotImplementedException(); + } + + /// + public Task GetLatestConfigAsync() + { + throw new NotImplementedException(); + } + + /// + public Task> GetModulesAsync() + { + throw new NotImplementedException(); + } + + /// + [Fact] + public async Task GetServerUtcTimeAsync() + { + var response = await PostAsync("/api/sys/tools/get.server.utc.time", null); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + return default; + } + + /// + [Fact] + public async Task GetVersionAsync() + { + var response = await PostAsync("/api/sys/tools/version", null); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + return default; + } + + /// + public Task> ModulesAsync() + { + throw new NotImplementedException(); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task> QueryAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task> QueryAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + [Fact] + public async Task SyncAsync() + { + var response = await PostAsync("/api/sys/api/sync", null); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + } + + /// + public Task UpdateAsync(UpdateConfigReq req) + { + throw new NotImplementedException(); + } + + /// + public Task UpdateAsync(NopReq req) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj b/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj index 974ab32d..f3c9cf08 100644 --- a/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj +++ b/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj @@ -1,21 +1,9 @@ - - true - - - + + - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs b/src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs deleted file mode 100644 index 88b63515..00000000 --- a/src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Xunit; - -namespace NetAdmin.BizServer.Tests; - -/// -/// UsedNumberTests -/// -public class UsedNumberTests -{ - /// - /// Test1 - /// - [Fact] - public void Test1() - { - // Assert.True("1".Int32() == 2); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Cache/CacheBase.cs b/src/backend/NetAdmin.Cache/CacheBase.cs index 67b87c14..b4228527 100644 --- a/src/backend/NetAdmin.Cache/CacheBase.cs +++ b/src/backend/NetAdmin.Cache/CacheBase.cs @@ -17,13 +17,9 @@ public abstract class CacheBase : ICache - /// 缓存对象 - /// + /// public TCacheContainer Cache { get; } - /// - /// 关联的服务 - /// + /// public TService Service { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj b/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj index 1124ffb6..7fd1ee13 100644 --- a/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj +++ b/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs index 95eec345..3c70b01a 100644 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Domain.Attributes.DataValidation; /// -/// 证件号码 +/// 证件号码验证器 /// [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] public sealed class CertificateAttribute : RegexAttribute diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs index 8e5e9652..e9474ec3 100644 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Domain.Attributes.DataValidation; /// -/// 中文姓名 +/// 中文姓名验证器 /// [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] public sealed class ChineseNameAttribute : RegexAttribute diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs deleted file mode 100644 index c866505e..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs +++ /dev/null @@ -1,23 +0,0 @@ -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// 电话验证器(手机或固话) -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CulturePhoneAttribute : ValidationAttribute -{ - /// - /// Initializes a new instance of the class. - /// - public CulturePhoneAttribute() - { - ErrorMessageResourceName = nameof(Ln.手机号码或座机号码); - ErrorMessageResourceType = typeof(Ln); - } - - /// - public override bool IsValid(object value) - { - return new MobileAttribute().IsValid(value) || new TelephoneAttribute().IsValid(value); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs deleted file mode 100644 index 0069dcd3..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs +++ /dev/null @@ -1,26 +0,0 @@ -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// 区间验证器 -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CultureRangeAttribute : RangeAttribute -{ - /// - public CultureRangeAttribute(double minimum, double maximum) // - : base(minimum, maximum) { } - - /// - public CultureRangeAttribute(int minimum, int maximum) // - : base(minimum, maximum) { } - - /// - public CultureRangeAttribute(Type type, string minimum, string maximum) // - : base(type, minimum, maximum) { } - - /// - public override string FormatErrorMessage(string name) - { - return $"{ErrorMessageString} {Ln.必须介于} {Minimum} - {Maximum}"; - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs deleted file mode 100644 index 44fd7c6f..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// 非空验证器 -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CultureRequiredAttribute : RequiredAttribute -{ - /// Applies formatting to an error message, based on the data field where the error occurred. - /// The name to include in the formatted message. - /// The current attribute is malformed. - /// An instance of the formatted error message. - public override string FormatErrorMessage(string name) - { - return $"{ErrorMessageString.NullOrEmpty(name)} {Ln.不能为空}"; - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs deleted file mode 100644 index 8658c418..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// Url验证器 -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CultureUrlAttribute : RegexAttribute -{ - /// - /// Initializes a new instance of the class. - /// - public CultureUrlAttribute() // - : base(Chars.RGX_URL) - { - ErrorMessageResourceName = nameof(Ln.无效网络地址); - ErrorMessageResourceType = typeof(Ln); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs new file mode 100644 index 00000000..e0e18f7c --- /dev/null +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs @@ -0,0 +1,18 @@ +namespace NetAdmin.Domain.Attributes.DataValidation; + +/// +/// 端口号验证器 +/// +[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] +public sealed class PortAttribute : RangeAttribute +{ + /// + /// Initializes a new instance of the class. + /// + public PortAttribute() // + : base(1, 65535) + { + ErrorMessageResourceName = nameof(Ln.无效端口号); + ErrorMessageResourceType = typeof(Ln); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs index 3c652389..9f3a79e9 100644 --- a/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs @@ -6,7 +6,4 @@ namespace NetAdmin.Domain.Attributes; /// 标记一个字段启用雪花编号生成 /// [AttributeUsage(AttributeTargets.Property)] -public sealed class SnowflakeAttribute : Attribute -{ - // -} \ No newline at end of file +public sealed class SnowflakeAttribute : Attribute { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs b/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs index b768f7c7..a8415d56 100644 --- a/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs +++ b/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs @@ -10,16 +10,19 @@ public sealed record ContextUserToken : DataAbstraction /// /// 用户编号 /// - public long Id { get; set; } + /// ReSharper disable once MemberCanBePrivate.Global + public long Id { get; init; } /// /// 做授权验证的Token,全局唯一,可以随时重置(强制下线) /// + /// ReSharper disable once MemberCanBePrivate.Global public Guid Token { get; init; } /// /// 用户名 /// + /// ReSharper disable once MemberCanBePrivate.Global public string UserName { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs index c18883b8..78f580c2 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 不可变实体 -/// +/// public abstract record ImmutableEntity : ImmutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -19,26 +15,20 @@ public abstract record ImmutableEntity : ImmutableEntity /// /// 不可变实体 /// -/// +/// 主键类型 public abstract record ImmutableEntity : LiteImmutableEntity, IFieldCreatedUser { - /// - /// 创建者编号 - /// + /// [JsonIgnore] [Column(CanUpdate = false, Position = -1)] public long? CreatedUserId { get; init; } - /// - /// 创建者用户名 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)] public virtual string CreatedUserName { get; set; } - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs index af30950f..299f5a6d 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 轻型不可变实体 -/// +/// public abstract record LiteImmutableEntity : LiteImmutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -19,19 +15,15 @@ public abstract record LiteImmutableEntity : LiteImmutableEntity /// /// 轻型不可变实体 /// -/// +/// 主键类型 public abstract record LiteImmutableEntity : EntityBase, IFieldPrimary, IFieldCreatedTime { - /// - /// 创建时间 - /// + /// [JsonIgnore] [Column(ServerTime = DateTimeKind.Utc, CanUpdate = false, Position = -1)] public virtual DateTime CreatedTime { get; init; } - /// - /// 唯一编码 - /// + /// [JsonIgnore] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public virtual T Id { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs index 7b7e7e93..2b15f9fb 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 轻型可变实体 -/// +/// public abstract record LiteMutableEntity : LiteMutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -21,15 +17,11 @@ public abstract record LiteMutableEntity : LiteMutableEntity /// public abstract record LiteMutableEntity : LiteImmutableEntity, IFieldModifiedTime { - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 修改时间 - /// + /// [JsonIgnore] [Column(ServerTime = DateTimeKind.Utc, CanInsert = false, Position = -1)] public virtual DateTime? ModifiedTime { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs index 10495ca0..582d6770 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 乐观锁轻型可变实体 -/// +/// public abstract record LiteVersionEntity : LiteVersionEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -21,15 +17,11 @@ public abstract record LiteVersionEntity : LiteVersionEntity /// public abstract record LiteVersionEntity : LiteMutableEntity, IFieldVersion { - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 数据版本 - /// + /// [JsonIgnore] [Column(IsVersion = true, Position = -1)] public virtual long Version { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs index 16ce7f87..8c030a29 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 可变实体 -/// +/// public abstract record MutableEntity : MutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -21,22 +17,16 @@ public abstract record MutableEntity : MutableEntity /// public abstract record MutableEntity : LiteMutableEntity, IFieldModifiedUser { - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 修改者编号 - /// + /// [JsonIgnore] [Column(CanInsert = false, Position = -1)] public long? ModifiedUserId { get; init; } - /// - /// 修改者用户名 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)] public string ModifiedUserName { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs index 5d658533..68563c49 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 乐观锁可变实体 -/// +/// public abstract record VersionEntity : VersionEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -19,24 +15,28 @@ public abstract record VersionEntity : VersionEntity /// /// 乐观锁可变实体 /// -public abstract record VersionEntity : LiteVersionEntity, IFieldModifiedUser +public abstract record VersionEntity : LiteVersionEntity, IFieldModifiedUser, IFieldCreatedUser { - /// - /// 唯一编码 - /// + /// + [JsonIgnore] + [Column(CanUpdate = false, Position = -1)] + public long? CreatedUserId { get; init; } + + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)] + public string CreatedUserName { get; set; } + + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 修改者编号 - /// + /// [JsonIgnore] [Column(CanInsert = false, Position = -1)] public long? ModifiedUserId { get; init; } - /// - /// 修改者用户名 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)] public string ModifiedUserName { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs index 7b66da95..543f24c1 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs @@ -16,9 +16,7 @@ public record Sys_Api : ImmutableEntity, IFieldSummary [Navigate(nameof(ParentId))] public IEnumerable Children { get; init; } - /// - /// 唯一编码 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127, IsIdentity = false, IsPrimary = true, Position = 1)] public override string Id { get; init; } @@ -42,7 +40,9 @@ public record Sys_Api : ImmutableEntity, IFieldSummary /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] + #pragma warning disable CA1716 public virtual string Namespace { get; init; } + #pragma warning restore CA1716 /// /// 父编号 diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs index 634c888a..8226cef9 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs @@ -44,6 +44,13 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort [Navigate(ManyToMany = typeof(Sys_RoleDept))] public ICollection Roles { get; init; } + /// + /// 发送给此部门的站内信集合 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgDept))] + public ICollection SiteMsgs { get; init; } + /// /// 排序值,越大越前 /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs index a85073b7..62eecdfa 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs @@ -7,7 +7,7 @@ namespace NetAdmin.Domain.DbMaps.Sys; /// /// 菜单表 /// -[Table(Name = "Sys_Menu")] +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_Menu))] [Index($"idx_{{tablename}}_{nameof(Name)}", nameof(Name), true)] public record Sys_Menu : VersionEntity, IFieldSort { diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs index 52dca8ac..5c164a8d 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs @@ -6,7 +6,7 @@ namespace NetAdmin.Domain.DbMaps.Sys; /// /// 请求日志表 /// -[Table(Name = "Sys_RequestLog")] +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_RequestLog))] public record Sys_RequestLog : ImmutableEntity, IFieldCreatedClient { /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs index e2f700e4..da9fd550 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs @@ -68,6 +68,13 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] public virtual string Name { get; init; } + /// + /// 发送给此角色的站内信集合 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgRole))] + public ICollection SiteMsgs { get; init; } + /// /// 排序值,越大越前 /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs new file mode 100644 index 00000000..f122385f --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs @@ -0,0 +1,101 @@ +using NetAdmin.Domain.DbMaps.Dependency; +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Enums.Sys; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsg))] +public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary +{ + /// + /// 消息内容 + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_TEXT)] + public virtual string Content { get; init; } + + /// + /// 消息-创建者映射 + /// + [JsonIgnore] + [Navigate(nameof(CreatedUserId))] + public virtual Sys_User Creator { get; init; } + + /// + /// 消息-部门映射 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgDept))] + public virtual ICollection Depts { get; init; } + + /// + /// 消息-标记映射 + /// + [JsonIgnore] + [Navigate(nameof(Sys_SiteMsgFlag.SiteMsgId))] + public ICollection Flags { get; set; } + + /// + /// 消息类型 + /// + [JsonIgnore] + public virtual SiteMsgTypes MsgType { get; init; } + + /// + /// 消息-角色映射 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgRole))] + public virtual ICollection Roles { get; init; } + + /// + /// 消息摘要 + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)] + public virtual string Summary { get; init; } + + /// + /// 消息主题 + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)] + public virtual string Title { get; init; } + + /// + /// 消息-用户映射 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgUser))] + public virtual ICollection Users { get; init; } + + /// + public void Register(TypeAdapterConfig config) + { + _ = config.ForType() + .Map( // + d => d.Summary, s => s.Content.RemoveHtmlTag().HtmlDe().Sub(0, 100)) + .Map( // + d => d.Roles + , s => s.RoleIds.NullOrEmpty() + ? Array.Empty() + : s.RoleIds.Select(x => new Sys_Role { Id = x })) + .Map( // + d => d.Users + , s => s.UserIds.NullOrEmpty() + ? Array.Empty() + : s.UserIds.Select(x => new Sys_User { Id = x })) + .Map( // + d => d.Depts + , s => s.DeptIds.NullOrEmpty() + ? Array.Empty() + : s.DeptIds.Select(x => new Sys_Dept { Id = x })) + + // + ; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs new file mode 100644 index 00000000..e26f1eba --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs @@ -0,0 +1,37 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信-部门映射表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgDept))] +[Index($"idx_{{tablename}}_{nameof(DeptId)}_{nameof(SiteMsgId)}", $"{nameof(DeptId)},{nameof(SiteMsgId)}", true)] +public record Sys_SiteMsgDept : ImmutableEntity +{ + /// + /// 关联的部门 + /// + [JsonIgnore] + public Sys_Dept Dept { get; init; } + + /// + /// 部门编号 + /// + [JsonIgnore] + [Column] + public virtual long DeptId { get; init; } + + /// + /// 关联的站内信 + /// + [JsonIgnore] + public Sys_SiteMsg SiteMsg { get; init; } + + /// + /// 站内信编号 + /// + [JsonIgnore] + [Column] + public virtual long SiteMsgId { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs new file mode 100644 index 00000000..c25fc86b --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs @@ -0,0 +1,29 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信标记表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgFlag))] +[Index($"idx_{{tablename}}_{nameof(SiteMsgId)}_{nameof(UserId)}", $"{nameof(SiteMsgId)},{nameof(UserId)}", true)] +public record Sys_SiteMsgFlag : MutableEntity +{ + /// + /// 站内信编号 + /// + [JsonIgnore] + public virtual long SiteMsgId { get; set; } + + /// + /// 用户编号 + /// + [JsonIgnore] + public virtual long UserId { get; set; } + + /// + /// 用户站内信状态 + /// + [JsonIgnore] + public virtual UserSiteMsgStatues UserSiteMsgStatus { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs new file mode 100644 index 00000000..3a0be247 --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs @@ -0,0 +1,37 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信-角色映射表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgRole))] +[Index($"idx_{{tablename}}_{nameof(RoleId)}_{nameof(SiteMsgId)}", $"{nameof(RoleId)},{nameof(SiteMsgId)}", true)] +public record Sys_SiteMsgRole : ImmutableEntity +{ + /// + /// 关联的角色 + /// + [JsonIgnore] + public Sys_Role Role { get; init; } + + /// + /// 角色编号 + /// + [JsonIgnore] + [Column] + public virtual long RoleId { get; init; } + + /// + /// 关联的站内信 + /// + [JsonIgnore] + public Sys_SiteMsg SiteMsg { get; init; } + + /// + /// 站内信编号 + /// + [JsonIgnore] + [Column] + public virtual long SiteMsgId { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs new file mode 100644 index 00000000..7161645d --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs @@ -0,0 +1,37 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信-用户映射表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgUser))] +[Index($"idx_{{tablename}}_{nameof(UserId)}_{nameof(SiteMsgId)}", $"{nameof(UserId)},{nameof(SiteMsgId)}", true)] +public record Sys_SiteMsgUser : ImmutableEntity +{ + /// + /// 关联的站内信 + /// + [JsonIgnore] + public Sys_SiteMsg SiteMsg { get; init; } + + /// + /// 站内信编号 + /// + [JsonIgnore] + [Column] + public virtual long SiteMsgId { get; init; } + + /// + /// 关联的用户 + /// + [JsonIgnore] + public Sys_User User { get; init; } + + /// + /// 用户编号 + /// + [JsonIgnore] + [Column] + public virtual long UserId { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs index ab0af16e..f09abb4f 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs @@ -60,7 +60,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister /// [JsonIgnore] [Column] - public Guid Password { get; set; } + public Guid Password { get; init; } /// /// 用户档案 @@ -75,6 +75,13 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister [Navigate(ManyToMany = typeof(Sys_UserRole))] public ICollection Roles { get; init; } + /// + /// 发送给此用户的站内信集合 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgUser))] + public ICollection SiteMsgs { get; init; } + /// /// 描述 /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs index 35e67df8..0afb46e4 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs @@ -6,7 +6,7 @@ namespace NetAdmin.Domain.DbMaps.Sys; /// /// 用户档案表 /// -[Table(Name = "Sys_UserProfile")] +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_UserProfile))] public record Sys_UserProfile : VersionEntity, IRegister { /// diff --git a/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs b/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs index 20a7a1f4..122ea06c 100644 --- a/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Dependency; /// @@ -11,7 +9,7 @@ public sealed record BulkReq : DataAbstraction /// /// 请求对象 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.请求对象))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.请求对象不能为空))] [MinLength(1)] [MaxLength(Numbers.BULK_REQ_LIMIT)] public IEnumerable Items { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs b/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs new file mode 100644 index 00000000..4503013a --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs @@ -0,0 +1,42 @@ +using NetAdmin.Domain.Enums; + +namespace NetAdmin.Domain.Dto.Dependency; + +/// +/// 动态过滤条件 +/// +public record DynamicFilterInfo : DataAbstraction +{ + /// + /// 字段名 + /// + public string Field { get; set; } + + /// + /// 子过滤条件 + /// + public List Filters { get; set; } + + /// + /// 子过滤条件逻辑关系 + /// + public DynamicFilterLogics Logic { get; set; } + + /// + /// 操作符 + /// + public DynamicFilterOperators Operator { get; set; } + + /// + /// 值 + /// + public object Value { get; set; } + + /// + /// 隐式转换为 FreeSql 的 DynamicFilterInfo 对象 + /// + public static implicit operator FreeSql.Internal.Model.DynamicFilterInfo(DynamicFilterInfo d) + { + return d.Adapt(); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs b/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs index 08856711..dfb92ede 100644 --- a/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs +++ b/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs @@ -19,5 +19,5 @@ public record RestfulInfo : DataAbstraction /// /// 消息 /// - public object Msg { get; init; } + public virtual object Msg { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs index 05558293..a211bf2e 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Api; /// public sealed record QueryApiRsp : Sys_Api { - /// - /// 子节点 - /// + /// public new IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs index c8ac2893..cf6f079e 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Sys.Captcha; /// @@ -10,7 +8,7 @@ public sealed record VerifyCaptchaReq : DataAbstraction /// /// 唯一编码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码不能为空))] public string Id { get; init; } /// @@ -22,6 +20,6 @@ public sealed record VerifyCaptchaReq : DataAbstraction /// /// 验证数据 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证数据))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证数据不能为空))] public string VerifyData { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs index 3e753085..999244ed 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Config; /// public sealed record QueryConfigReq : Sys_Config { - /// - /// 是否启用 - /// + /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public new bool? Enabled { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs index 0f8620c5..e5255d62 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; @@ -15,7 +14,7 @@ public record CreateDeptReq : Sys_Dept /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.部门名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.部门名称不能为空))] public override string Name { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs index fb594b17..c8c84c80 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Dept; /// public record QueryDeptRsp : Sys_Dept { - /// - /// 子节点 - /// + /// public new virtual IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs index c6fc980c..5a256499 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs @@ -8,11 +8,13 @@ public sealed record GenerateCsCodeReq : DataAbstraction /// /// 模块名称 /// + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.模块名称不能为空))] public string ModuleName { get; init; } /// /// 模块说明 /// + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.模块说明不能为空))] public string ModuleRemark { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs index f6503ef1..6d4cd475 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Sys.Dev; /// @@ -10,12 +8,12 @@ public sealed record GenerateIconCodeReq : DataAbstraction /// /// 图标名称 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标名称不能为空))] public string IconName { get; init; } /// /// 图标代码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标代码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标代码不能为空))] public string SvgCode { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs index bab0c3ed..08da6f19 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog; @@ -10,12 +9,12 @@ public record CreateDicCatalogReq : Sys_DicCatalog { /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典编码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典编码不能为空))] public override string Code { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典名称不能为空))] public override string Name { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs index d85e86d7..9cbd0156 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog; /// public sealed record QueryDicCatalogRsp : Sys_DicCatalog { - /// - /// 子节点 - /// + /// public new IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs index 49e1affc..cbff60b0 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.Dic.Content; @@ -10,16 +9,16 @@ public record CreateDicContentReq : Sys_DicContent { /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典目录编号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典目录编号不能为空))] public override long CatalogId { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键名称不能为空))] public override string Key { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键值))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键值不能为空))] public override string Value { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs index 9230f278..64305f86 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Enums.Sys; @@ -40,7 +39,7 @@ public record CreateMenuReq : Sys_Menu /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单名称不能为空))] public override string Name { get; init; } /// @@ -63,7 +62,7 @@ public record CreateMenuReq : Sys_Menu public override string Tag => Meta.Tag; /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单标题))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单标题不能为空))] public override string Title => Meta.Title; /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs index 054a19a9..abd9ac96 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs @@ -17,9 +17,7 @@ public sealed record QueryMenuRsp : Sys_Menu, IRegister [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string Active { get; init; } - /// - /// 子节点 - /// + /// public new IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs index c762b7b0..493acc21 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs @@ -44,7 +44,7 @@ public record CreateRoleReq : Sys_Role /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色名称不能为空))] public override string Name { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs index 1edfd0cf..8d320234 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Sys.Role; /// @@ -10,12 +8,12 @@ public sealed record MapMenusReq : DataAbstraction /// /// 菜单编号 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单编号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单编号不能为空))] public IReadOnlyCollection MenuIds { get; init; } /// /// 角色编号 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号不能为空))] public long RoleId { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs index 304d0b04..813c3206 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.Dto.Sys.Role; @@ -10,11 +9,11 @@ public sealed record UpdateRoleReq : CreateRoleReq { /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码不能为空))] public override long Id { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.数据版本))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.数据版本不能为空))] public override long Version { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs new file mode 100644 index 00000000..3599fb3b --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs @@ -0,0 +1,46 @@ +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Enums.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 请求:创建站内信 +/// +public record CreateSiteMsgReq : Sys_SiteMsg +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.消息内容不能为空))] + public override string Content { get; init; } + + /// + /// 部门编号列表 + /// + [MinLength(1)] + [MaxLength(Numbers.BULK_REQ_LIMIT)] + public IReadOnlyCollection DeptIds { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + [EnumDataType(typeof(SiteMsgTypes))] + public override SiteMsgTypes MsgType { get; init; } + + /// + /// 角色编号列表 + /// + [MinLength(1)] + [MaxLength(Numbers.BULK_REQ_LIMIT)] + public IReadOnlyCollection RoleIds { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.消息主题不能为空))] + public override string Title { get; init; } + + /// + /// 用户编号列表 + /// + [MinLength(1)] + [MaxLength(Numbers.BULK_REQ_LIMIT)] + public IReadOnlyCollection UserIds { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs new file mode 100644 index 00000000..a2586b3a --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 请求:查询站内信 +/// +public sealed record QuerySiteMsgReq : Sys_SiteMsg +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs new file mode 100644 index 00000000..2956c075 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs @@ -0,0 +1,69 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Sys.Dept; +using NetAdmin.Domain.Dto.Sys.Role; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.Domain.Dto.Sys.User; +using NetAdmin.Domain.Enums.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 响应:查询站内信 +/// +public sealed record QuerySiteMsgRsp : Sys_SiteMsg +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override string Content { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override DateTime CreatedTime { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public new IEnumerable Depts { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override DateTime? ModifiedTime { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override SiteMsgTypes MsgType { get; init; } + + /// + /// 我的标记 + /// + public QuerySiteMsgFlagRsp MyFlags { get; set; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public new IEnumerable Roles { get; init; } + + /// + /// 消息发送者 + /// + public QueryUserRsp Sender { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override string Summary { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override string Title { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public new IEnumerable Users { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Version { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs new file mode 100644 index 00000000..b2a4c76c --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs @@ -0,0 +1,13 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 请求:更新站内信 +/// +public sealed record UpdateSiteMsgReq : CreateSiteMsgReq +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Version { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs new file mode 100644 index 00000000..145a52c1 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs @@ -0,0 +1,8 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 请求:创建站内信-部门映射 +/// +public record CreateSiteMsgDeptReq : Sys_SiteMsgDept; \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs new file mode 100644 index 00000000..8709ecb9 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 请求:查询站内信-部门映射 +/// +public sealed record QuerySiteMsgDeptReq : Sys_SiteMsgDept +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs new file mode 100644 index 00000000..f27de248 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 响应:查询站内信-部门映射 +/// +public sealed record QuerySiteMsgDeptRsp : Sys_SiteMsgDept +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs new file mode 100644 index 00000000..83d7ae85 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 请求:更新站内信-部门映射 +/// +public sealed record UpdateSiteMsgDeptReq : CreateSiteMsgDeptReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs new file mode 100644 index 00000000..abeb1c81 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs @@ -0,0 +1,18 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 请求:创建站内信标记 +/// +public record CreateSiteMsgFlagReq : Sys_SiteMsgFlag +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long SiteMsgId { get; set; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + [EnumDataType(typeof(UserSiteMsgStatues))] + public override UserSiteMsgStatues UserSiteMsgStatus { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs new file mode 100644 index 00000000..2628ad43 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 请求:查询站内信标记 +/// +public sealed record QuerySiteMsgFlagReq : Sys_SiteMsgFlag +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs new file mode 100644 index 00000000..20be4ef9 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs @@ -0,0 +1,18 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 响应:查询站内信标记 +/// +public sealed record QuerySiteMsgFlagRsp : Sys_SiteMsgFlag +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override UserSiteMsgStatues UserSiteMsgStatus { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs new file mode 100644 index 00000000..bb89bde6 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 请求:更新站内信标记 +/// +public sealed record UpdateSiteMsgFlagReq : CreateSiteMsgFlagReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs new file mode 100644 index 00000000..62ea48da --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs @@ -0,0 +1,8 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 请求:创建站内信-角色映射 +/// +public record CreateSiteMsgRoleReq : Sys_SiteMsgRole; \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs new file mode 100644 index 00000000..cfcbedc9 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 请求:查询站内信-角色映射 +/// +public sealed record QuerySiteMsgRoleReq : Sys_SiteMsgRole +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs new file mode 100644 index 00000000..4f718465 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 响应:查询站内信-角色映射 +/// +public sealed record QuerySiteMsgRoleRsp : Sys_SiteMsgRole +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs new file mode 100644 index 00000000..0b16c973 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 请求:更新站内信-角色映射 +/// +public sealed record UpdateSiteMsgRoleReq : CreateSiteMsgRoleReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs new file mode 100644 index 00000000..477154b2 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs @@ -0,0 +1,8 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 请求:创建站内信-用户映射 +/// +public record CreateSiteMsgUserReq : Sys_SiteMsgUser; \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs new file mode 100644 index 00000000..a4fba7e0 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 请求:查询站内信-用户映射 +/// +public sealed record QuerySiteMsgUserReq : Sys_SiteMsgUser +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs new file mode 100644 index 00000000..262478cd --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 响应:查询站内信-用户映射 +/// +public sealed record QuerySiteMsgUserRsp : Sys_SiteMsgUser +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs new file mode 100644 index 00000000..16d038d4 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 请求:更新站内信-用户映射 +/// +public sealed record UpdateSiteMsgUserReq : CreateSiteMsgUserReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs new file mode 100644 index 00000000..4ebc6fd8 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs @@ -0,0 +1,17 @@ +namespace NetAdmin.Domain.Dto.Sys.Tool; + +/// +/// 响应:获取模块信息 +/// +public record GetModulesRsp : DataAbstraction +{ + /// + /// 模块名称 + /// + public string Name { get; set; } + + /// + /// 模块版本 + /// + public string Version { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs index dd3b234a..b47a7676 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs @@ -15,7 +15,7 @@ public sealed record CheckUserNameAvailableReq : Sys_User /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名不能为空))] [UserName] public override string UserName { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs index b656c305..16f39def 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs @@ -10,7 +10,7 @@ namespace NetAdmin.Domain.Dto.Sys.User; public abstract record CreateUpdateUserReq : Sys_User { /// - [CultureUrl] + [Url] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string Avatar { get; init; } @@ -41,7 +41,7 @@ public abstract record CreateUpdateUserReq : Sys_User /// /// 角色编号列表 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号列表))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号列表不能为空))] [MinLength(1)] [MaxLength(Numbers.BULK_REQ_LIMIT)] public IReadOnlyCollection RoleIds { get; init; } @@ -51,7 +51,7 @@ public abstract record CreateUpdateUserReq : Sys_User public override string Summary { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名不能为空))] [UserName] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string UserName { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs index b7167f45..eba2e9fd 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Dto.Sys.UserProfile; @@ -10,11 +9,11 @@ namespace NetAdmin.Domain.Dto.Sys.User; public record CreateUserReq : CreateUpdateUserReq, IRegister { /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] public override string PasswordText { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案不能为空))] public new CreateUserProfileReq Profile { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs index 00071fd9..086c9c47 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.User; @@ -11,10 +10,10 @@ public record LoginByPwdReq : DataAbstraction /// /// 用户名、手机号、邮箱 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.账号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.账号不能为空))] public string Account { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] public string Password { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs index ad3d07ec..4dda852f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs @@ -1,3 +1,4 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.User; @@ -7,15 +8,11 @@ namespace NetAdmin.Domain.Dto.Sys.User; /// public sealed record QueryUserReq : Sys_User { - /// - /// 部门编号 - /// + /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override long DeptId { get; init; } - /// - /// id - /// + /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override long Id { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs index 1e7203ef..08388ff4 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs @@ -18,9 +18,7 @@ public record QueryUserRsp : Sys_User [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override DateTime CreatedTime { get; init; } - /// - /// 部门 - /// + /// public new virtual QueryDeptRsp Dept { get; init; } /// @@ -39,9 +37,7 @@ public record QueryUserRsp : Sys_User [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string Mobile { get; init; } - /// - /// 角色列表 - /// + /// public new virtual IEnumerable Roles { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs index 1ca7bb4a..bf0fbe01 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs @@ -12,7 +12,7 @@ public record RegisterUserReq : Sys_User /// /// 密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] [Password] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public virtual string PasswordText { get; init; } @@ -23,10 +23,8 @@ public record RegisterUserReq : Sys_User [JsonIgnore] public IReadOnlyCollection RoleIds { get; init; } - /// - /// 用户名 - /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名))] + /// + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名不能为空))] [UserName] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string UserName { get; init; } @@ -34,6 +32,6 @@ public record RegisterUserReq : Sys_User /// /// 短信验证请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求不能为空))] public VerifySmsCodeReq VerifySmsCodeReq { get; set; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs index 06ad2631..669f520f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs @@ -11,13 +11,13 @@ public sealed record ResetPasswordReq : DataAbstraction /// /// 密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] [Password] public string PasswordText { get; init; } /// /// 短信验证请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求不能为空))] public VerifySmsCodeReq VerifySmsCodeReq { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs index 7ebd7e7d..1cdbce52 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.User; @@ -9,8 +8,8 @@ namespace NetAdmin.Domain.Dto.Sys.User; public sealed record SetAvatarReq : Sys_User { /// - [CultureUrl] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户头像))] + [Url] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户头像不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string Avatar { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs index 93688358..8e42a120 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.Dto.Sys.VerifyCode; namespace NetAdmin.Domain.Dto.Sys.User; @@ -11,7 +10,7 @@ public sealed record SetMobileReq : DataAbstraction /// /// 新手机短信验证请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求不能为空))] public VerifySmsCodeReq NewVerifySmsCodeReq { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs index 579aa226..4feb378a 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs @@ -10,14 +10,14 @@ public sealed record SetPasswordReq : DataAbstraction /// /// 新密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.新密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.新密码不能为空))] [Password] public string NewPassword { get; init; } /// /// 旧密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.旧密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.旧密码不能为空))] [Password] public string OldPassword { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs index 17101947..7e3ce2cc 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Dto.Sys.UserProfile; @@ -15,7 +14,7 @@ public sealed record UpdateUserReq : CreateUpdateUserReq public override long Id { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案不能为空))] public new UpdateUserProfileReq Profile { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs index 42844656..e46d2e92 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs @@ -9,10 +9,10 @@ namespace NetAdmin.Domain.Dto.Sys.User; /// public record UserInfoRsp : QueryUserRsp, IRegister { - /// + /// public override QueryDeptRsp Dept { get; init; } - /// + /// public override IEnumerable Roles { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs index f7a1e9c7..5e4f3ff0 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs @@ -27,9 +27,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string CompanyAddress { get; init; } - /// - /// 工作地区 - /// + /// public new QueryDicContentRsp CompanyArea { get; init; } /// @@ -50,9 +48,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string EmergencyContactAddress { get; init; } - /// - /// 紧急联系地区 - /// + /// public new QueryDicContentRsp EmergencyContactArea { get; init; } /// @@ -77,9 +73,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string HomeAddress { get; init; } - /// - /// 住宅地区 - /// + /// public new QueryDicContentRsp HomeArea { get; init; } /// @@ -97,9 +91,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override Nations? Nation { get; init; } - /// - /// 籍贯 - /// + /// public new CreateDicContentReq NationArea { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs index 56540ddf..e10bfb1f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs @@ -25,9 +25,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string CompanyAddress { get; init; } - /// - /// 工作地区 - /// + /// public new QueryDicContentRsp CompanyArea { get; init; } /// @@ -46,9 +44,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string EmergencyContactAddress { get; init; } - /// - /// 紧急联系地区 - /// + /// public new QueryDicContentRsp EmergencyContactArea { get; init; } /// @@ -71,9 +67,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string HomeAddress { get; init; } - /// - /// 住宅地区 - /// + /// public new QueryDicContentRsp HomeArea { get; init; } /// @@ -92,9 +86,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override Nations? Nation { get; init; } - /// - /// 籍贯 - /// + /// public new QueryDicContentRsp NationArea { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs index abfef460..93088c26 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs @@ -11,12 +11,12 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; public sealed record SendVerifyCodeReq : Sys_VerifyCode, IValidatableObject { /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string DestDevice { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.设备类型))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.设备类型不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [EnumDataType(typeof(VerifyCodeDeviceTypes))] public override VerifyCodeDeviceTypes DeviceType { get; init; } @@ -25,7 +25,7 @@ public sealed record SendVerifyCodeReq : Sys_VerifyCode, IValidatableObject public override VerifyCodeStatues Status => VerifyCodeStatues.Waiting; /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码类型))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码类型不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [EnumDataType(typeof(VerifyCodeTypes))] public override VerifyCodeTypes Type { get; init; } @@ -33,7 +33,7 @@ public sealed record SendVerifyCodeReq : Sys_VerifyCode, IValidatableObject /// /// 人机校验请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.人机校验请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.人机校验请求不能为空))] public VerifyCaptchaReq VerifyCaptchaReq { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs index 2a41d82a..17004883 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs @@ -9,13 +9,13 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; public abstract record VerifyCodeReq : Sys_VerifyCode { /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [VerifyCode] public override string Code { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备不能为空))] public override string DestDevice { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs index caeb9d38..a68a6e93 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs @@ -1,4 +1,5 @@ using NetAdmin.Domain.Attributes.DataValidation; +using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Enums.Sys; namespace NetAdmin.Domain.Dto.Sys.VerifyCode; @@ -8,11 +9,11 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; /// public record VerifyEmailCodeReq : VerifyCodeReq { - /// + /// [Email] public override string DestDevice { get; init; } - /// + /// [JsonIgnore] public override VerifyCodeDeviceTypes DeviceType { get; init; } = VerifyCodeDeviceTypes.Email; } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs index 93f1a36f..29033f47 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs @@ -1,4 +1,5 @@ using NetAdmin.Domain.Attributes.DataValidation; +using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Enums.Sys; namespace NetAdmin.Domain.Dto.Sys.VerifyCode; @@ -8,11 +9,11 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; /// public record VerifySmsCodeReq : VerifyCodeReq { - /// + /// [Mobile] public override string DestDevice { get; init; } - /// + /// [JsonIgnore] public override VerifyCodeDeviceTypes DeviceType { get; init; } = VerifyCodeDeviceTypes.Mobile; } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs b/src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs new file mode 100644 index 00000000..13c768eb --- /dev/null +++ b/src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs @@ -0,0 +1,22 @@ +namespace NetAdmin.Domain.Enums; + +/// +/// 动态查询条件逻辑运算符 +/// +[Export] +public enum DynamicFilterLogics +{ + /// + /// 并且 + /// + [ResourceDescription(nameof(Ln.并且))] + And = 0 + + , + + /// + /// 或者 + /// + [ResourceDescription(nameof(Ln.或者))] + Or = 1 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs b/src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs new file mode 100644 index 00000000..dce8162b --- /dev/null +++ b/src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs @@ -0,0 +1,158 @@ +namespace NetAdmin.Domain.Enums; + +/// +/// 动态查询条件操作符 +/// +[Export] +public enum DynamicFilterOperators +{ + /// + /// 包含 + /// + [ResourceDescription(nameof(Ln.包含))] + Contains = 0 + + , + + /// + /// 以什么开始 + /// + [ResourceDescription(nameof(Ln.以什么开始))] + StartsWith = 1 + + , + + /// + /// 以什么结束 + /// + [ResourceDescription(nameof(Ln.以什么结束))] + EndsWith = 2 + + , + + /// + /// 不包含 + /// + [ResourceDescription(nameof(Ln.不包含))] + NotContains = 3 + + , + + /// + /// 不以什么开始 + /// + [ResourceDescription(nameof(Ln.不以什么开始))] + NotStartsWith = 4 + + , + + /// + /// 不以什么结束 + /// + [ResourceDescription(nameof(Ln.不以什么结束))] + NotEndsWith = 5 + + , + + /// + /// 等于 + /// + [ResourceDescription(nameof(Ln.等于))] + Equal = 6 + + , + + /// + /// 等于 + /// + [ResourceDescription(nameof(Ln.等于))] + Equals = 7 + + , + + /// + /// 等于 + /// + [ResourceDescription(nameof(Ln.等于))] + Eq = 8 + + , + + /// + /// 不等于 + /// + [ResourceDescription(nameof(Ln.不等于))] + NotEqual = 9 + + , + + /// + /// 大于 + /// + [ResourceDescription(nameof(Ln.大于))] + GreaterThan = 10 + + , + + /// + /// 大于等于 + /// + [ResourceDescription(nameof(Ln.大于等于))] + GreaterThanOrEqual = 11 + + , + + /// + /// 小于 + /// + [ResourceDescription(nameof(Ln.小于))] + LessThan = 12 + + , + + /// + /// 小于等于 + /// + [ResourceDescription(nameof(Ln.小于等于))] + LessThanOrEqual = 13 + + , + + /// + /// 范围 + /// + [ResourceDescription(nameof(Ln.范围))] + Range = 14 + + , + + /// + /// 日期范围 + /// + [ResourceDescription(nameof(Ln.日期范围))] + DateRange = 15 + + , + + /// + /// 为其中之一 + /// + [ResourceDescription(nameof(Ln.为其中之一))] + Any = 16 + + , + + /// + /// 不为其中之一 + /// + [ResourceDescription(nameof(Ln.不为其中之一))] + NotAny = 17 + + , + + /// + /// 自定义 + /// + [ResourceDescription(nameof(Ln.自定义))] + Custom = 18 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs b/src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs new file mode 100644 index 00000000..0dbba3af --- /dev/null +++ b/src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs @@ -0,0 +1,22 @@ +namespace NetAdmin.Domain.Enums.Sys; + +/// +/// 站内信类型 +/// +[Export] +public enum SiteMsgTypes +{ + /// + /// 私信 + /// + [ResourceDescription(nameof(Ln.私信))] + Private = 1 + + , + + /// + /// 公告 + /// + [ResourceDescription(nameof(Ln.公告))] + Public = 2 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs index 18563bc0..8c4dd2ca 100644 --- a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs +++ b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs @@ -3,6 +3,7 @@ namespace NetAdmin.Domain.Enums.Sys; /// /// 验证码目标设备类型 /// +[Export] public enum VerifyCodeDeviceTypes { /// diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs index ef7a0941..c22dba26 100644 --- a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs +++ b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs @@ -3,6 +3,7 @@ namespace NetAdmin.Domain.Enums.Sys; /// /// 验证码状态 /// +[Export] public enum VerifyCodeStatues { /// diff --git a/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs b/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs index aeaa9dc3..ce841ad7 100644 --- a/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs @@ -23,6 +23,6 @@ public sealed record SqlCommandAfterEvent : SqlCommandBeforeEvent /// public override string ToString() { - return string.Format(CultureInfo.InvariantCulture, "SQL-{0}: {2} us {1}", Id, Sql, ElapsedMicroseconds); + return string.Format(CultureInfo.InvariantCulture, "SQL-{0}: {2} ms {1}", Id, Sql, ElapsedMicroseconds / 1000); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs b/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs index 2e2aa63a..43375f00 100644 --- a/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs @@ -10,22 +10,13 @@ public record SqlCommandEvent : DataAbstraction, IEventSource /// public string Id => Identifier.ToString()[..8].ToUpperInvariant(); - /// - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; init; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; protected init; } - /// - /// 事件 Id - /// + /// public string EventId { get; protected init; } /// @@ -33,9 +24,7 @@ public record SqlCommandEvent : DataAbstraction, IEventSource /// public Guid Identifier { get; protected init; } - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs b/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs index f4ccb49d..96a66d7d 100644 --- a/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs @@ -15,31 +15,18 @@ public sealed record RequestLogEvent : DataAbstraction, IEventSourceGeneric - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; } - /// - /// 事件承载(携带)数据 - /// + /// public CreateRequestLogReq Data { get; } - /// - /// 事件 Id - /// + /// public string EventId => nameof(RequestLogEvent); - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs b/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs index 12ffe2dc..0919bc65 100644 --- a/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs @@ -15,31 +15,18 @@ public sealed record UserUpdatedEvent : DataAbstraction, IEventSourceGeneric - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; } - /// - /// 事件承载(携带)数据 - /// + /// public UserInfoRsp Data { get; } - /// - /// 事件 Id - /// + /// public string EventId => nameof(UserUpdatedEvent); - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs b/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs index 42c8e26b..7169a8fa 100644 --- a/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs @@ -15,31 +15,18 @@ public sealed record VerifyCodeCreatedEvent : DataAbstraction, IEventSourceGener Data = data; } - /// - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; } - /// - /// 事件承载(携带)数据 - /// + /// public QueryVerifyCodeRsp Data { get; } - /// - /// 事件 Id - /// + /// public string EventId => nameof(VerifyCodeCreatedEvent); - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj b/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj index 2a10724d..da77ae3e 100644 --- a/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj +++ b/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs b/src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs new file mode 100644 index 00000000..c3a73437 --- /dev/null +++ b/src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs @@ -0,0 +1,12 @@ +namespace NetAdmin.Host.BackgroundRunning; + +/// +/// 轮询工作接口 +/// +public interface IPollingWork +{ + /// + /// 启动工作 + /// + ValueTask StartAsync(CancellationToken cancelToken); +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs b/src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs new file mode 100644 index 00000000..c2261dab --- /dev/null +++ b/src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs @@ -0,0 +1,23 @@ +using NetAdmin.Domain; + +namespace NetAdmin.Host.BackgroundRunning; + +/// +/// 轮询工作 +/// +public abstract class PollingWork : WorkBase + where TWorkData : DataAbstraction +{ + /// + /// Initializes a new instance of the class. + /// + protected PollingWork(TWorkData workData) + { + WorkData = workData; + } + + /// + /// 工作数据 + /// + protected TWorkData WorkData { get; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs b/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs index 9ffc9343..4609a0ef 100644 --- a/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs +++ b/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs @@ -15,9 +15,9 @@ public abstract class WorkBase protected WorkBase() { ServiceProvider = App.GetService().CreateScope().ServiceProvider; - _redLocker = ServiceProvider.GetService(); UowManager = ServiceProvider.GetService(); Logger = ServiceProvider.GetService>(); + _redLocker = ServiceProvider.GetService(); } /// @@ -40,7 +40,7 @@ public abstract class WorkBase /// protected Task GetLockerAsync(string lockId) { - return _redLocker.RedlockFactory.CreateLockAsync(lockId, TimeSpan.FromSeconds(Numbers.RED_LOCK_EXPIRY_TIME_SECS) + return _redLocker.RedLockFactory.CreateLockAsync(lockId, TimeSpan.FromSeconds(Numbers.RED_LOCK_EXPIRY_TIME_SECS) , TimeSpan.FromSeconds(Numbers.RED_LOCK_WAIT_TIME_SECS) , TimeSpan.FromSeconds(Numbers.RED_LOCK_RETRY_TIME_SECS)); } diff --git a/src/backend/NetAdmin.Host/Controllers/HealthController.cs b/src/backend/NetAdmin.Host/Controllers/HealthController.cs index 688c2db9..724ca370 100644 --- a/src/backend/NetAdmin.Host/Controllers/HealthController.cs +++ b/src/backend/NetAdmin.Host/Controllers/HealthController.cs @@ -7,14 +7,9 @@ namespace NetAdmin.Host.Controllers; /// 健康控制器 /// [ApiDescriptionSettings("Health")] -public sealed class HealthController : ControllerBase, IService> +public sealed class HealthController + (ICache cache) : ControllerBase, IService>(cache) { - /// - /// Initializes a new instance of the class. - /// - public HealthController(ICache cache) // - : base(cache) { } - /// /// 健康检查 /// @@ -24,6 +19,6 @@ public sealed class HealthController : ControllerBase public static IApplicationBuilder UseEndpoints(this IApplicationBuilder me) { - _ = me.UseEndpoints(endpoints => { + return me.UseEndpoints(endpoints => { _ = endpoints.MapControllers(); + #if !DEBUG _ = endpoints.MapMetrics(); + #endif }); - return me; } - + #if DEBUG /// /// 使用 api skin (knife4j-vue) /// public static IApplicationBuilder UseOpenApiSkin(this IApplicationBuilder me) { - _ = me.UseKnife4UI(options => { + return me.UseKnife4UI(options => { options.RoutePrefix = string.Empty; // 配置 Knife4UI 路由地址 foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups()) { - options.SwaggerEndpoint($"/{groupInfo.RouteTemplate}", groupInfo.Title); + options.SwaggerEndpoint(groupInfo.RouteTemplate, groupInfo.Title); } }); - - return me; } + #endif /// /// 获取客户端真实Ip /// public static IApplicationBuilder UseRealIp(this IApplicationBuilder me) { - _ = me.UseForwardedHeaders(new ForwardedHeadersOptions // - { - ForwardedHeaders = ForwardedHeaders.XForwardedFor | - ForwardedHeaders.XForwardedProto - }); - return me; + return me.UseForwardedHeaders(new ForwardedHeadersOptions // + { + ForwardedHeaders = ForwardedHeaders.XForwardedFor | + ForwardedHeaders.XForwardedProto + }); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs b/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs index 442ec8cf..e147bde5 100644 --- a/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs +++ b/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs @@ -62,54 +62,60 @@ public static class IMvcBuilderExtensions /// public static IMvcBuilder AddJsonSerializer(this IMvcBuilder me, bool enumToString = false) { - return me.AddJsonOptions(options => { - ////////////////////////////// json -> object + return me.AddJsonOptions(options => SetJsonOptions(enumToString, options)); + } - // 允许带注释 - options.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip; + /// + /// 设置Json选项 + /// + public static void SetJsonOptions(bool enumToString, JsonOptions options) + { + ////////////////////////////// json -> object - // 允许尾随逗号 - options.JsonSerializerOptions.AllowTrailingCommas = true; + // 允许带注释 + options.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip; - // 允许数字带双引号 - options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; + // 允许尾随逗号 + options.JsonSerializerOptions.AllowTrailingCommas = true; - // 大小写不敏感 - options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; + // 允许数字带双引号 + options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; - // 允许读取引号包围的数字 - options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; + // 大小写不敏感 + options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; - ///////////////////////////// object -> json + // 允许读取引号包围的数字 + options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; - // 转小驼峰 - options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; - options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + ///////////////////////////// object -> json - // 不严格转义 - options.JsonSerializerOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping; + // 转小驼峰 + options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; + options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; - // 写入时,忽略null、default - options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; + // 不严格转义 + options.JsonSerializerOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping; - ////////////////////////////// object <-> json + // 写入时,忽略null、default + options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; - // "" 转 null 双向 - options.JsonSerializerOptions.Converters.Add(new ToNullIfEmptyStringConverter()); + ////////////////////////////// object <-> json - // [] 转 null 双向 - options.JsonSerializerOptions.TypeInfoResolver = new CollectionJsonTypeInfoResolver(); + // "" 转 null 双向 + options.JsonSerializerOptions.Converters.Add(new ToNullIfEmptyStringConverter()); - // 日期格式 2023-01-18 20:02:12 - _ = options.JsonSerializerOptions.Converters.AddDateTimeTypeConverters(Chars.TPL_DATE_YYYY_MM_DD_HH_MM_SS); + // [] 转 null 双向 + options.JsonSerializerOptions.TypeInfoResolver = new CollectionJsonTypeInfoResolver(); - // object->json 枚举显名 而非数字 ,json->object 可以枚举名 也可以数值 - if (enumToString) { - options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase)); - } + // 日期格式 2023-01-18 20:02:12 + _ = options.JsonSerializerOptions.Converters.AddDateTimeTypeConverters(Chars.TPL_DATE_YYYY_MM_DD_HH_MM_SS); - // 快捷访问方式 - Global.JsonSerializerOptions = options.JsonSerializerOptions; - }); + // object->json 枚举显名 而非数字 ,json->object 可以枚举名 也可以数值 + if (enumToString) { + options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase)); + } + + // 快捷访问方式 + GlobalStatic.JsonSerializerOptions = options.JsonSerializerOptions; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs index 7d8c9fa7..5442685c 100644 --- a/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs +++ b/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs @@ -3,10 +3,12 @@ using NetAdmin.Domain.Contexts; using NetAdmin.Domain.Events; using NetAdmin.Host.Filters; using NetAdmin.Host.Utils; -using Spectre.Console; using StackExchange.Redis; using Yitter.IdGenerator; using FreeSqlBuilder = NetAdmin.Infrastructure.Utils.FreeSqlBuilder; +#if DEBUG +using Spectre.Console; +#endif namespace NetAdmin.Host.Extensions; @@ -16,8 +18,7 @@ namespace NetAdmin.Host.Extensions; [SuppressSniffer] public static class ServiceCollectionExtensions { - private const int _CONSOLE_LINE_LEN_LIMIT = 4096; - + #if DEBUG private static readonly Dictionary _consoleColors // = new() { { @@ -72,6 +73,8 @@ public static class ServiceCollectionExtensions } }; + #endif + /// /// 扫描程序集中继承自IConfigurableOptions的选项,注册 /// @@ -89,138 +92,104 @@ public static class ServiceCollectionExtensions nameof(ConfigurableOptionsServiceCollectionExtensions.AddConfigurableOptions) , BindingFlags.Public | BindingFlags.Static, new[] { typeof(IServiceCollection) }); _ = configureMethod!.MakeGenericMethod(type).Invoke(me, new object[] { me }); - _ = sbLog.Append(CultureInfo.InvariantCulture, $", {type.Name}"); + _ = sbLog.Append(CultureInfo.InvariantCulture, $" {type.Name}"); } - LogHelper.Get()?.Info($"{nameof(IConfigurableOptions)} {Ln.初始化完毕} {sbLog}"); + LogHelper.Get()?.Info($"{Ln.配置文件初始化完毕} {sbLog}"); return me; } /// - /// 注册控制台日志模板 + /// 添加控制台日志模板 /// public static IServiceCollection AddConsoleFormatter(this IServiceCollection me) { - static (string Date, string LogName, string LogFormat) ParseMessage(LogMessage message, bool showColor) - { - var date = message.LogDateTime.ToString(Chars.TPL_DATE_HH_MM_SS_FFFFFF, CultureInfo.InvariantCulture); - var logName = message.LogName.PadRight(64, ' ')[^64..]; - var format = showColor - ? $"[{nameof(ConsoleColor.Gray)}][[{{0}} {{1}} {{2,-{64}}} #{{3,4}}]][/] {{4}}" - : $"[{{0}} {{1}} {{2,-{64}}} #{{3,4}}] {{4}}"; - - return (date, logName, format); - } - return me.AddConsoleFormatter(options => { var logLevels = Enum.GetValues(typeof(LogLevels)) .Cast() .ToDictionary(x => x, x => x.GetDisplay()); - if (App.WebHostEnvironment.IsDevelopment()) { - static void MarkupLine(string msg, LogMessage message - , IReadOnlyDictionary logLevels) - { - // 日志过长 - if (msg.Length > _CONSOLE_LINE_LEN_LIMIT) { - msg = $"{Ln.日志长度超过限制} {_CONSOLE_LINE_LEN_LIMIT}"; - } - - msg = _consoleColors.Aggregate( // - msg, (current, regex) => regex.Key.Replace(current, regex.Value)); - msg = msg.ReplaceLineEndings(string.Empty); - var colorName = logLevels[(LogLevels)message.LogLevel].Name!; - var (date, logName, logFormat) = ParseMessage(message, true); - AnsiConsole.MarkupLine( // - CultureInfo.InvariantCulture, logFormat, date, colorName, logName, message.ThreadId, msg); + #if DEBUG + options.WriteHandler = (message, _, _, _, _) => { + MarkupLine(message.Message.EscapeMarkup(), message, logLevels); + if (message.Exception != null) { + MarkupLine(message.Exception.ToString().EscapeMarkup(), message, logLevels); } + }; - options.WriteHandler = (message, _, _, _, _) => { - MarkupLine(message.Message.EscapeMarkup(), message, logLevels); - if (message.Exception != null) { - MarkupLine(message.Exception.ToString().EscapeMarkup(), message, logLevels); - } - }; - } - else { - options.WriteHandler = (message, _, _, _, _) => { - var msg = message.Message.ReplaceLineEndings(string.Empty); - var (date, logName, logFormat) = ParseMessage(message, false); - Console.WriteLine( // - logFormat, date, logLevels[(LogLevels)message.LogLevel].ShortName, logName, message.ThreadId - , msg); - }; - } + #else + options.WriteHandler = (message, _, _, _, _) => { + var msg = message.Message.ReplaceLineEndings(string.Empty); + var (date, logName, logFormat) = ParseMessage(message, false); + Console.WriteLine( // + logFormat, date, logLevels[(LogLevels)message.LogLevel].ShortName, logName, message.ThreadId, msg); + }; + #endif }); } /// - /// 注册上下文用户 + /// 添加上下文用户 /// public static IServiceCollection AddContextUser(this IServiceCollection me) { - _ = me.AddScoped(typeof(ContextUserToken), _ => ContextUserToken.Create()); - _ = me.AddScoped(typeof(ContextUserInfo), _ => ContextUserInfo.Create()); - - return me; + return me.AddScoped(typeof(ContextUserToken), _ => ContextUserToken.Create()) + .AddScoped(typeof(ContextUserInfo), _ => ContextUserInfo.Create()); } /// - /// 注册事件总线 + /// 添加事件总线 /// public static IServiceCollection AddEventBus(this IServiceCollection me) { - _ = me.AddEventBus(builder => builder.AddSubscribers(App.Assemblies.ToArray())); - return me; + return me.AddEventBus(builder => builder.AddSubscribers(App.Assemblies.ToArray())); } /// - /// 注册freeSql orm工具 + /// 添加 freeSql orm工具 /// public static IServiceCollection AddFreeSql( // this IServiceCollection me, FreeSqlInitOptions initOptions = FreeSqlInitOptions.None , Action freeSqlConfig = null) { - // 非调试模式下禁止同步数据库 - #if !DEBUG - initOptions = FreeSqlInitOptions.None; - #endif + // // 非调试模式下禁止同步数据库 + // #if !DEBUG + // initOptions = FreeSqlInitOptions.None; + // #endif var freeSql = new FreeSqlBuilder(App.GetOptions()).Build(initOptions); _ = me.AddSingleton(freeSql); var sqlAuditor = App.GetService(); freeSql.Aop.AuditValue += sqlAuditor.DataAuditHandler; // Insert/Update自动值处理 + var eventPublisher = App.GetService(); // AOP事件发布(异步) freeSql.Aop.CommandBefore - += (_, e) => App.GetService().PublishAsync(new SqlCommandBeforeEvent(e)); // 增删查改,执行命令之前触发 + += (_, e) => eventPublisher.PublishAsync(new SqlCommandBeforeEvent(e)); // 增删查改,执行命令之前触发 freeSql.Aop.CommandAfter - += (_, e) => App.GetService().PublishAsync(new SqlCommandAfterEvent(e)); // 增删查改,执行命令完成后触发 + += (_, e) => eventPublisher.PublishAsync(new SqlCommandAfterEvent(e)); // 增删查改,执行命令完成后触发 freeSql.Aop.SyncStructureBefore += (_, e) => - App.GetService().PublishAsync(new SyncStructureBeforeEvent(e)); // CodeFirst迁移,执行之前触发 + eventPublisher.PublishAsync(new SyncStructureBeforeEvent(e)); // CodeFirst迁移,执行之前触发 freeSql.Aop.SyncStructureAfter += (_, e) => - App.GetService().PublishAsync(new SyncStructureAfterEvent(e)); // CodeFirst迁移,执行完成触发 + eventPublisher.PublishAsync(new SyncStructureAfterEvent(e)); // CodeFirst迁移,执行完成触发 // 全局过滤器设置 freeSqlConfig?.Invoke(freeSql); - _ = me.AddScoped(); // 注入工作单元管理器 - _ = me.AddFreeRepository(null, App.Assemblies.ToArray()); // 批量注入 Repository - _ = me.AddMvcFilter(); // 注入事务拦截器 - - return me; + return me.AddScoped() // 注入工作单元管理器 + .AddFreeRepository(null, App.Assemblies.ToArray()) // 批量注入 Repository + .AddMvcFilter(); // 注入事务拦截器 } /// - /// 注册内存缓存 + /// 添加内存缓存 /// public static IServiceCollection AddMemCache(this IServiceCollection me) { - _ = me.AddMemoryCache(options => options.TrackStatistics = true); - return me; + return me.AddMemoryCache(options => options.TrackStatistics = true); } /// @@ -238,7 +207,7 @@ public static class ServiceCollectionExtensions } /// - /// 注册Redis缓存 + /// 添加 Redis缓存 /// public static IServiceCollection AddRedisCache(this IServiceCollection me) { @@ -252,18 +221,50 @@ public static class ServiceCollectionExtensions }); // Redis原生接口 - _ = me.AddSingleton(ConnectionMultiplexer.Connect(redisOptions.ConnStr)); - return me; + return me.AddSingleton(ConnectionMultiplexer.Connect(redisOptions.ConnStr)); } /// - /// 注册雪花编号生成器 + /// 添加雪花编号生成器 /// public static IServiceCollection AddSnowflake(this IServiceCollection me) { // 雪花漂移算法 - var idGeneratorOptions = new IdGeneratorOptions(); + var workerId = Environment.GetEnvironmentVariable(Chars.FLG_SNOWFLAKE_WORK_ID).Int32Try(0); + var idGeneratorOptions = new IdGeneratorOptions((ushort)workerId) { WorkerIdBitLength = 6 }; YitIdHelper.SetIdGenerator(idGeneratorOptions); return me; } + + #if DEBUG + private static void MarkupLine( // + string msg // + , LogMessage message // + , IReadOnlyDictionary logLevels) + { + // 日志过长 + if (msg.Length > Numbers.CONSOLE_LINE_LEN_LIMIT) { + msg = $"{Ln.日志长度超过限制} {Numbers.CONSOLE_LINE_LEN_LIMIT}"; + } + + msg = _consoleColors.Aggregate( // + msg, (current, regex) => regex.Key.Replace(current, regex.Value)); + msg = msg.ReplaceLineEndings(string.Empty); + var colorName = logLevels[(LogLevels)message.LogLevel].Name!; + var (date, logName, logFormat) = ParseMessage(message, true); + AnsiConsole.MarkupLine( // + CultureInfo.InvariantCulture, logFormat, date, colorName, logName, message.ThreadId, msg); + } + + #endif + private static (string Date, string LogName, string LogFormat) ParseMessage(LogMessage message, bool showColor) + { + var date = message.LogDateTime.ToString(Chars.TPL_DATE_HH_MM_SS_FFFFFF, CultureInfo.InvariantCulture); + var logName = message.LogName.PadRight(64, ' ')[^64..]; + var format = showColor + ? $"[{nameof(ConsoleColor.Gray)}][[{{0}} {{1}} {{2,-{64}}} #{{3,4}}]][/] {{4}}" + : $"[{{0}} {{1}} {{2,-{64}}} #{{3,4}}] {{4}}"; + + return (date, logName, format); + } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs b/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs index ebe32d28..fbcfdc31 100644 --- a/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs +++ b/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs @@ -23,7 +23,7 @@ public static class UnitOfWorkManagerExtensions } catch { unitOfWork.Rollback(); - logger?.Error($"{Ln.事务已回滚}: {hashCode}"); + logger?.Warn($"{Ln.事务已回滚}: {hashCode}"); throw; } } diff --git a/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs b/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs index 84876d49..f99514e0 100644 --- a/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs +++ b/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs @@ -71,7 +71,7 @@ public abstract class ApiResultHandler try { return validationResult is Dictionary dic ? dic.ToDictionary( // - x => (startWithDollar = x.Key.StartsWith("$", StringComparison.InvariantCulture)) + x => (startWithDollar = x.Key.StartsWith('$')) ? x.Key[1..].TrimStart('.').NullOrEmpty(null) ?? throw new NetAdminInvalidInputException() : x.Key, x => startWithDollar ? new[] { Ln.参数格式不正确 } : x.Value) : validationResult; diff --git a/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs b/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs index 77c31aa7..a5305acb 100644 --- a/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs +++ b/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs @@ -2,18 +2,7 @@ using NetAdmin.Domain.Dto; namespace NetAdmin.Host.Filters; -/// -/// Api结果格式化处理器 -/// -/// -/// 约定: -/// 1、业务异常需要设置HttpStatusCode与成功请求区分,不要统一返回200( 为了方便前端调试:在浏览器F12中快速观察失败请求【红色高亮】) -/// 2、不得占用常见HttpStatusCode,例如4xx、5xx,以免与传输层错误混淆,干扰运维。 -/// 实现: -/// 1、本系统代码覆盖范围内占用4个HttpStatusCode:200(表示业务成功)、401(身份未确认)、403(权限不足)、900(其他所有业务异常) -/// 2、当HttpStatusCode为900时,通过子码(JsonBody里面的Code区分具体异常),同时将子码写入RspHeader中,方便日志系统快速筛选归类。 -/// 3、子码定义,见枚举 -/// +/// [SuppressSniffer] [UnifyModel(typeof(RestfulInfo<>))] public sealed class DefaultApiResultHandler : ApiResultHandler>, IUnifyResultProvider { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs b/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs index 70fa549f..8dfff7db 100644 --- a/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs +++ b/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs @@ -2,27 +2,13 @@ using Furion.FriendlyException; namespace NetAdmin.Host.Filters; -/// -/// 全局捕异常 -/// -public sealed class GlobalExceptionHandler : IGlobalExceptionHandler, ISingleton +/// +public sealed class GlobalExceptionHandler(ILogger logger) : IGlobalExceptionHandler, ISingleton { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public GlobalExceptionHandler(ILogger logger) - { - _logger = logger; - } - - /// - /// 异常拦截 - /// + /// public Task OnExceptionAsync(ExceptionContext context) { - _logger.Error(context.Exception); + logger.Error(context.Exception); // 将异常设置到HttpContext.Features中 以便中间件能获取到他 context.HttpContext.Features.Set( diff --git a/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs b/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs index 4865f325..2fbe7c2f 100644 --- a/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs +++ b/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs @@ -7,19 +7,8 @@ namespace NetAdmin.Host.Filters; /// 事务拦截器 /// [SuppressSniffer] -public sealed class TransactionInterceptor : IAsyncActionFilter +public sealed class TransactionInterceptor(UnitOfWorkManager uowManager) : IAsyncActionFilter { - private readonly UnitOfWorkManager _uowManager; - - /// - /// Initializes a new instance of the class. - /// 事务拦截器 - /// - public TransactionInterceptor(UnitOfWorkManager uowManager) - { - _uowManager = uowManager; - } - /// public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { @@ -31,7 +20,7 @@ public sealed class TransactionInterceptor : IAsyncActionFilter } // 事务操作 - await _uowManager.AtomicOperateAsync(async () => { + await uowManager.AtomicOperateAsync(async () => { var result = await next(); if (result.Exception != null) { throw result.Exception; diff --git a/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs b/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs index 301335b8..5bf74d55 100644 --- a/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs +++ b/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs @@ -6,24 +6,14 @@ namespace NetAdmin.Host.Middlewares; /// /// 删除 response json body 中value 为null的节点 /// -public sealed class RemoveNullNodeMiddleware +public sealed class RemoveNullNodeMiddleware(RequestDelegate next) { - private readonly RequestDelegate _next; - /// - /// Initializes a new instance of the class. - /// - public RemoveNullNodeMiddleware(RequestDelegate next) - { - _next = next; - } - - /// - /// InvokeAsync + /// 主函数 /// public async Task InvokeAsync(HttpContext context) { - await _next(context); + await next(context); if (context.GetMetadata() is null) { return; diff --git a/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs b/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs index b5552e6d..925a5bc5 100644 --- a/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs +++ b/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs @@ -8,29 +8,18 @@ namespace NetAdmin.Host.Middlewares; /// /// 放在所有中间件最前面 /// -public sealed class RequestAuditMiddleware +public sealed class RequestAuditMiddleware(RequestDelegate next + , IOptions + dynamicApiControllerSettingsOptions, RequestLogger requestLogger) { - private readonly PathString _defaultRoutePrefix; - private readonly PathString _healthCheckRoutePrefix; - private readonly RequestDelegate _next; - private readonly RequestLogger _requestLogger; + private readonly PathString _defaultRoutePrefix + = new($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}"); + + private readonly PathString _healthCheckRoutePrefix + = new($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}/health/check"); /// - /// Initializes a new instance of the class. - /// - public RequestAuditMiddleware( // - RequestDelegate next, IOptions dynamicApiControllerSettingsOptions - , RequestLogger requestLogger) - { - _next = next; - _requestLogger = requestLogger; - _defaultRoutePrefix = new PathString($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}"); - _healthCheckRoutePrefix - = new PathString($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}/health/check"); - } - - /// - /// InvokeAsync + /// 主函数 /// public async Task InvokeAsync(HttpContext context) { @@ -38,7 +27,7 @@ public sealed class RequestAuditMiddleware if (!context.Request.Path.StartsWithSegments(_defaultRoutePrefix) // 非api请求 || context.Request.Path.StartsWithSegments(_healthCheckRoutePrefix) // 健康检查 || context.Request.Method == Chars.FLG_HTTP_METHOD_OPTIONS) { // is options 请求 - await _next(context); + await next(context); return; } @@ -51,7 +40,7 @@ public sealed class RequestAuditMiddleware // 调用下一个中间件 var sw = Stopwatch.StartNew(); - await _next(context); + await next(context); sw.Stop(); _ = ms.Seek(0, SeekOrigin.Begin); @@ -66,7 +55,7 @@ public sealed class RequestAuditMiddleware .FirstOrDefault() ?.Enum() ?? 0; - _ = await _requestLogger.LogAsync(context, (long)sw.Elapsed.TotalMicroseconds, responseBody, errorCode - , exception); + _ = await requestLogger.LogAsync(context, (long)sw.Elapsed.TotalMicroseconds, responseBody, errorCode + , exception); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/NetAdmin.Host.csproj b/src/backend/NetAdmin.Host/NetAdmin.Host.csproj index 706d4416..a28ff8bc 100644 --- a/src/backend/NetAdmin.Host/NetAdmin.Host.csproj +++ b/src/backend/NetAdmin.Host/NetAdmin.Host.csproj @@ -1,11 +1,11 @@ - + - - - + + + \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Startup.cs b/src/backend/NetAdmin.Host/Startup.cs index b581124f..e48c321d 100644 --- a/src/backend/NetAdmin.Host/Startup.cs +++ b/src/backend/NetAdmin.Host/Startup.cs @@ -13,22 +13,20 @@ public abstract class Startup : AppStartup protected static void ShowBanner() { AnsiConsole.WriteLine(); - var gridInfo = new Grid().AddColumn(new GridColumn().NoWrap().PadRight(10)) + var gridInfo = new Grid().AddColumn(new GridColumn().NoWrap().Width(50).PadRight(10)) .AddColumn(new GridColumn().NoWrap()) .Expand(); - foreach (var kv in ApplicationHelper.GetEnvironmentInfo()) { + foreach (var kv in ApplicationHelper.GetEnvironmentInfo().OrderBy(x => x.Key)) { _ = gridInfo.AddRow(kv.Key, kv.Value.ToString()!.EscapeMarkup()); } var gridWrap = new Grid().AddColumn(); var entryAssembly = Assembly.GetEntryAssembly(); var assemblyName = entryAssembly!.GetName(); - foreach (var str in assemblyName.Name!.Split('.')) { - _ = gridWrap.AddRow(new FigletText(str).Color(Color.Green)); - } + _ = gridWrap.AddRow(new FigletText(assemblyName.Name!).Color(Color.Green)); _ = gridWrap.AddRow(gridInfo); - AnsiConsole.Write(new Panel(gridWrap).Header(Global.ProductVersion).Expand()); + AnsiConsole.Write(new Panel(gridWrap).Header(GlobalStatic.ProductVersion).Expand()); AnsiConsole.WriteLine(); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs b/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs index d2b73956..78ebe786 100644 --- a/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs +++ b/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs @@ -5,18 +5,8 @@ namespace NetAdmin.Host.Subscribers; /// /// Sql性能分析 /// -public sealed class SqlProfiler : IEventSubscriber +public sealed class SqlProfiler(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public SqlProfiler(ILogger logger) - { - _logger = logger; - } - /// /// Sql命令执行后 /// @@ -24,7 +14,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task CommandAfterAsync(EventHandlerExecutingContext context) { var source = context.Source as SqlCommandAfterEvent; - _logger.Info(source); + logger.Info(source); return Task.CompletedTask; } @@ -35,7 +25,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task CommandBeforeAsync(EventHandlerExecutingContext context) { var source = context.Source as SqlCommandBeforeEvent; - _logger.Debug(source); + logger.Debug(source); return Task.CompletedTask; } @@ -46,7 +36,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task SyncStructureAfterAsync(EventHandlerExecutingContext context) { var source = context.Source as SyncStructureAfterEvent; - _logger.Info(source); + logger.Info(source); return Task.CompletedTask; } @@ -57,7 +47,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task SyncStructureBeforeAsync(EventHandlerExecutingContext context) { var source = context.Source as SyncStructureBeforeEvent; - _logger.Info(source); + logger.Info(source); return Task.CompletedTask; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Utils/RequestLogger.cs b/src/backend/NetAdmin.Host/Utils/RequestLogger.cs index 8c9a1913..9070447c 100644 --- a/src/backend/NetAdmin.Host/Utils/RequestLogger.cs +++ b/src/backend/NetAdmin.Host/Utils/RequestLogger.cs @@ -7,26 +7,15 @@ namespace NetAdmin.Host.Utils; /// /// 请求日志记录器 /// -public sealed class RequestLogger : ISingleton +public sealed class RequestLogger(ILogger logger + , IOptions specificationDocumentSettingsOptions + , IEventPublisher eventPublisher) : ISingleton { - private static readonly string[] _textContentTypes = { "text", "json", "xml", "urlencoded" }; - private readonly IEventPublisher _eventPublisher; - private readonly ILogger _logger; - private readonly int _tokenPrefixLength; + private static readonly string[] _textContentTypes = { "text", "json", "xml", "urlencoded" }; - /// - /// Initializes a new instance of the class. - /// - public RequestLogger( // - ILogger logger - , IOptions specificationDocumentSettingsOptions - , IEventPublisher eventPublisher) - { - _logger = logger; - _eventPublisher = eventPublisher; - _tokenPrefixLength = specificationDocumentSettingsOptions?.Value.SecurityDefinitions?[0]?.Scheme?.Length + 1 ?? - 0; // eg. "Bearer " - } + private readonly int _tokenPrefixLength + = specificationDocumentSettingsOptions?.Value.SecurityDefinitions?[0]?.Scheme?.Length + 1 ?? + 0; // eg. "Bearer "; /// /// 生成审计数据 @@ -65,10 +54,10 @@ public sealed class RequestLogger : ISingleton }; // 打印日志 - _logger.Info(auditData); + logger.Info(auditData); // 发布请求日志事件 - await _eventPublisher.PublishAsync(new RequestLogEvent(auditData)); + await eventPublisher.PublishAsync(new RequestLogEvent(auditData)); return auditData; } @@ -87,7 +76,7 @@ public sealed class RequestLogger : ISingleton userToken = claim?.Value.ToObject(); } catch (Exception ex) { - _logger.Warn($"{Ln.读取用户令牌出错}: {ex}"); + logger.Warn($"{Ln.读取用户令牌出错}: {ex}"); } return userToken == null ? null : (userToken.Id, userToken.UserName); diff --git a/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs b/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs index e7ce70e6..dc92a1d5 100644 --- a/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs +++ b/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Infrastructure.Configuration.Options; /// -/// Redis配置 +/// Redis 配置 /// public sealed record RedisOptions : OptionAbstraction { diff --git a/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs b/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs index d6196da8..3b86c02a 100644 --- a/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs +++ b/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Infrastructure.Configuration.Options.SubNodes.Redis; /// -/// Redis实例 +/// Redis 实例节点 /// public sealed record InstanceNode { diff --git a/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs b/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs index fa2c0561..f6e55e41 100644 --- a/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs +++ b/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs @@ -21,6 +21,8 @@ public static class Chars public const string FLG_DB_FIELD_TYPE_NVARCHAR = "nvarchar"; public const string FLG_DB_FIELD_TYPE_NVARCHAR_255 = "nvarchar(255)"; public const string FLG_DB_FIELD_TYPE_NVARCHAR_MAX = "nvarchar(max)"; + public const string FLG_DB_FIELD_TYPE_SMALL_INT = "smallint"; + public const string FLG_DB_FIELD_TYPE_TEXT = "text"; public const string FLG_DB_FIELD_TYPE_VARCHAR = "varchar"; public const string FLG_DB_FIELD_TYPE_VARCHAR_1022 = "varchar(1022)"; public const string FLG_DB_FIELD_TYPE_VARCHAR_127 = "varchar(127)"; @@ -51,6 +53,7 @@ public static class Chars public const string FLG_HTTP_METHOD_TRACE = "TRACE"; public const string FLG_RANDOM_UNAME_PWD = "VcXlp7WY"; public const string FLG_REDIS_INSTANCE_DATA_CACHE = "DataCache"; + public const string FLG_SNOWFLAKE_WORK_ID = "SNOWFLAKE_WORK_ID"; public const string FLG_SYSTEM_PREFIX = "sc_"; public const string FLG_TABLE_NAME_PREFIX = ""; @@ -65,7 +68,7 @@ public static class Chars public const string FLG_X_ACCESS_TOKEN = "X-ACCESS-TOKEN"; - public const string RGX_CERTIFICATE = """^[a-zA-Z0-9-_]+$"""; + public const string RGX_CERTIFICATE = "^[a-zA-Z0-9-_]+$"; public const string RGX_CHINESE_NAME = """^(?:赵|钱|孙|李|周|吴|郑|王|冯|陈|褚|卫|蒋|沈|韩|杨|朱|秦|尤|许|何|吕|施|张|孔|曹|严|华|金|魏|陶|姜|戚|谢|邹|喻|柏|水|窦|章|云|苏|潘|葛|奚|范|彭|郎|鲁|韦|昌|马|苗|凤|花|方|俞|任|袁|柳|酆|鲍|史|唐|费|廉|岑|薛|雷|贺|倪|汤|滕|殷|罗|毕|郝|邬|安|常|乐|于|时|傅|皮|卞|齐|康|伍|余|元|卜|顾|孟|平|黄|和|穆|萧|尹|姚|邵|湛|汪|祁|毛|禹|狄|米|贝|明|臧|计|伏|成|戴|谈|宋|茅|庞|熊|纪|舒|屈|项|祝|董|梁|杜|阮|蓝|闵|席|季|麻|强|贾|路|娄|危|江|童|颜|郭|梅|盛|林|刁|钟|徐|邱|骆|高|夏|蔡|田|樊|胡|凌|霍|虞|万|支|柯|昝|管|卢|莫|经|房|裘|缪|干|解|应|宗|丁|宣|贲|邓|郁|单|杭|洪|包|诸|左|石|崔|吉|钮|龚|程|嵇|邢|滑|裴|陆|荣|翁|荀|羊|於|惠|甄|曲|家|封|芮|羿|储|靳|汲|邴|糜|松|井|段|富|巫|乌|焦|巴|弓|牧|隗|山|谷|车|侯|宓|蓬|全|郗|班|仰|秋|仲|伊|宫|宁|仇|栾|暴|甘|钭|厉|戎|祖|武|符|刘|景|詹|束|龙|叶|幸|司|韶|郜|黎|蓟|薄|印|宿|白|怀|蒲|邰|从|鄂|索|咸|籍|赖|卓|蔺|屠|蒙|池|乔|阴|胥|能|苍|双|闻|莘|党|翟|谭|贡|劳|逄|姬|申|扶|堵|冉|宰|郦|雍|郤|璩|桑|桂|濮|牛|寿|通|边|扈|燕|冀|郏|浦|尚|农|温|别|庄|晏|柴|瞿|阎|充|慕|连|茹|习|宦|艾|鱼|容|向|古|易|慎|戈|廖|庾|终|暨|居|衡|步|都|耿|满|弘|匡|国|文|寇|广|禄|阙|东|欧|殳|沃|利|蔚|越|夔|隆|师|巩|厍|聂|晁|勾|敖|融|冷|訾|辛|阚|那|简|饶|空|曾|毋|沙|乜|养|鞠|须|丰|巢|关|蒯|相|查|後|荆|红|游|竺|权|逯|盖|益|桓|公|万俟|司马|上官|欧阳|夏侯|诸葛|闻人|东方|赫连|皇甫|尉迟|公羊|澹台|公冶|宗政|濮阳|淳于|单于|太叔|申屠|公孙|仲孙|轩辕|令狐|钟离|宇文|长孙|慕容|鲜于|闾丘|司徒|司空|亓官|司寇|仉|督|子车|颛孙|端木|巫马|公西|漆雕|乐正|壤驷|公良|拓跋|夹谷|宰父|谷梁|晋|楚|闫|法|汝|鄢|涂|钦|段干|百里|东郭|南门|呼延|归|海|羊舌|微生|岳|帅|缑|亢|况|后|有|琴|梁丘|左丘|东门|西门|商|牟|佘|佴|伯|赏|南宫|墨|哈|谯|笪|年|爱|阳|佟|第五|言|福)[\u4e00-\u9fa5]{1,3}$"""; @@ -75,13 +78,14 @@ public static class Chars public const string RGX_INVITE_CODE = """^\d{8}$"""; - public const string RGX_MOBILE = """^1(3\d|4[5-9]|5[0-35-9]|6[6]|7[2-8]|8\d|9[0-35-9])\d{8}$"""; - public const string RGX_PASSWORD = """^(?![0-9]+$)(?![a-zA-Z]+$).{8,16}$"""; - public const string RGX_PAY_PASSWORD = """^\d{6}$"""; - public const string RGX_TELEPHONE = """^((\d{3,4}\-)|)\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$"""; - public const string RGX_URL = """^(https?|ftp):\/\/[^\s/$.?#].[^\s]*\.[^\s]{2,}$"""; - public const string RGX_USERNAME = """^[a-zA-Z0-9_]{4,16}$"""; - public const string RGX_VERIFY_CODE = """^\d{4}$"""; + public const string RGX_MOBILE = """^1(3\d|4[5-9]|5[0-35-9]|6[6]|7[2-8]|8\d|9[0-35-9])\d{8}$"""; + public const string RGX_PASSWORD = "^(?![0-9]+$)(?![a-zA-Z]+$).{8,16}$"; + public const string RGX_PAY_PASSWORD = """^\d{6}$"""; + public const string RGX_TELEPHONE = """^((\d{3,4}\-)|)\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$"""; + public const string RGX_UP_AND_LOWER_NUMBER = """^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$"""; + public const string RGX_URL = """^(https?|ftp):\/\/[^\s/$.?#].[^\s]*\.[^\s]{2,}$"""; + public const string RGX_USERNAME = "^[a-zA-Z0-9_]{4,16}$"; + public const string RGX_VERIFY_CODE = """^\d{4}$"""; public const string TPL_DATE_HH_MM_SS_FFFFFF = "HH:mm:ss.ffffff"; public const string TPL_DATE_YYYY_MM_DD = "yyyy-MM-dd"; diff --git a/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs b/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs index c7db970d..ef261438 100644 --- a/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs +++ b/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs @@ -11,6 +11,7 @@ namespace NetAdmin.Infrastructure.Constant; public static class Numbers { public const int BULK_REQ_LIMIT = 100; // 批量请求允许的最大数量 + public const int CONSOLE_LINE_LEN_LIMIT = 8192; // 控制台输出的最大长度 public const long DEF_SORT_VAL = 100; // 排序默认值 public const long DIC_CATALOG_ID_GEO_AREA = 379794295185413; // 字典目录编号-行政区划字典 public const int HEART_TIMEOUT_SECS = 600; // 心跳超时时间 diff --git a/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs b/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs index 3243ca6a..115f1be1 100644 --- a/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs +++ b/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs @@ -16,6 +16,7 @@ public enum FreeSqlInitOptions /// /// 同步数据库结构 /// + [ResourceDescription(nameof(Ln.同步数据库结构))] SyncStructure = 1 , @@ -23,6 +24,7 @@ public enum FreeSqlInitOptions /// /// 插入种子数据 /// + [ResourceDescription(nameof(Ln.插入种子数据))] InsertSeedData = 1 << 1 , @@ -30,5 +32,6 @@ public enum FreeSqlInitOptions /// /// 比较数据库结构 /// + [ResourceDescription(nameof(Ln.比较数据库结构))] CompareStructure = 1 << 2 } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs b/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs index 449053bb..d472f8ae 100644 --- a/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs +++ b/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs @@ -6,48 +6,54 @@ namespace NetAdmin.Infrastructure.Enums; public enum LogLevels { /// - /// Trace + /// 跟踪 /// + [ResourceDescription(nameof(Ln.跟踪))] [Display(Name = "[gray]TCE[/]", ShortName = "TCE")] Trace = 0 , /// - /// Debug + /// 调试 /// + [ResourceDescription(nameof(Ln.调试))] [Display(Name = "[gray]DBG[/]", ShortName = "DBG")] Debug = 1 , /// - /// Information + /// 信息 /// + [ResourceDescription(nameof(Ln.信息))] [Display(Name = "[green]INF[/]", ShortName = "INF")] Information = 2 , /// - /// Warning + /// 警告 /// + [ResourceDescription(nameof(Ln.警告))] [Display(Name = "[yellow]WRN[/]", ShortName = "WRN")] Warning = 3 , /// - /// Error + /// 错误 /// + [ResourceDescription(nameof(Ln.错误))] [Display(Name = "[red]ERR[/]", ShortName = "ERR")] Error = 4 , /// - /// Critical + /// 宕机 /// + [ResourceDescription(nameof(Ln.宕机))] [Display(Name = "[red]CTL[/]", ShortName = "CTL")] Critical = 5 } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs b/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs index b14dee5f..107161bd 100644 --- a/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs +++ b/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs @@ -7,7 +7,7 @@ namespace NetAdmin.Infrastructure.Enums; public enum Orders { /// - /// 顺序 + /// 顺序排序 /// [ResourceDescription(nameof(Ln.顺序排序))] Ascending = 1 @@ -15,7 +15,7 @@ public enum Orders , /// - /// 倒序 + /// 倒序排序 /// [ResourceDescription(nameof(Ln.倒序排序))] Descending = 2 diff --git a/src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs b/src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs new file mode 100644 index 00000000..ba41cee5 --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs @@ -0,0 +1,30 @@ +namespace NetAdmin.Infrastructure.Enums; + +/// +/// 站内信状态 +/// +[Export] +public enum UserSiteMsgStatues +{ + /// + /// 未读 + /// + [ResourceDescription(nameof(Ln.未读))] + Unread = 1 + + , + + /// + /// 已读 + /// + [ResourceDescription(nameof(Ln.已读))] + Read = 2 + + , + + /// + /// 删除 + /// + [ResourceDescription(nameof(Ln.删除))] + Deleted = 3 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs deleted file mode 100644 index c4e11bda..00000000 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace NetAdmin.Infrastructure.Exceptions.InvalidInput; - -/// -/// 无效输入异常 -/// -/// -/// 参数格式错误、内容校验错误等 -/// -#pragma warning disable RCS1194 -public sealed class NetAdminInvalidInputException : NetAdminException - #pragma warning restore RCS1194 -{ - /// - /// Initializes a new instance of the class. - /// - public NetAdminInvalidInputException(string message = null, Exception innerException = null) // - : base(ErrorCodes.InvalidInput, message, innerException) { } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs deleted file mode 100644 index fb8f47e8..00000000 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace NetAdmin.Infrastructure.Exceptions.InvalidOperation; - -/// -/// 无效操作异常 -/// -/// -/// 非正常的业务流程或逻辑 -/// -#pragma warning disable RCS1194, DesignedForInheritance -public class NetAdminInvalidOperationException : NetAdminException - #pragma warning restore DesignedForInheritance, RCS1194 -{ - /// - /// Initializes a new instance of the class. - /// - public NetAdminInvalidOperationException(string message = null, Exception innerException = null) // - : base(ErrorCodes.InvalidOperation, message, innerException) { } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs index 6d436145..fe80f205 100644 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs @@ -1,23 +1,34 @@ namespace NetAdmin.Infrastructure.Exceptions; /// -/// Line异常基类 +/// NetAdmin异常基类 /// #pragma warning disable RCS1194 public abstract class NetAdminException : Exception #pragma warning restore RCS1194 { + /// + /// Initializes a new instance of the class. + /// + protected NetAdminException() { } + /// /// Initializes a new instance of the class. /// protected NetAdminException(ErrorCodes code, string message = null, Exception innerException = null) // - : base(message, innerException) + : this(message, innerException) { Code = code; } + /// + /// Initializes a new instance of the class. + /// + protected NetAdminException(string message, Exception innerException) // + : base(message, innerException) { } + /// /// 错误码 /// - public ErrorCodes Code { get; } + public ErrorCodes Code { get; set; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminGetLockerException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminGetLockerException.cs similarity index 78% rename from src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminGetLockerException.cs rename to src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminGetLockerException.cs index b391aa01..16e92b64 100644 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminGetLockerException.cs +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminGetLockerException.cs @@ -1,4 +1,4 @@ -namespace NetAdmin.Infrastructure.Exceptions.Unexpected; +namespace NetAdmin.Infrastructure.Exceptions; /// /// 加锁失败异常 diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs new file mode 100644 index 00000000..7aa0f12c --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs @@ -0,0 +1,14 @@ +namespace NetAdmin.Infrastructure.Exceptions; + +/// +/// 无效输入异常 +/// +/// +/// 参数格式错误、内容校验错误等 +/// +#pragma warning disable RCS1194 +public sealed class NetAdminInvalidInputException + (string message = null, Exception innerException = null) : NetAdminException( + ErrorCodes.InvalidInput, message, innerException) + #pragma warning restore RCS1194 +{ } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs new file mode 100644 index 00000000..b5fda36f --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs @@ -0,0 +1,24 @@ +namespace NetAdmin.Infrastructure.Exceptions; + +/// +/// 无效操作异常 +/// +/// +/// 非正常的业务流程或逻辑 +/// +#pragma warning disable RCS1194, DesignedForInheritance +public class NetAdminInvalidOperationException : NetAdminException + #pragma warning restore DesignedForInheritance, RCS1194 +{ + /// + /// Initializes a new instance of the class. + /// + public NetAdminInvalidOperationException(string message, Exception innerException = null) // + : this(ErrorCodes.InvalidOperation, message, innerException) { } + + /// + /// Initializes a new instance of the class. + /// + protected NetAdminInvalidOperationException(ErrorCodes errorCode, string message, Exception innerException) // + : base(errorCode, message, innerException) { } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs new file mode 100644 index 00000000..895862e9 --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs @@ -0,0 +1,30 @@ +namespace NetAdmin.Infrastructure.Exceptions; + +/// +/// 非预期结果异常 +/// +/// +/// 运行结果是非预期的,例如事务失败回滚 +/// +#pragma warning disable RCS1194, DesignedForInheritance +public class NetAdminUnexpectedException : NetAdminException + #pragma warning restore DesignedForInheritance, RCS1194 +{ + /// + /// Initializes a new instance of the class. + /// + public NetAdminUnexpectedException(string message) // + : this(ErrorCodes.Unexpected, message) { } + + /// + /// Initializes a new instance of the class. + /// + public NetAdminUnexpectedException() // + : this(string.Empty) { } + + /// + /// Initializes a new instance of the class. + /// + protected NetAdminUnexpectedException(ErrorCodes errorCode, string message) // + : base(errorCode, message) { } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs deleted file mode 100644 index f22f21d6..00000000 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace NetAdmin.Infrastructure.Exceptions.Unexpected; - -/// -/// 非预期结果异常 -/// -/// -/// 运行结果是非预期的,例如事务失败回滚 -/// -#pragma warning disable RCS1194, DesignedForInheritance -public class NetAdminUnexpectedException : NetAdminException - #pragma warning restore DesignedForInheritance, RCS1194 -{ - /// - /// Initializes a new instance of the class. - /// - public NetAdminUnexpectedException(string message = null, Exception innerException = null) // - : base(ErrorCodes.Unexpected, message, innerException) { } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs index 1b577a1a..24812ec2 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs @@ -20,16 +20,16 @@ public static class HttpRequestPartExtensions #pragma warning restore IDE0058 } - async void ResponseHandle(HttpClient _, HttpResponseMessage rsp) - { - await rsp.LogAsync(logger, bodyHandle); - } + return me.OnRequesting(RequestHandle).OnResponsing(ResponseHandle).OnException(ExceptionHandle); async void ExceptionHandle(HttpClient _, HttpResponseMessage rsp, string errors) { await rsp.LogExceptionAsync(errors, logger, bodyHandle); } - return me.OnRequesting(RequestHandle).OnResponsing(ResponseHandle).OnException(ExceptionHandle); + async void ResponseHandle(HttpClient _, HttpResponseMessage rsp) + { + await rsp.LogAsync(logger, bodyHandle); + } } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs index b7545d96..1444ce13 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs @@ -10,6 +10,6 @@ public static class ObjectExtensions /// public static string ToJson(this object me) { - return me.Json(Global.JsonSerializerOptions); + return me.Json(GlobalStatic.JsonSerializerOptions); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs index 033a7a0a..0cf4bf93 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs @@ -5,12 +5,14 @@ namespace NetAdmin.Infrastructure.Extensions; /// public static class StringExtensions { + private static readonly Regex _regex = new("Options$"); + /// /// object -> json /// public static T ToObject(this string me) { - return me.Object(Global.JsonSerializerOptions); + return me.Object(GlobalStatic.JsonSerializerOptions); } /// @@ -18,7 +20,7 @@ public static class StringExtensions /// public static object ToObject(this string me, Type toType) { - return me.Object(toType, Global.JsonSerializerOptions); + return me.Object(toType, GlobalStatic.JsonSerializerOptions); } /// @@ -26,6 +28,6 @@ public static class StringExtensions /// public static string TrimEndOptions(this string me) { - return Regex.Replace(me, "Options$", string.Empty); + return _regex.Replace(me, string.Empty); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Global.cs b/src/backend/NetAdmin.Infrastructure/GlobalStatic.cs similarity index 74% rename from src/backend/NetAdmin.Infrastructure/Global.cs rename to src/backend/NetAdmin.Infrastructure/GlobalStatic.cs index 5492a96f..d8e0aac8 100644 --- a/src/backend/NetAdmin.Infrastructure/Global.cs +++ b/src/backend/NetAdmin.Infrastructure/GlobalStatic.cs @@ -3,7 +3,7 @@ namespace NetAdmin.Infrastructure; /// /// 全局静态类 /// -public static class Global +public static class GlobalStatic { /// /// 产品版本 @@ -11,6 +11,17 @@ public static class Global public static readonly string ProductVersion = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly()!.Location).ProductVersion; + /// + /// 调试模式 + /// + public static bool DebugMode => + #if DEBUG + true + #else + false + #endif + ; + /// /// 系统内部密钥 /// diff --git a/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj b/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj index d39dcd14..0d909654 100644 --- a/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj +++ b/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - + + INFRAS + + + + + + + + + + + + + + + + + + + + PreserveNewest + + \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs index b30f415a..c64a5bd4 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs @@ -11,10 +11,19 @@ public static class ApplicationHelper public static Dictionary GetEnvironmentInfo() { var ret = typeof(Environment).GetProperties(BindingFlags.Public | BindingFlags.Static) - .Where(x => x.Name != nameof(Environment.StackTrace)) + .Where(x => x.Name is not (nameof(Environment.StackTrace) + or nameof(Environment.NewLine))) .ToDictionary(x => x.Name, x => x.GetValue(null)); - _ = ret.TryAdd( // - "Environment", Environment.GetEnvironmentVariables().ToJson()); + + var vars = Environment.GetEnvironmentVariables(); + var keys = new ArrayList(vars.Keys); + keys.Sort(); + var sb = new StringBuilder(vars.Count); + foreach (var key in keys) { + _ = sb.AppendLine(CultureInfo.InvariantCulture, $"{key}: {vars[key]}"); + } + + _ = ret.TryAdd("EnvironmentVars", sb.ToString().Trim()); return ret; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs index 637d3437..5c716b06 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs @@ -12,6 +12,8 @@ namespace NetAdmin.Infrastructure.Utils; /// public static class CaptchaImageHelper { + private static readonly int[] _randRange = { 70, 100 }; + /// /// 创建一个缺口滑块验证码图片 /// @@ -75,7 +77,7 @@ public static class CaptchaImageHelper // ReSharper disable once AccessToDisposedClosure sliderBlockImage.Mutate(x => x.DrawImage(blockImage, new Point(0, offsetRand.Y), 1)); - var opacity = (float)(new[] { 70, 100 }.Rand() * 0.01); + var opacity = (float)(_randRange.Rand() * 0.01); // 底图叠加深色模板图 // ReSharper disable once AccessToDisposedClosure diff --git a/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs b/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs index 3d7c6e40..cf04c104 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs @@ -6,27 +6,16 @@ namespace NetAdmin.Infrastructure.Utils; /// /// FreeSqlBuilder /// -public sealed class FreeSqlBuilder +public sealed class FreeSqlBuilder(DatabaseOptions databaseOptions) { - private readonly DatabaseOptions _databaseOptions; - - /// - /// Initializes a new instance of the class. - /// - public FreeSqlBuilder(DatabaseOptions databaseOptions) - { - _databaseOptions = databaseOptions; - } - /// /// 构建freeSql对象 /// public IFreeSql Build(FreeSqlInitOptions initOptions) { - var freeSql = new FreeSql.FreeSqlBuilder() - .UseConnectionString(_databaseOptions.DbType, _databaseOptions.ConnStr) - .UseAutoSyncStructure(false) - .Build(); + var freeSql = new FreeSql.FreeSqlBuilder().UseConnectionString(databaseOptions.DbType, databaseOptions.ConnStr) + .UseAutoSyncStructure(false) + .Build(); _ = InitDbAsync(freeSql, initOptions); // 初始化数据库 ,异步 return freeSql; @@ -98,7 +87,7 @@ public sealed class FreeSqlBuilder private void InsertSeedData(IFreeSql freeSql, IEnumerable entityTypes) { foreach (var entityType in entityTypes) { - var file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _databaseOptions.SeedDataRelativePath + var file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, databaseOptions.SeedDataRelativePath , $"{entityType.Name}.json"); if (!File.Exists(file)) { continue; @@ -136,7 +125,7 @@ public sealed class FreeSqlBuilder /// private void SyncStructure(IFreeSql freeSql, Type[] entityTypes) { - if (_databaseOptions.DbType == DataType.Oracle) { + if (databaseOptions.DbType == DataType.Oracle) { freeSql.CodeFirst.IsSyncStructureToUpper = true; } diff --git a/src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs new file mode 100644 index 00000000..e284a320 --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs @@ -0,0 +1,1036 @@ +namespace NetAdmin.Infrastructure.Utils; + +/// +/// MIME类型帮助类 +/// +public static class MimeTypeHelper +{ + private const string _MIME_TYPES_RAW_STRING = """ + 123 application/vnd.lotus-1-2-3 + 3dml text/vnd.in3d.3dml + 3ds image/x-3ds + 3g2 video/3gpp2 + 3gp video/3gpp + 7z application/x-7z-compressed + aab application/x-authorware-bin + aac audio/x-aac + aam application/x-authorware-map + aas application/x-authorware-seg + abs audio/x-mpeg + abw application/x-abiword + ac application/pkix-attr-cert + acc application/vnd.americandynamics.acc + ace application/x-ace-compressed + acu application/vnd.acucobol + acutc application/vnd.acucorp + adp audio/adpcm + aep application/vnd.audiograph + afm application/x-font-type1 + afp application/vnd.ibm.modcap + ahead application/vnd.ahead.space + ai application/postscript + aif audio/x-aiff + aifc audio/x-aiff + aiff audio/x-aiff + aim application/x-aim + air application/vnd.adobe.air-application-installer-package+zip + ait application/vnd.dvb.ait + ami application/vnd.amiga.ami + anx application/annodex + apk application/vnd.android.package-archive + appcache text/cache-manifest + application application/x-ms-application + apr application/vnd.lotus-approach + arc application/x-freearc + art image/x-jg + asc application/pgp-signature + asf video/x-ms-asf + asm text/x-asm + aso application/vnd.accpac.simply.aso + asx video/x-ms-asf + atc application/vnd.acucorp + atom application/atom+xml + atomcat application/atomcat+xml + atomsvc application/atomsvc+xml + atx application/vnd.antix.game-component + au audio/basic + avi video/x-msvideo + avx video/x-rad-screenplay + aw application/applixware + axa audio/annodex + axv video/annodex + azf application/vnd.airzip.filesecure.azf + azs application/vnd.airzip.filesecure.azs + azw application/vnd.amazon.ebook + bat application/x-msdownload + bcpio application/x-bcpio + bdf application/x-font-bdf + bdm application/vnd.syncml.dm+wbxml + bed application/vnd.realvnc.bed + bh2 application/vnd.fujitsu.oasysprs + bin application/octet-stream + blb application/x-blorb + blorb application/x-blorb + bmi application/vnd.bmi + bmp image/bmp + body text/html + book application/vnd.framemaker + box application/vnd.previewsystems.box + boz application/x-bzip2 + bpk application/octet-stream + btif image/prs.btif + bz application/x-bzip + bz2 application/x-bzip2 + c text/x-c + c11amc application/vnd.cluetrust.cartomobile-config + c11amz application/vnd.cluetrust.cartomobile-config-pkg + c4d application/vnd.clonk.c4group + c4f application/vnd.clonk.c4group + c4g application/vnd.clonk.c4group + c4p application/vnd.clonk.c4group + c4u application/vnd.clonk.c4group + cab application/vnd.ms-cab-compressed + caf audio/x-caf + cap application/vnd.tcpdump.pcap + car application/vnd.curl.car + cat application/vnd.ms-pki.seccat + cb7 application/x-cbr + cba application/x-cbr + cbr application/x-cbr + cbt application/x-cbr + cbz application/x-cbr + cc text/x-c + cct application/x-director + ccxml application/ccxml+xml + cdbcmsg application/vnd.contact.cmsg + cdf application/x-cdf + cdkey application/vnd.mediastation.cdkey + cdmia application/cdmi-capability + cdmic application/cdmi-container + cdmid application/cdmi-domain + cdmio application/cdmi-object + cdmiq application/cdmi-queue + cdx chemical/x-cdx + cdxml application/vnd.chemdraw+xml + cdy application/vnd.cinderella + cer application/pkix-cert + cfs application/x-cfs-compressed + cgm image/cgm + chat application/x-chat + chm application/vnd.ms-htmlhelp + chrt application/vnd.kde.kchart + cif chemical/x-cif + cii application/vnd.anser-web-certificate-issue-initiation + cil application/vnd.ms-artgalry + cla application/vnd.claymore + class application/java + clkk application/vnd.crick.clicker.keyboard + clkp application/vnd.crick.clicker.palette + clkt application/vnd.crick.clicker.template + clkw application/vnd.crick.clicker.wordbank + clkx application/vnd.crick.clicker + clp application/x-msclip + cmc application/vnd.cosmocaller + cmdf chemical/x-cmdf + cml chemical/x-cml + cmp application/vnd.yellowriver-custom-menu + cmx image/x-cmx + cod application/vnd.rim.cod + com application/x-msdownload + conf text/plain + cpio application/x-cpio + cpp text/x-c + cpt application/mac-compactpro + crd application/x-mscardfile + crl application/pkix-crl + crt application/x-x509-ca-cert + cryptonote application/vnd.rig.cryptonote + csh application/x-csh + csml chemical/x-csml + csp application/vnd.commonspace + css text/css + cst application/x-director + csv text/csv + cu application/cu-seeme + curl text/vnd.curl + cww application/prs.cww + cxt application/x-director + cxx text/x-c + dae model/vnd.collada+xml + daf application/vnd.mobius.daf + dart application/vnd.dart + dataless application/vnd.fdsn.seed + davmount application/davmount+xml + dbk application/docbook+xml + dcr application/x-director + dcurl text/vnd.curl.dcurl + dd2 application/vnd.oma.dd2+xml + ddd application/vnd.fujixerox.ddd + deb application/x-debian-package + def text/plain + deploy application/octet-stream + der application/x-x509-ca-cert + dfac application/vnd.dreamfactory + dgc application/x-dgc-compressed + dib image/bmp + dic text/x-c + dir application/x-director + dis application/vnd.mobius.dis + dist application/octet-stream + distz application/octet-stream + djv image/vnd.djvu + djvu image/vnd.djvu + dll application/x-msdownload + dmg application/x-apple-diskimage + dmp application/vnd.tcpdump.pcap + dms application/octet-stream + dna application/vnd.dna + doc application/msword + docm application/vnd.ms-word.document.macroenabled.12 + docx application/vnd.openxmlformats-officedocument.wordprocessingml.document + dot application/msword + dotm application/vnd.ms-word.template.macroenabled.12 + dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template + dp application/vnd.osgi.dp + dpg application/vnd.dpgraph + dra audio/vnd.dra + dsc text/prs.lines.tag + dssc application/dssc+der + dtb application/x-dtbook+xml + dtd application/xml-dtd + dts audio/vnd.dts + dtshd audio/vnd.dts.hd + dump application/octet-stream + dv video/x-dv + dvb video/vnd.dvb.file + dvi application/x-dvi + dwf model/vnd.dwf + dwg image/vnd.dwg + dxf image/vnd.dxf + dxp application/vnd.spotfire.dxp + dxr application/x-director + ecelp4800 audio/vnd.nuera.ecelp4800 + ecelp7470 audio/vnd.nuera.ecelp7470 + ecelp9600 audio/vnd.nuera.ecelp9600 + ecma application/ecmascript + edm application/vnd.novadigm.edm + edx application/vnd.novadigm.edx + efif application/vnd.picsel + ei6 application/vnd.pg.osasli + elc application/octet-stream + emf application/x-msmetafile + eml message/rfc822 + emma application/emma+xml + emz application/x-msmetafile + eol audio/vnd.digital-winds + eot application/vnd.ms-fontobject + eps application/postscript + epub application/epub+zip + es3 application/vnd.eszigno3+xml + esa application/vnd.osgi.subsystem + esf application/vnd.epson.esf + et3 application/vnd.eszigno3+xml + etx text/x-setext + eva application/x-eva + evy application/x-envoy + exe application/octet-stream + exi application/exi + ext application/vnd.novadigm.ext + ez application/andrew-inset + ez2 application/vnd.ezpix-album + ez3 application/vnd.ezpix-package + f text/x-fortran + f4v video/x-f4v + f77 text/x-fortran + f90 text/x-fortran + fbs image/vnd.fastbidsheet + fcdt application/vnd.adobe.formscentral.fcdt + fcs application/vnd.isac.fcs + fdf application/vnd.fdf + fe_launch application/vnd.denovo.fcselayout-link + fg5 application/vnd.fujitsu.oasysgp + fgd application/x-director + fh image/x-freehand + fh4 image/x-freehand + fh5 image/x-freehand + fh7 image/x-freehand + fhc image/x-freehand + fig application/x-xfig + flac audio/flac + fli video/x-fli + flo application/vnd.micrografx.flo + flv video/x-flv + flw application/vnd.kde.kivio + flx text/vnd.fmi.flexstor + fly text/vnd.fly + fm application/vnd.framemaker + fnc application/vnd.frogans.fnc + for text/x-fortran + fpx image/vnd.fpx + frame application/vnd.framemaker + fsc application/vnd.fsc.weblaunch + fst image/vnd.fst + ftc application/vnd.fluxtime.clip + fti application/vnd.anser-web-funds-transfer-initiation + fvt video/vnd.fvt + fxp application/vnd.adobe.fxp + fxpl application/vnd.adobe.fxp + fzs application/vnd.fuzzysheet + g2w application/vnd.geoplan + g3 image/g3fax + g3w application/vnd.geospace + gac application/vnd.groove-account + gam application/x-tads + gbr application/rpki-ghostbusters + gca application/x-gca-compressed + gdl model/vnd.gdl + geo application/vnd.dynageo + gex application/vnd.geometry-explorer + ggb application/vnd.geogebra.file + ggt application/vnd.geogebra.tool + ghf application/vnd.groove-help + gif image/gif + gim application/vnd.groove-identity-message + gml application/gml+xml + gmx application/vnd.gmx + gnumeric application/x-gnumeric + gph application/vnd.flographit + gpx application/gpx+xml + gqf application/vnd.grafeq + gqs application/vnd.grafeq + gram application/srgs + gramps application/x-gramps-xml + gre application/vnd.geometry-explorer + grv application/vnd.groove-injector + grxml application/srgs+xml + gsf application/x-font-ghostscript + gtar application/x-gtar + gtm application/vnd.groove-tool-message + gtw model/vnd.gtw + gv text/vnd.graphviz + gxf application/gxf + gxt application/vnd.geonext + gz application/x-gzip + h text/x-c + h261 video/h261 + h263 video/h263 + h264 video/h264 + hal application/vnd.hal+xml + hbci application/vnd.hbci + hdf application/x-hdf + hh text/x-c + hlp application/winhlp + hpgl application/vnd.hp-hpgl + hpid application/vnd.hp-hpid + hps application/vnd.hp-hps + hqx application/mac-binhex40 + htc text/x-component + htke application/vnd.kenameaapp + htm text/html + html text/html + hvd application/vnd.yamaha.hv-dic + hvp application/vnd.yamaha.hv-voice + hvs application/vnd.yamaha.hv-script + i2g application/vnd.intergeo + icc application/vnd.iccprofile + ice x-conference/x-cooltalk + icm application/vnd.iccprofile + ico image/x-icon + ics text/calendar + ief image/ief + ifb text/calendar + ifm application/vnd.shana.informed.formdata + iges model/iges + igl application/vnd.igloader + igm application/vnd.insors.igm + igs model/iges + igx application/vnd.micrografx.igx + iif application/vnd.shana.informed.interchange + imp application/vnd.accpac.simply.imp + ims application/vnd.ms-ims + in text/plain + ink application/inkml+xml + inkml application/inkml+xml + install application/x-install-instructions + iota application/vnd.astraea-software.iota + ipfix application/ipfix + ipk application/vnd.shana.informed.package + irm application/vnd.ibm.rights-management + irp application/vnd.irepository.package+xml + iso application/x-iso9660-image + itp application/vnd.shana.informed.formtemplate + ivp application/vnd.immervision-ivp + ivu application/vnd.immervision-ivu + jad text/vnd.sun.j2me.app-descriptor + jam application/vnd.jam + jar application/java-archive + java text/x-java-source + jisp application/vnd.jisp + jlt application/vnd.hp-jlyt + jnlp application/x-java-jnlp-file + joda application/vnd.joost.joda-archive + jpe image/jpeg + jpeg image/jpeg + jpg image/jpeg + jpgm video/jpm + jpgv video/jpeg + jpm video/jpm + js application/javascript + jsf text/plain + json application/json + jsonml application/jsonml+json + jspf text/plain + kar audio/midi + karbon application/vnd.kde.karbon + kfo application/vnd.kde.kformula + kia application/vnd.kidspiration + kml application/vnd.google-earth.kml+xml + kmz application/vnd.google-earth.kmz + kne application/vnd.kinar + knp application/vnd.kinar + kon application/vnd.kde.kontour + kpr application/vnd.kde.kpresenter + kpt application/vnd.kde.kpresenter + kpxx application/vnd.ds-keypoint + ksp application/vnd.kde.kspread + ktr application/vnd.kahootz + ktx image/ktx + ktz application/vnd.kahootz + kwd application/vnd.kde.kword + kwt application/vnd.kde.kword + lasxml application/vnd.las.las+xml + latex application/x-latex + lbd application/vnd.llamagraphics.life-balance.desktop + lbe application/vnd.llamagraphics.life-balance.exchange+xml + les application/vnd.hhe.lesson-player + lha application/x-lzh-compressed + link66 application/vnd.route66.link66+xml + list text/plain + list3820 application/vnd.ibm.modcap + listafp application/vnd.ibm.modcap + lnk application/x-ms-shortcut + log text/plain + lostxml application/lost+xml + lrf application/octet-stream + lrm application/vnd.ms-lrm + ltf application/vnd.frogans.ltf + lvp audio/vnd.lucent.voice + lwp application/vnd.lotus-wordpro + lzh application/x-lzh-compressed + m13 application/x-msmediaview + m14 application/x-msmediaview + m1v video/mpeg + m21 application/mp21 + m2a audio/mpeg + m2v video/mpeg + m3a audio/mpeg + m3u audio/x-mpegurl + m3u8 application/vnd.apple.mpegurl + m4a audio/mp4 + m4b audio/mp4 + m4r audio/mp4 + m4u video/vnd.mpegurl + m4v video/mp4 + ma application/mathematica + mac image/x-macpaint + mads application/mads+xml + mag application/vnd.ecowin.chart + maker application/vnd.framemaker + man text/troff + mar application/octet-stream + mathml application/mathml+xml + mb application/mathematica + mbk application/vnd.mobius.mbk + mbox application/mbox + mc1 application/vnd.medcalcdata + mcd application/vnd.mcd + mcurl text/vnd.curl.mcurl + mdb application/x-msaccess + mdi image/vnd.ms-modi + me text/troff + mesh model/mesh + meta4 application/metalink4+xml + metalink application/metalink+xml + mets application/mets+xml + mfm application/vnd.mfmp + mft application/rpki-manifest + mgp application/vnd.osgeo.mapguide.package + mgz application/vnd.proteus.magazine + mid audio/midi + midi audio/midi + mie application/x-mie + mif application/x-mif + mime message/rfc822 + mj2 video/mj2 + mjp2 video/mj2 + mk3d video/x-matroska + mka audio/x-matroska + mks video/x-matroska + mkv video/x-matroska + mlp application/vnd.dolby.mlp + mmd application/vnd.chipnuts.karaoke-mmd + mmf application/vnd.smaf + mmr image/vnd.fujixerox.edmics-mmr + mng video/x-mng + mny application/x-msmoney + mobi application/x-mobipocket-ebook + mods application/mods+xml + mov video/quicktime + movie video/x-sgi-movie + mp1 audio/mpeg + mp2 audio/mpeg + mp21 application/mp21 + mp2a audio/mpeg + mp3 audio/mpeg + mp4 video/mp4 + mp4a audio/mp4 + mp4s application/mp4 + mp4v video/mp4 + mpa audio/mpeg + mpc application/vnd.mophun.certificate + mpe video/mpeg + mpeg video/mpeg + mpega audio/x-mpeg + mpg video/mpeg + mpg4 video/mp4 + mpga audio/mpeg + mpkg application/vnd.apple.installer+xml + mpm application/vnd.blueice.multipass + mpn application/vnd.mophun.application + mpp application/vnd.ms-project + mpt application/vnd.ms-project + mpv2 video/mpeg2 + mpy application/vnd.ibm.minipay + mqy application/vnd.mobius.mqy + mrc application/marc + mrcx application/marcxml+xml + ms text/troff + mscml application/mediaservercontrol+xml + mseed application/vnd.fdsn.mseed + mseq application/vnd.mseq + msf application/vnd.epson.msf + msh model/mesh + msi application/x-msdownload + msl application/vnd.mobius.msl + msty application/vnd.muvee.style + mts model/vnd.mts + mus application/vnd.musician + musicxml application/vnd.recordare.musicxml+xml + mvb application/x-msmediaview + mwf application/vnd.mfer + mxf application/mxf + mxl application/vnd.recordare.musicxml + mxml application/xv+xml + mxs application/vnd.triscape.mxs + mxu video/vnd.mpegurl + n-gage application/vnd.nokia.n-gage.symbian.install + n3 text/n3 + nb application/mathematica + nbp application/vnd.wolfram.player + nc application/x-netcdf + ncx application/x-dtbncx+xml + nfo text/x-nfo + ngdat application/vnd.nokia.n-gage.data + nitf application/vnd.nitf + nlu application/vnd.neurolanguage.nlu + nml application/vnd.enliven + nnd application/vnd.noblenet-directory + nns application/vnd.noblenet-sealer + nnw application/vnd.noblenet-web + npx image/vnd.net-fpx + nsc application/x-conference + nsf application/vnd.lotus-notes + ntf application/vnd.nitf + nzb application/x-nzb + oa2 application/vnd.fujitsu.oasys2 + oa3 application/vnd.fujitsu.oasys3 + oas application/vnd.fujitsu.oasys + obd application/x-msbinder + obj application/x-tgif + oda application/oda + odb application/vnd.oasis.opendocument.database + odc application/vnd.oasis.opendocument.chart + odf application/vnd.oasis.opendocument.formula + odft application/vnd.oasis.opendocument.formula-template + odg application/vnd.oasis.opendocument.graphics + odi application/vnd.oasis.opendocument.image + odm application/vnd.oasis.opendocument.text-master + odp application/vnd.oasis.opendocument.presentation + ods application/vnd.oasis.opendocument.spreadsheet + odt application/vnd.oasis.opendocument.text + oga audio/ogg + ogg audio/ogg + ogv video/ogg + ogx application/ogg + omdoc application/omdoc+xml + onepkg application/onenote + onetmp application/onenote + onetoc application/onenote + onetoc2 application/onenote + opf application/oebps-package+xml + opml text/x-opml + oprc application/vnd.palm + org application/vnd.lotus-organizer + osf application/vnd.yamaha.openscoreformat + osfpvg application/vnd.yamaha.openscoreformat.osfpvg+xml + otc application/vnd.oasis.opendocument.chart-template + otf application/x-font-otf + otg application/vnd.oasis.opendocument.graphics-template + oth application/vnd.oasis.opendocument.text-web + oti application/vnd.oasis.opendocument.image-template + otp application/vnd.oasis.opendocument.presentation-template + ots application/vnd.oasis.opendocument.spreadsheet-template + ott application/vnd.oasis.opendocument.text-template + oxps application/oxps + oxt application/vnd.openofficeorg.extension + p text/x-pascal + p10 application/pkcs10 + p12 application/x-pkcs12 + p7b application/x-pkcs7-certificates + p7c application/pkcs7-mime + p7m application/pkcs7-mime + p7r application/x-pkcs7-certreqresp + p7s application/pkcs7-signature + p8 application/pkcs8 + pas text/x-pascal + paw application/vnd.pawaafile + pbd application/vnd.powerbuilder6 + pbm image/x-portable-bitmap + pcap application/vnd.tcpdump.pcap + pcf application/x-font-pcf + pcl application/vnd.hp-pcl + pclxl application/vnd.hp-pclxl + pct image/pict + pcurl application/vnd.curl.pcurl + pcx image/x-pcx + pdb application/vnd.palm + pdf application/pdf + pfa application/x-font-type1 + pfb application/x-font-type1 + pfm application/x-font-type1 + pfr application/font-tdpfr + pfx application/x-pkcs12 + pgm image/x-portable-graymap + pgn application/x-chess-pgn + pgp application/pgp-encrypted + pic image/pict + pict image/pict + pkg application/octet-stream + pki application/pkixcmp + pkipath application/pkix-pkipath + plb application/vnd.3gpp.pic-bw-large + plc application/vnd.mobius.plc + plf application/vnd.pocketlearn + pls audio/x-scpls + pml application/vnd.ctc-posml + png image/png + pnm image/x-portable-anymap + pnt image/x-macpaint + portpkg application/vnd.macports.portpkg + pot application/vnd.ms-powerpoint + potm application/vnd.ms-powerpoint.template.macroenabled.12 + potx application/vnd.openxmlformats-officedocument.presentationml.template + ppam application/vnd.ms-powerpoint.addin.macroenabled.12 + ppd application/vnd.cups-ppd + ppm image/x-portable-pixmap + pps application/vnd.ms-powerpoint + ppsm application/vnd.ms-powerpoint.slideshow.macroenabled.12 + ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow + ppt application/vnd.ms-powerpoint + pptm application/vnd.ms-powerpoint.presentation.macroenabled.12 + pptx application/vnd.openxmlformats-officedocument.presentationml.presentation + pqa application/vnd.palm + prc application/x-mobipocket-ebook + pre application/vnd.lotus-freelance + prf application/pics-rules + ps application/postscript + psb application/vnd.3gpp.pic-bw-small + psd image/vnd.adobe.photoshop + psf application/x-font-linux-psf + pskcxml application/pskc+xml + ptid application/vnd.pvi.ptid1 + pub application/x-mspublisher + pvb application/vnd.3gpp.pic-bw-var + pwn application/vnd.3m.post-it-notes + pya audio/vnd.ms-playready.media.pya + pyv video/vnd.ms-playready.media.pyv + qam application/vnd.epson.quickanime + qbo application/vnd.intu.qbo + qfx application/vnd.intu.qfx + qps application/vnd.publishare-delta-tree + qt video/quicktime + qti image/x-quicktime + qtif image/x-quicktime + qwd application/vnd.quark.quarkxpress + qwt application/vnd.quark.quarkxpress + qxb application/vnd.quark.quarkxpress + qxd application/vnd.quark.quarkxpress + qxl application/vnd.quark.quarkxpress + qxt application/vnd.quark.quarkxpress + ra audio/x-pn-realaudio + ram audio/x-pn-realaudio + rar application/x-rar-compressed + ras image/x-cmu-raster + rcprofile application/vnd.ipunplugged.rcprofile + rdf application/rdf+xml + rdz application/vnd.data-vision.rdz + rep application/vnd.businessobjects + res application/x-dtbresource+xml + rgb image/x-rgb + rif application/reginfo+xml + rip audio/vnd.rip + ris application/x-research-info-systems + rl application/resource-lists+xml + rlc image/vnd.fujixerox.edmics-rlc + rld application/resource-lists-diff+xml + rm application/vnd.rn-realmedia + rmi audio/midi + rmp audio/x-pn-realaudio-plugin + rms application/vnd.jcp.javame.midlet-rms + rmvb application/vnd.rn-realmedia-vbr + rnc application/relax-ng-compact-syntax + roa application/rpki-roa + roff text/troff + rp9 application/vnd.cloanto.rp9 + rpss application/vnd.nokia.radio-presets + rpst application/vnd.nokia.radio-preset + rq application/sparql-query + rs application/rls-services+xml + rsd application/rsd+xml + rss application/rss+xml + rtf application/rtf + rtx text/richtext + s text/x-asm + s3m audio/s3m + saf application/vnd.yamaha.smaf-audio + sbml application/sbml+xml + sc application/vnd.ibm.secure-container + scd application/x-msschedule + scm application/vnd.lotus-screencam + scq application/scvp-cv-request + scs application/scvp-cv-response + scurl text/vnd.curl.scurl + sda application/vnd.stardivision.draw + sdc application/vnd.stardivision.calc + sdd application/vnd.stardivision.impress + sdkd application/vnd.solent.sdkm+xml + sdkm application/vnd.solent.sdkm+xml + sdp application/sdp + sdw application/vnd.stardivision.writer + see application/vnd.seemail + seed application/vnd.fdsn.seed + sema application/vnd.sema + semd application/vnd.semd + semf application/vnd.semf + ser application/java-serialized-object + setpay application/set-payment-initiation + setreg application/set-registration-initiation + sfd-hdstx application/vnd.hydrostatix.sof-data + sfs application/vnd.spotfire.sfs + sfv text/x-sfv + sgi image/sgi + sgl application/vnd.stardivision.writer-global + sgm text/sgml + sgml text/sgml + sh application/x-sh + shar application/x-shar + shf application/shf+xml + sid image/x-mrsid-image + sig application/pgp-signature + sil audio/silk + silo model/mesh + sis application/vnd.symbian.install + sisx application/vnd.symbian.install + sit application/x-stuffit + sitx application/x-stuffitx + skd application/vnd.koan + skm application/vnd.koan + skp application/vnd.koan + skt application/vnd.koan + sldm application/vnd.ms-powerpoint.slide.macroenabled.12 + sldx application/vnd.openxmlformats-officedocument.presentationml.slide + slt application/vnd.epson.salt + sm application/vnd.stepmania.stepchart + smf application/vnd.stardivision.math + smi application/smil+xml + smil application/smil+xml + smv video/x-smv + smzip application/vnd.stepmania.package + snd audio/basic + snf application/x-font-snf + so application/octet-stream + spc application/x-pkcs7-certificates + spf application/vnd.yamaha.smaf-phrase + spl application/x-futuresplash + spot text/vnd.in3d.spot + spp application/scvp-vp-response + spq application/scvp-vp-request + spx audio/ogg + sql application/x-sql + src application/x-wais-source + srt application/x-subrip + sru application/sru+xml + srx application/sparql-results+xml + ssdl application/ssdl+xml + sse application/vnd.kodak-descriptor + ssf application/vnd.epson.ssf + ssml application/ssml+xml + st application/vnd.sailingtracker.track + stc application/vnd.sun.xml.calc.template + std application/vnd.sun.xml.draw.template + stf application/vnd.wt.stf + sti application/vnd.sun.xml.impress.template + stk application/hyperstudio + stl application/vnd.ms-pki.stl + str application/vnd.pg.format + stw application/vnd.sun.xml.writer.template + sub text/vnd.dvb.subtitle + sus application/vnd.sus-calendar + susp application/vnd.sus-calendar + sv4cpio application/x-sv4cpio + sv4crc application/x-sv4crc + svc application/vnd.dvb.service + svd application/vnd.svd + svg image/svg+xml + svgz image/svg+xml + swa application/x-director + swf application/x-shockwave-flash + swi application/vnd.aristanetworks.swi + sxc application/vnd.sun.xml.calc + sxd application/vnd.sun.xml.draw + sxg application/vnd.sun.xml.writer.global + sxi application/vnd.sun.xml.impress + sxm application/vnd.sun.xml.math + sxw application/vnd.sun.xml.writer + t text/troff + t3 application/x-t3vm-image + taglet application/vnd.mynfc + tao application/vnd.tao.intent-module-archive + tar application/x-tar + tcap application/vnd.3gpp2.tcap + tcl application/x-tcl + teacher application/vnd.smart.teacher + tei application/tei+xml + teicorpus application/tei+xml + tex application/x-tex + texi application/x-texinfo + texinfo application/x-texinfo + text text/plain + tfi application/thraud+xml + tfm application/x-tex-tfm + tga image/x-tga + thmx application/vnd.ms-officetheme + tif image/tiff + tiff image/tiff + tmo application/vnd.tmobile-livetv + torrent application/x-bittorrent + tpl application/vnd.groove-tool-template + tpt application/vnd.trid.tpt + tr text/troff + tra application/vnd.trueapp + trm application/x-msterminal + tsd application/timestamped-data + tsv text/tab-separated-values + ttc application/x-font-ttf + ttf application/x-font-ttf + ttl text/turtle + twd application/vnd.simtech-mindmapper + twds application/vnd.simtech-mindmapper + txd application/vnd.genomatix.tuxedo + txf application/vnd.mobius.txf + txt text/plain + u32 application/x-authorware-bin + udeb application/x-debian-package + ufd application/vnd.ufdl + ufdl application/vnd.ufdl + ulw audio/basic + ulx application/x-glulx + umj application/vnd.umajin + unityweb application/vnd.unity + uoml application/vnd.uoml+xml + uri text/uri-list + uris text/uri-list + urls text/uri-list + ustar application/x-ustar + utz application/vnd.uiq.theme + uu text/x-uuencode + uva audio/vnd.dece.audio + uvd application/vnd.dece.data + uvf application/vnd.dece.data + uvg image/vnd.dece.graphic + uvh video/vnd.dece.hd + uvi image/vnd.dece.graphic + uvm video/vnd.dece.mobile + uvp video/vnd.dece.pd + uvs video/vnd.dece.sd + uvt application/vnd.dece.ttml+xml + uvu video/vnd.uvvu.mp4 + uvv video/vnd.dece.video + uvva audio/vnd.dece.audio + uvvd application/vnd.dece.data + uvvf application/vnd.dece.data + uvvg image/vnd.dece.graphic + uvvh video/vnd.dece.hd + uvvi image/vnd.dece.graphic + uvvm video/vnd.dece.mobile + uvvp video/vnd.dece.pd + uvvs video/vnd.dece.sd + uvvt application/vnd.dece.ttml+xml + uvvu video/vnd.uvvu.mp4 + uvvv video/vnd.dece.video + uvvx application/vnd.dece.unspecified + uvvz application/vnd.dece.zip + uvx application/vnd.dece.unspecified + uvz application/vnd.dece.zip + vcard text/vcard + vcd application/x-cdlink + vcf text/x-vcard + vcg application/vnd.groove-vcard + vcs text/x-vcalendar + vcx application/vnd.vcx + vis application/vnd.visionary + viv video/vnd.vivo + vob video/x-ms-vob + vor application/vnd.stardivision.writer + vox application/x-authorware-bin + vrml model/vrml + vsd application/vnd.visio + vsf application/vnd.vsf + vss application/vnd.visio + vst application/vnd.visio + vsw application/vnd.visio + vtu model/vnd.vtu + vxml application/voicexml+xml + w3d application/x-director + wad application/x-doom + wav audio/x-wav + wax audio/x-ms-wax + wbmp image/vnd.wap.wbmp + wbs application/vnd.criticaltools.wbs+xml + wbxml application/vnd.wap.wbxml + wcm application/vnd.ms-works + wdb application/vnd.ms-works + wdp image/vnd.ms-photo + weba audio/webm + webm video/webm + webp image/webp + wg application/vnd.pmi.widget + wgt application/widget + wks application/vnd.ms-works + wm video/x-ms-wm + wma audio/x-ms-wma + wmd application/x-ms-wmd + wmf application/x-msmetafile + wml text/vnd.wap.wml + wmlc application/vnd.wap.wmlc + wmls text/vnd.wap.wmlscript + wmlsc application/vnd.wap.wmlscriptc + wmv video/x-ms-wmv + wmx video/x-ms-wmx + wmz application/x-msmetafile + woff application/x-font-woff + wpd application/vnd.wordperfect + wpl application/vnd.ms-wpl + wps application/vnd.ms-works + wqd application/vnd.wqd + wri application/x-mswrite + wrl model/vrml + wsdl application/wsdl+xml + wspolicy application/wspolicy+xml + wtb application/vnd.webturbo + wvx video/x-ms-wvx + x32 application/x-authorware-bin + x3d model/x3d+xml + x3db model/x3d+binary + x3dbz model/x3d+binary + x3dv model/x3d+vrml + x3dvz model/x3d+vrml + x3dz model/x3d+xml + xaml application/xaml+xml + xap application/x-silverlight-app + xar application/vnd.xara + xbap application/x-ms-xbap + xbd application/vnd.fujixerox.docuworks.binder + xbm image/x-xbitmap + xdf application/xcap-diff+xml + xdm application/vnd.syncml.dm+xml + xdp application/vnd.adobe.xdp+xml + xdssc application/dssc+xml + xdw application/vnd.fujixerox.docuworks + xenc application/xenc+xml + xer application/patch-ops-error+xml + xfdf application/vnd.adobe.xfdf + xfdl application/vnd.xfdl + xht application/xhtml+xml + xhtml application/xhtml+xml + xhvml application/xv+xml + xif image/vnd.xiff + xla application/vnd.ms-excel + xlam application/vnd.ms-excel.addin.macroenabled.12 + xlc application/vnd.ms-excel + xlf application/x-xliff+xml + xlm application/vnd.ms-excel + xls application/vnd.ms-excel + xlsb application/vnd.ms-excel.sheet.binary.macroenabled.12 + xlsm application/vnd.ms-excel.sheet.macroenabled.12 + xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlt application/vnd.ms-excel + xltm application/vnd.ms-excel.template.macroenabled.12 + xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template + xlw application/vnd.ms-excel + xm audio/xm + xml application/xml + xo application/vnd.olpc-sugar + xop application/xop+xml + xpi application/x-xpinstall + xpl application/xproc+xml + xpm image/x-xpixmap + xpr application/vnd.is-xpr + xps application/vnd.ms-xpsdocument + xpw application/vnd.intercon.formnet + xpx application/vnd.intercon.formnet + xsl application/xml + xslt application/xslt+xml + xsm application/vnd.syncml+xml + xspf application/xspf+xml + xul application/vnd.mozilla.xul+xml + xvm application/xv+xml + xvml application/xv+xml + xwd image/x-xwindowdump + xyz chemical/x-xyz + xz application/x-xz + yang application/yang + yin application/yin+xml + z application/x-compress + Z application/x-compress + z1 application/x-zmachine + z2 application/x-zmachine + z3 application/x-zmachine + z4 application/x-zmachine + z5 application/x-zmachine + z6 application/x-zmachine + z7 application/x-zmachine + z8 application/x-zmachine + zaz application/vnd.zzazz.deck+xml + zip application/zip + zir application/vnd.zul + zirz application/vnd.zul + zmm application/vnd.handheld-entertainment+xml + """; + + private static readonly Dictionary _mimeTypeDic = _MIME_TYPES_RAW_STRING + .Split( + '\n', StringSplitOptions.RemoveEmptyEntries) + .ToDictionary( + x => x.Split(' ')[0].Trim() + , x => x.Split(' ')[1].Trim()); + + /// + /// 通过扩展名获取MIME类型 + /// + public static string GetMimeTypeByExtName(string extName) + { + _ = _mimeTypeDic.TryGetValue(extName.ToLowerInvariant(), out var ret); + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs index f90fd219..6249693c 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs @@ -1,22 +1,13 @@ using Minio; +using Minio.DataModel.Args; namespace NetAdmin.Infrastructure.Utils; /// /// MinioHelper /// -public sealed class MinioHelper : IScoped +public sealed class MinioHelper(IOptions uploadOptions) : IScoped { - private readonly UploadOptions _uploadOptions; - - /// - /// Initializes a new instance of the class. - /// - public MinioHelper(IOptions uploadOptions) - { - _uploadOptions = uploadOptions.Value; - } - /// /// 上传文件 /// @@ -27,26 +18,26 @@ public sealed class MinioHelper : IScoped /// 可访问的url地址 public async Task UploadAsync(string objectName, Stream fileStream, string contentType, long fileSize) { - using var minio = new MinioClient().WithEndpoint(_uploadOptions.Minio.ServerAddress) + using var minio = new MinioClient().WithEndpoint(uploadOptions.Value.Minio.ServerAddress) .WithCredentials( // - _uploadOptions.Minio.AccessKey, _uploadOptions.Minio.SecretKey) - .WithSSL(_uploadOptions.Minio.Secure) + uploadOptions.Value.Minio.AccessKey, uploadOptions.Value.Minio.SecretKey) + .WithSSL(uploadOptions.Value.Minio.Secure) .Build(); - var beArgs = new BucketExistsArgs().WithBucket(_uploadOptions.Minio.BucketName); + var beArgs = new BucketExistsArgs().WithBucket(uploadOptions.Value.Minio.BucketName); if (!await minio.BucketExistsAsync(beArgs)) { - var mbArgs = new MakeBucketArgs().WithBucket(_uploadOptions.Minio.BucketName); + var mbArgs = new MakeBucketArgs().WithBucket(uploadOptions.Value.Minio.BucketName); await minio.MakeBucketAsync(mbArgs); } - var putArgs = new PutObjectArgs().WithBucket(_uploadOptions.Minio.BucketName) + var putArgs = new PutObjectArgs().WithBucket(uploadOptions.Value.Minio.BucketName) .WithObject(objectName) .WithStreamData(fileStream) .WithObjectSize(fileSize) .WithContentType(contentType); _ = await minio.PutObjectAsync(putArgs); - return $"{_uploadOptions.Minio.AccessUrl}/{_uploadOptions.Minio.BucketName}/{objectName}"; + return $"{uploadOptions.Value.Minio.AccessUrl}/{uploadOptions.Value.Minio.BucketName}/{objectName}"; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs b/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs index 26dbbb64..92d2150c 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs @@ -5,7 +5,7 @@ using StackExchange.Redis; namespace NetAdmin.Infrastructure.Utils; /// -/// Redis锁 +/// Redis 分布锁 /// #pragma warning disable DesignedForInheritance public class RedLocker : IDisposable, ISingleton @@ -19,7 +19,7 @@ public class RedLocker : IDisposable, ISingleton /// public RedLocker(IOptions redisOptions) { - RedlockFactory = RedLockFactory.Create( // + RedLockFactory = RedLockFactory.Create( // new List // { ConnectionMultiplexer.Connect( // @@ -44,9 +44,9 @@ public class RedLocker : IDisposable, ISingleton } /// - /// RedlockFactory + /// RedLockFactory /// - public RedLockFactory RedlockFactory { get; } + public RedLockFactory RedLockFactory { get; } /// /// Implement IDisposable. @@ -84,7 +84,7 @@ public class RedLocker : IDisposable, ISingleton // If disposing equals true, dispose all managed // and unmanaged resources. if (disposing) { - RedlockFactory.Dispose(); + RedLockFactory.Dispose(); } // Call the appropriate methods to clean up diff --git a/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs b/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs index 52d9695e..bb1cef3a 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs @@ -301,8 +301,10 @@ public sealed class UserAgentParser private bool SetMobile() { + #pragma warning disable S3267 foreach (var item in _mobiles) { - if (_agent.IndexOf(item.Key, StringComparison.OrdinalIgnoreCase) != -1) { + #pragma warning restore S3267 + if (_agent.Contains(item.Key, StringComparison.OrdinalIgnoreCase)) { IsMobile = true; Mobile = item.Value; return true; diff --git a/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs b/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs index 42873e02..784750a0 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs @@ -7,8 +7,9 @@ namespace NetAdmin.Infrastructure.Utils; /// public sealed class XmlCommentReader : ISingleton { - private const string _XPATH = "//doc/members/member[@name=\"{0}\"]"; - private readonly List _xmlDocuments = new(); + private const string _XPATH = "//doc/members/member[@name=\"{0}\"]"; + private static readonly Regex _regex = new(@"`\d+"); + private readonly List _xmlDocuments = new(); /// /// Initializes a new instance of the class. @@ -20,14 +21,15 @@ public sealed class XmlCommentReader : ISingleton nameof(SpecificationDocumentSettingsOptions).TrimEndOptions()) .XmlComments; foreach (var commentFile in xmlComments.Where(x => x.Contains(nameof(NetAdmin)))) { - var xmlDoc = new XmlDocument(); - try { - xmlDoc.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, commentFile)); - _xmlDocuments.Add(xmlDoc); - } - catch (FileNotFoundException) { - LogHelper.Get().Warn(Ln.Xml注释文件不存在); + var xmlDoc = new XmlDocument(); + var xmlFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, commentFile); + if (!File.Exists(xmlFilePath)) { + LogHelper.Get().Warn($"{Ln.XML注释文件不存在}: {xmlFilePath}"); + continue; } + + xmlDoc.Load(xmlFilePath); + _xmlDocuments.Add(xmlDoc); } } @@ -66,30 +68,32 @@ public sealed class XmlCommentReader : ISingleton private XmlNode GetNodeByMethod(MethodInfo method) { - static string Replace(ParameterInfo parameterInfo) - { - return Regex.Replace(parameterInfo.ParameterType.ToString(), @"`\d+", string.Empty) - .Replace("[", "{") - .Replace("]", "}"); - } - var nodeName = $"M:{method.DeclaringType}.{method.Name}"; var parameters = method.GetParameters(); if (parameters.Length != 0) { nodeName += $"({string.Join(',', parameters.Select(Replace))})"; } - return _xmlDocuments - .Select(xmlDoc => xmlDoc.SelectSingleNode( - string.Format(NumberFormatInfo.InvariantInfo, _XPATH, nodeName))) - .FirstOrDefault(ret => ret != null); + return _xmlDocuments.Select(xmlDoc => xmlDoc.SelectSingleNode( + #pragma warning disable CA1863 + string.Format(NumberFormatInfo.InvariantInfo, _XPATH, nodeName))) + #pragma warning restore CA1863 + .FirstOrDefault(ret => ret != null); + + static string Replace(ParameterInfo parameterInfo) + { + return _regex.Replace(parameterInfo.ParameterType.ToString(), string.Empty) + .Replace("[", "{") + .Replace("]", "}"); + } } private XmlNode GetNodeByType(Type type) { - return _xmlDocuments - .Select(xmlDoc => xmlDoc.SelectSingleNode( - string.Format(NumberFormatInfo.InvariantInfo, _XPATH, $"T:{type.FullName}"))) - .FirstOrDefault(ret => ret != null); + return _xmlDocuments.Select(xmlDoc => xmlDoc.SelectSingleNode( + #pragma warning disable CA1863 + string.Format(NumberFormatInfo.InvariantInfo, _XPATH, $"T:{type.FullName}"))) + #pragma warning restore CA1863 + .FirstOrDefault(ret => ret != null); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json b/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json index 4874d4e4..d1d84842 100644 --- a/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json +++ b/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json @@ -4,16 +4,6 @@ "InjectSpecificationDocument": true, "InjectMiniProfiler": true }, - "Redis": { - "Instances": [ - // 数据缓存 - { - "Name": "DataCache", - "ConnStr": "localhost:6379", - "Database": 0 - } - ] - }, "JWTSettings": { "ExpiredTime": 20000 }, diff --git a/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json b/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json index cbd707f3..ec5e6a8c 100644 --- a/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json +++ b/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json @@ -4,16 +4,6 @@ "InjectSpecificationDocument": true, "InjectMiniProfiler": true }, - "Redis": { - "Instances": [ - // 数据缓存 - { - "Name": "DataCache", - "ConnStr": "localhost:6379", - "Database": 0 - } - ] - }, "JWTSettings": { "ExpiredTime": 20000 }, diff --git a/src/backend/NetAdmin.Infrastructure/commonSettings.json b/src/backend/NetAdmin.Infrastructure/commonSettings.json index bc205704..3e0c3ef0 100644 --- a/src/backend/NetAdmin.Infrastructure/commonSettings.json +++ b/src/backend/NetAdmin.Infrastructure/commonSettings.json @@ -96,7 +96,7 @@ // 数据库配置 -------------------------------------------------------------------------------------------------------- "Database": { "DbType": "Sqlite", - "ConnStr": "data source=../../../assets/NetAdmin.db", + "ConnStr": "data source=NetAdmin.db", "SeedDataRelativePath": "SeedData" }, // 动态webapi配置 ---------------------------------------------------------------------------------------------------- @@ -272,7 +272,7 @@ "System.Logging.EventBusService": "Error" }, "Monitor": { - "GlobalEnabled": true, + "GlobalEnabled": false, // 是否启用全局拦截,默认 `false` // "IncludeOfMethods": [], // 是否指定拦截特定方法,当 GlobalEnabled: false 有效 // "ExcludeOfMethods": [], // 是否指定排除特定方法,当 GlobalEnabled: true 有效 diff --git a/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs index d8825491..f5148170 100644 --- a/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs +++ b/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs @@ -1,8 +1,4 @@ using Furion.Schedule; -using NetAdmin.Domain.Contexts; -using NetAdmin.Domain.DbMaps.Dependency.Fields; -using NetAdmin.Domain.Enums.Sys; -using NetAdmin.Host.Extensions; using NetAdmin.ScheduledService.Jobs; namespace NetAdmin.ScheduledService.Extensions; @@ -14,37 +10,12 @@ namespace NetAdmin.ScheduledService.Extensions; public static class ServiceCollectionExtensions { /// - /// 注册FreeSql - /// - public static IServiceCollection AddFreeSql(this IServiceCollection me) - { - _ = me.AddFreeSql( // - FreeSqlInitOptions.SyncStructure | FreeSqlInitOptions.InsertSeedData, freeSql => { - // 数据权限过滤器 - _ = freeSql.GlobalFilter.ApplyOnlyIf( // - Chars.FLG_GLOBAL_FILTER_DATA - , () => ContextUserInfo.Create()?.Roles.All(x => x.DataScope == DataScopes.Self) ?? false - , a => a.OwnerId == ContextUserInfo.Create().Id); - }); - return me; - } - - /// - /// 注册定时任务 + /// 添加定时任务 /// public static IServiceCollection AddSchedules(this IServiceCollection me) { - _ = me.AddSchedule( // + return me.AddSchedule( // builder => builder // - .AddJob(false, Triggers.Minutely().SetRunOnStart(true)) - - // .AddJob(false, Triggers.PeriodSeconds(10).SetRunOnStart(true)) - // .AddJob(false, Triggers.PeriodSeconds(10).SetRunOnStart(true)) - - // - #pragma warning disable SA1009, SA1111 - ); - #pragma warning restore SA1111, SA1009 - return me; + .AddJob(false, Triggers.Minutely().SetRunOnStart(true))); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs b/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs index 50044e5c..e94fa8f8 100644 --- a/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs +++ b/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs @@ -1,5 +1,4 @@ using Furion.Schedule; -using NetAdmin.Host.BackgroundRunning; namespace NetAdmin.ScheduledService.Jobs; diff --git a/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj b/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj index cb796d2f..3adc3daa 100644 --- a/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj +++ b/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj @@ -1,11 +1,8 @@ - + - - - - + diff --git a/src/backend/NetAdmin.ScheduledService/ProjectUsings.cs b/src/backend/NetAdmin.ScheduledService/ProjectUsings.cs new file mode 100644 index 00000000..ef5539a7 --- /dev/null +++ b/src/backend/NetAdmin.ScheduledService/ProjectUsings.cs @@ -0,0 +1 @@ +global using NetAdmin.Host.BackgroundRunning; \ No newline at end of file diff --git a/src/backend/NetAdmin.ScheduledService/Startup.cs b/src/backend/NetAdmin.ScheduledService/Startup.cs index f7428792..a61503b5 100644 --- a/src/backend/NetAdmin.ScheduledService/Startup.cs +++ b/src/backend/NetAdmin.ScheduledService/Startup.cs @@ -1,7 +1,9 @@ using NetAdmin.Host.Extensions; using NetAdmin.Host.Middlewares; using NetAdmin.ScheduledService.Extensions; +#if !DEBUG using Prometheus; +#endif namespace NetAdmin.ScheduledService; @@ -24,23 +26,21 @@ public sealed class Startup : Host.Startup /// public void Configure(IApplicationBuilder app) { - _ = app // - .UseRealIp() // 获取真实IP - .EnableBuffering() // / 启用 Body 重读 - .UseMiddleware() // 请求审计 + _ = app // + .UseRealIp() // 使用RealIp中间件,用于获取真实客户端IP地址 + .EnableBuffering() // 启用请求体缓冲,允许多次读取请求体 + .UseMiddleware() // 使用RequestAuditMiddleware中间件,执行请求审计 #if DEBUG - .UseOpenApiSkin() // / Swagger皮肤 + .UseOpenApiSkin() // 使用OpenApiSkin中间件(仅在调试模式下),提供Swagger UI皮肤 + #else + .UseHttpMetrics() // 使用HttpMetrics中间件,启用HTTP性能监控 #endif - .UseInject(string.Empty) // / Furion脚手架 - .UseUnifyResultStatusCodes() // 状态码拦截 - .UseCorsAccessor() // 跨域访问 - .UseRouting() // 路由映射 - .UseHttpMetrics() // 性能监控 - .UseMiddleware() // 删除json空节点 - .UseEndpoints() // / 执行匹配的端点 - - // - ; + .UseInject(string.Empty) // 使用Inject中间件,Furion脚手架的依赖注入支持 + .UseUnifyResultStatusCodes() // 使用UnifyResultStatusCodes中间件,用于统一处理结果状态码 + .UseCorsAccessor() // 使用CorsAccessor中间件,启用跨域资源共享(CORS)支持 + .UseRouting() // 使用Routing中间件,配置路由映射 + .UseMiddleware() // 使用RemoveNullNodeMiddleware中间件,删除JSON中的空节点 + .UseEndpoints(); // 配置端点以处理请求 } /// @@ -48,21 +48,22 @@ public sealed class Startup : Host.Startup /// public void ConfigureServices(IServiceCollection services) { - _ = services.AddConsoleFormatter() // / 控制台日志模板 - .AddAllOptions() // / 注册配置项 - .AddSnowflake() // / 雪花编号生成器 - .AddEventBus() // 事件总线 - .AddFreeSql() // freeSql - .AddRemoteRequest() // 注册远程请求 - .AddCorsAccessor() // 支持跨域访问 - .AddRedisCache() // Redis缓存 - .AddContextUser() // 上下文用户 - .AddSchedules() // 计划任务 + _ = services // + .AddConsoleFormatter() // 添加控制台日志格式化器 + .AddAllOptions() // 添加所有的配置选项 + .AddSnowflake() // 添加雪花算法生成器 + .AddEventBus() // 添加事件总线 + .AddFreeSql() // 添加FreeSql数据库访问 + .AddCorsAccessor() // 添加跨域资源共享(CORS)访问支持 + .AddRedisCache() // 添加 Redis 缓存支持 + .AddContextUser() // 添加上下文用户支持 + .AddSchedules() // 添加计划任务 + .AddRemoteRequest() // 添加远程请求支持 - // IMvcBuilder - .AddControllers() // 注册控制器 - .AddJsonSerializer() // json序列化配置 - .AddDefaultApiResultHandler() // Api结果处理器 + // IMvcBuilder + .AddControllers() // 添加控制器 + .AddJsonSerializer() // 添加JSON序列化器 + .AddDefaultApiResultHandler() // 添加默认的API结果处理程序 ; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs index 4d164684..1d95a7bc 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs @@ -16,5 +16,5 @@ public interface ICacheModule /// /// 获取所有缓存项 /// - PagedQueryRsp GetAllEntries(PagedQueryReq req); + Task> GetAllEntriesAsync(PagedQueryReq req); } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs index 82e8b029..9dee09ea 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs @@ -39,6 +39,16 @@ public interface IDicModule /// Task DeleteContentAsync(DelReq req); + /// + /// 获取单个字典目录 + /// + Task GetCatalogAsync(QueryDicCatalogReq req); + + /// + /// 获取单个字典内容 + /// + Task GetContentAsync(QueryDicContentReq req); + /// /// 分页查询字典目录 /// diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs new file mode 100644 index 00000000..4c6beb6e --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信-部门映射模块 +/// +public interface ISiteMsgDeptModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs new file mode 100644 index 00000000..7718001b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信标记模块 +/// +public interface ISiteMsgFlagModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs new file mode 100644 index 00000000..c05f267e --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs @@ -0,0 +1,36 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信模块 +/// +public interface ISiteMsgModule : ICrudModule +{ + /// + /// 获取单个我的站内信 + /// + Task GetMineAsync(QuerySiteMsgReq req); + + /// + /// 分页查询我的站内信 + /// + Task> PagedQueryMineAsync(PagedQueryReq req); + + /// + /// 设置站内信状态 + /// + Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req); + + /// + /// 未读数量 + /// + Task UnreadCountAsync(); +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs new file mode 100644 index 00000000..a0cd1a6b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信-角色映射模块 +/// +public interface ISiteMsgRoleModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs new file mode 100644 index 00000000..f3e232ca --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信-用户映射模块 +/// +public interface ISiteMsgUserModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs index 56d88f39..d370ba81 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs @@ -1,3 +1,5 @@ +using NetAdmin.Domain.Dto.Sys.Tool; + namespace NetAdmin.SysComponent.Application.Modules.Sys; /// @@ -6,12 +8,17 @@ namespace NetAdmin.SysComponent.Application.Modules.Sys; public interface IToolsModule { /// - /// 服务器时间 + /// 获取模块信息 /// - DateTime GetServerUtcTime(); + Task> GetModulesAsync(); /// - /// 版本信息 + /// 获取服务器时间 /// - string Version(); + Task GetServerUtcTimeAsync(); + + /// + /// 获取版本信息 + /// + Task GetVersionAsync(); } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj b/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj index 1124ffb6..7fd1ee13 100644 --- a/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj +++ b/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs index 03378b3f..ebdd6739 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs @@ -8,107 +8,61 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class ApiService : RepositoryService, IApiService +public sealed class ApiService(DefaultRepository rpo // + , XmlCommentReader xmlCommentReader // + , IActionDescriptorCollectionProvider actionDescriptorCollectionProvider) // + : RepositoryService(rpo), IApiService { - private readonly IActionDescriptorCollectionProvider _actionDescriptorCollectionProvider; - private readonly XmlCommentReader _xmlCommentReader; - - /// - /// Initializes a new instance of the class. - /// - public ApiService(Repository rpo, XmlCommentReader xmlCommentReader - , IActionDescriptorCollectionProvider actionDescriptorCollectionProvider) // - : base(rpo) - { - _xmlCommentReader = xmlCommentReader; - _actionDescriptorCollectionProvider = actionDescriptorCollectionProvider; - } - - /// - /// 批量删除接口 - /// - /// NotImplementedException + /// public Task BulkDeleteAsync(BulkReq req) { throw new NotImplementedException(); } - /// - /// 创建接口 - /// - /// NotImplementedException + /// public Task CreateAsync(CreateApiReq req) { throw new NotImplementedException(); } - /// - /// 删除接口 - /// - /// NotImplementedException + /// public Task DeleteAsync(DelReq req) { throw new NotImplementedException(); } - /// - /// 判断接口是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { throw new NotImplementedException(); } - /// - /// 获取单个接口 - /// - /// NotImplementedException + /// public Task GetAsync(QueryApiReq req) { throw new NotImplementedException(); } - /// - /// 分页查询接口 - /// - /// NotImplementedException + /// public Task> PagedQueryAsync(PagedQueryReq req) { throw new NotImplementedException(); } - /// - /// 查询接口 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await Rpo.Select.WhereDynamicFilter(req.DynamicFilter).WhereDynamic(req.Filter).ToTreeListAsync(); return ret.Adapt>(); } - /// - /// 反射接口列表 - /// + /// public IEnumerable ReflectionList(bool excludeAnonymous = true) { var regex = new Regex(@"\.(\w+)$", RegexOptions.Compiled); - QueryApiRsp SelectQueryApiRsp(IGrouping group) - { - var first = group.First()!; - return new QueryApiRsp { - Summary = _xmlCommentReader.GetComments(group.Key) - , Name = first.ControllerName - , Id = Regex.Replace( // - first.AttributeRouteInfo!.Template!, $"/{first.ActionName}$", string.Empty) - , Children = GetChildren(group) - , Namespace = regex.Match(group.Key.Namespace!).Groups[1].Value.ToLowerInvariant() - }; - } - var actionDescriptors // - = _actionDescriptorCollectionProvider.ActionDescriptors.Items.Cast(); + = actionDescriptorCollectionProvider.ActionDescriptors.Items.Cast(); if (excludeAnonymous) { actionDescriptors = actionDescriptors.Where(x => x.EndpointMetadata.All(y => y is AllowAnonymousAttribute)); @@ -118,11 +72,22 @@ public sealed class ApiService : RepositoryService, IApiSe = actionDescriptors.GroupBy(x => x.ControllerTypeInfo); return actionGroup.Select(SelectQueryApiRsp); + + QueryApiRsp SelectQueryApiRsp(IGrouping group) + { + var first = group.First()!; + return new QueryApiRsp { + Summary = xmlCommentReader.GetComments(group.Key) + , Name = first.ControllerName + , Id = Regex.Replace( // + first.AttributeRouteInfo!.Template!, $"/{first.ActionName}$", string.Empty) + , Children = GetChildren(group) + , Namespace = regex.Match(group.Key.Namespace!).Groups[1].Value.ToLowerInvariant() + }; + } } - /// - /// 同步接口 - /// + /// public async Task SyncAsync() { _ = await Rpo.DeleteAsync(_ => true); @@ -136,20 +101,23 @@ public sealed class ApiService : RepositoryService, IApiSe } } - /// - /// 更新接口 - /// - /// NotImplementedException + /// public Task UpdateAsync(NopReq req) { throw new NotImplementedException(); } + /// + protected override Task UpdateForSqliteAsync(Sys_Api req) + { + throw new NotImplementedException(); + } + private IEnumerable GetChildren(IEnumerable actionDescriptors) { return actionDescriptors // .Select(x => new QueryApiRsp { - Summary = _xmlCommentReader.GetComments(x.MethodInfo) + Summary = xmlCommentReader.GetComments(x.MethodInfo) , Name = x.ActionName , Id = x.AttributeRouteInfo!.Template , Method = x.ActionConstraints?.OfType() diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs index b76bbbf0..4780f5ac 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs @@ -7,32 +7,21 @@ using StackExchange.Redis; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class CacheService : ServiceBase, ICacheService +public sealed class CacheService(IConnectionMultiplexer connectionMultiplexer) // + : ServiceBase, ICacheService { - private readonly IConnectionMultiplexer _connectionMultiplexer; - - /// - /// Initializes a new instance of the class. - /// - public CacheService(IConnectionMultiplexer connectionMultiplexer) - { - _connectionMultiplexer = connectionMultiplexer; - } - - /// - /// 缓存统计 - /// + /// public Task CacheStatisticsAsync() { - var database = _connectionMultiplexer.GetDatabase(); + var database = connectionMultiplexer.GetDatabase(); return Task.FromResult( new CacheStatisticsRsp((string)database.Execute("info")) { DbSize = (long)database.Execute("dbSize") }); } /// - public PagedQueryRsp GetAllEntries(PagedQueryReq req) + public Task> GetAllEntriesAsync(PagedQueryReq req) { - var database = _connectionMultiplexer.GetDatabase((int?)req.Filter?.DbIndex ?? 0); + var database = connectionMultiplexer.GetDatabase((int?)req.Filter?.DbIndex ?? 0); var redisResults = (RedisResult[])database.Execute("scan", (req.Page - 1) * req.PageSize, "count", req.PageSize); @@ -44,6 +33,6 @@ public sealed class CacheService : ServiceBase, ICacheService .ToList() .ConvertAll(x => x.Adapt()); - return new PagedQueryRsp(req.Page, req.PageSize, 10000, list); + return Task.FromResult(new PagedQueryRsp(req.Page, req.PageSize, 10000, list)); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs index 7db65f72..5d9c7f80 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs @@ -17,9 +17,7 @@ public sealed class CaptchaService : ServiceBase, ICaptchaServi /// public CaptchaService() { } - /// - /// 获取人机校验图 - /// + /// public async Task GetCaptchaImageAsync() { var (backgroundImage, sliderImage, offsetSaw) = await CaptchaImageHelper.CreateSawSliderImageAsync( @@ -35,9 +33,7 @@ public sealed class CaptchaService : ServiceBase, ICaptchaServi }; } - /// - /// 完成人机校验 - /// + /// public Task VerifyCaptchaAsync(VerifyCaptchaReq req) { if (req.SawOffsetX == null) { diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs index 6d8d7b6c..2bd5830a 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs @@ -9,17 +9,10 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class ConfigService : RepositoryService, IConfigService +public sealed class ConfigService(DefaultRepository rpo) // + : RepositoryService(rpo), IConfigService { - /// - /// Initializes a new instance of the class. - /// - public ConfigService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除配置 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -30,45 +23,33 @@ public sealed class ConfigService : RepositoryService - /// 创建配置 - /// + /// public async Task CreateAsync(CreateConfigReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除配置 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断配置是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个配置 - /// - /// NotImplementedException + /// public async Task GetAsync(QueryConfigReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 获取最新有效配置 - /// + /// public async Task GetLatestConfigAsync() { var ret = await QueryAsync( @@ -76,9 +57,7 @@ public sealed class ConfigService : RepositoryService - /// 分页查询配置 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -87,46 +66,44 @@ public sealed class ConfigService : RepositoryService>()); } - /// - /// 查询配置 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新配置 - /// + /// public async Task UpdateAsync(UpdateConfigReq req) { if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(req); + return await UpdateForSqliteAsync(req) as QueryConfigRsp; } var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); return ret.FirstOrDefault()?.Adapt(); } - private ISelect QueryInternal(QueryReq req) - { - return Rpo.Select.Include(a => a.UserRegisterDept) - .Include(a => a.UserRegisterRole) - .WhereDynamicFilter(req.DynamicFilter) - .WhereIf( // - req.Filter?.Enabled.HasValue ?? false, a => a.Enabled == req.Filter.Enabled.Value) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); - } - - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Sys_Config req) + /// + protected override async Task UpdateForSqliteAsync(Sys_Config req) { return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 ? null : await GetAsync(new QueryConfigReq { Id = req.Id }); } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.Include(a => a.UserRegisterDept) + .Include(a => a.UserRegisterRole) + .WhereDynamicFilter(req.DynamicFilter) + .WhereIf( // + req.Filter?.Enabled.HasValue ?? false, a => a.Enabled == req.Filter.Enabled.Value) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs index 3c53ec5e..6979b22f 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs @@ -6,9 +6,7 @@ namespace NetAdmin.SysComponent.Application.Services.Sys; /// public sealed class ConstantService : ServiceBase, IConstantService { - /// - /// 获得常量字符串 - /// + /// public IDictionary GetCharsDic() { return typeof(Chars).GetFields(BindingFlags.Public | BindingFlags.Static) @@ -17,9 +15,7 @@ public sealed class ConstantService : ServiceBase, IConstantSe x => x.Name, x => x.GetValue(null)?.ToString()); } - /// - /// 获得公共枚举值 - /// + /// public IDictionary> GetEnums() { return App.EffectiveTypes.Where(x => x.IsEnum && x.GetCustomAttribute(false) != null) @@ -35,9 +31,7 @@ public sealed class ConstantService : ServiceBase, IConstantSe })); } - /// - /// 获得本地化字符串 - /// + /// public IDictionary GetLocalizedStrings() { return typeof(Ln).GetProperties(BindingFlags.Public | BindingFlags.Static) @@ -45,9 +39,7 @@ public sealed class ConstantService : ServiceBase, IConstantSe .ToImmutableSortedDictionary(x => x.Name, x => x.GetValue(null)?.ToString()); } - /// - /// 获得数字常量表 - /// + /// public IDictionary GetNumbersDic() { return typeof(Numbers).GetFields(BindingFlags.Public | BindingFlags.Static) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs new file mode 100644 index 00000000..d819dd52 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信-部门映射服务 +/// +public interface ISiteMsgDeptService : IService, ISiteMsgDeptModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs new file mode 100644 index 00000000..94d94c2d --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信标记服务 +/// +public interface ISiteMsgFlagService : IService, ISiteMsgFlagModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs new file mode 100644 index 00000000..4ad4b1a1 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信-角色映射服务 +/// +public interface ISiteMsgRoleService : IService, ISiteMsgRoleModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs new file mode 100644 index 00000000..ec4b6197 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信服务 +/// +public interface ISiteMsgService : IService, ISiteMsgModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs new file mode 100644 index 00000000..79398d92 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信-用户映射服务 +/// +public interface ISiteMsgUserService : IService, ISiteMsgUserModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs index 768da1f3..d54811f1 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DeptService : RepositoryService, IDeptService +public sealed class DeptService(DefaultRepository rpo) // + : RepositoryService(rpo), IDeptService { - /// - /// Initializes a new instance of the class. - /// - public DeptService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除部门 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,9 +22,7 @@ public sealed class DeptService : RepositoryService, IDe return sum; } - /// - /// 创建部门 - /// + /// /// Parent_department_does_not_exist public async Task CreateAsync(CreateDeptReq req) { @@ -44,9 +35,7 @@ public sealed class DeptService : RepositoryService, IDe return ret.Adapt(); } - /// - /// 删除部门 - /// + /// /// 该部门下存在用户 /// 该部门下存在子部门 public async Task DeleteAsync(DelReq req) @@ -64,44 +53,32 @@ public sealed class DeptService : RepositoryService, IDe return await Rpo.DeleteAsync(x => x.Id == req.Id); } - /// - /// 判断部门是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个部门 - /// - /// NotImplementedException - public Task GetAsync(QueryDeptReq req) + /// + public async Task GetAsync(QueryDeptReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询部门 - /// - /// NotImplementedException + /// public Task> PagedQueryAsync(PagedQueryReq req) { throw new NotImplementedException(); } - /// - /// 查询部门 - /// + /// public async Task> QueryAsync(QueryReq req) { return (await QueryInternal(req).ToTreeListAsync()).Adapt>(); } - /// - /// 更新部门 - /// + /// /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateDeptReq req) { @@ -112,14 +89,20 @@ public sealed class DeptService : RepositoryService, IDe .Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_Dept req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req, bool asTreeCte = false) { var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) .WhereDynamic(req.Filter) .WhereIf( // req.Keywords?.Length > 0 - , a => a.Name.Contains(req.Keywords) || a.Summary.Contains(req.Keywords) || - a.Id == req.Keywords.Int64Try(0)); + , a => a.Id == req.Keywords.Int64Try(0) || a.Name.Contains(req.Keywords) || + a.Summary.Contains(req.Keywords)); if (asTreeCte) { ret = ret.AsTreeCte(); } diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs index aa8635bd..2cd61558 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs @@ -6,7 +6,7 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DevService : ServiceBase, IDevService +public sealed class DevService(IApiService apiService) : ServiceBase, IDevService { private const string _REPLACE_TO_EMPTY = "//~"; @@ -16,19 +16,10 @@ public sealed class DevService : ServiceBase, IDevService private static readonly string[] _projectDirs = Directory.GetDirectories(Path.Combine(Environment.CurrentDirectory, "../")); - private readonly IApiService _apiService; + private static readonly Regex _regex = new(@"\.(\w)"); + private static readonly Regex _regex2 = new("([a-zA-Z]+):"); - /// - /// Initializes a new instance of the class. - /// - public DevService(IApiService apiService) - { - _apiService = apiService; - } - - /// - /// 生成后端代码 - /// + /// public async Task GenerateCsCodeAsync(GenerateCsCodeReq req) { // 模块类型(Sys、Biz、等) @@ -106,9 +97,7 @@ public sealed class DevService : ServiceBase, IDevService , Path.Combine(entityDir, $"{moduleType[..3]}_{req.ModuleName}.cs")); } - /// - /// 生成图标代码 - /// + /// public async Task GenerateIconCodeAsync(GenerateIconCodeReq req) { var tplSvg = await File.ReadAllTextAsync( @@ -138,7 +127,7 @@ public sealed class DevService : ServiceBase, IDevService var iconSelectFile = Path.Combine(_clientProjectPath, "src", "config", "iconSelect.js"); var iconSelectContent = await File.ReadAllTextAsync(iconSelectFile); iconSelectContent = iconSelectContent.Replace("export default", "exportDefault:").Replace("'", "\""); - iconSelectContent = Regex.Replace(iconSelectContent, "([a-zA-Z]+):", "\"$1\":"); + iconSelectContent = _regex2.Replace(iconSelectContent, "\"$1\":"); iconSelectContent = "{" + iconSelectContent + "}"; var iconExportJsInfo = iconSelectContent.ToObject(); iconExportJsInfo.ExportDefault.Icons.Last().Icons.Add($"sc-icon-{req.IconName.ToLowerInvariant()}"); @@ -147,29 +136,14 @@ public sealed class DevService : ServiceBase, IDevService await File.WriteAllTextAsync(iconSelectFile, newContent); } - /// - /// 生成接口代码 - /// + /// public async Task GenerateJsCodeAsync() { // 模板文件 var tplOuter = await File.ReadAllTextAsync(Path.Combine(_clientProjectPath, "src", "api", "tpl", "outer.js")); var tplInner = await File.ReadAllTextAsync(Path.Combine(_clientProjectPath, "src", "api", "tpl", "inner.js")); - IEnumerable Select(QueryApiRsp item) - { - return item.Children.Select(x => tplInner.Replace("$actionDesc$", x.Summary) - .Replace( // - "$actionName$" - , Regex.Replace(x.Name, @"\.(\w)" - , y => y.Groups[1].Value.ToUpperInvariant())) - .Replace("$actionPath$", x.Id) - .Replace( // - "$actionMethod$", x.Method?.ToLowerInvariant()) - .Replace(_REPLACE_TO_EMPTY, string.Empty)); // - } - - foreach (var item in _apiService.ReflectionList(false)) { + foreach (var item in apiService.ReflectionList(false)) { var dir = Path.Combine(_clientProjectPath, "src", "api", item.Namespace); if (!Directory.Exists(dir)) { _ = Directory.CreateDirectory(dir); @@ -186,13 +160,26 @@ public sealed class DevService : ServiceBase, IDevService await File.WriteAllTextAsync(file, content); } + + IEnumerable Select(QueryApiRsp item) + { + return item.Children.Select(x => tplInner.Replace("$actionDesc$", x.Summary) + .Replace( // + "$actionName$" + , _regex.Replace( + x.Name, y => y.Groups[1].Value.ToUpperInvariant())) + .Replace("$actionPath$", x.Id) + .Replace( // + "$actionMethod$", x.Method?.ToLowerInvariant()) + .Replace(_REPLACE_TO_EMPTY, string.Empty)); // + } } private static void CreateDir(params string[] dirs) { foreach (var dir in dirs) { if (!Directory.Exists(dir)) { - _ = Directory.CreateDirectory(dir); + _ = Directory.CreateDirectory(dir!); } } } diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs index 8f17d9ec..2c7963cb 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DicCatalogService : RepositoryService, IDicCatalogService +public sealed class DicCatalogService(DefaultRepository rpo) // + : RepositoryService(rpo), IDicCatalogService { - /// - /// Initializes a new instance of the class. - /// - public DicCatalogService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除字典目录 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,13 +22,11 @@ public sealed class DicCatalogService : RepositoryService - /// 创建字典目录 - /// + /// /// The_parent_node_does_not_exist public async Task CreateAsync(CreateDicCatalogReq req) { - if (req.ParentId != 0 && !await Rpo.Select.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { + if (req.ParentId != 0 && !await Rpo.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { throw new NetAdminInvalidOperationException(Ln.父节点不存在); } @@ -43,36 +34,27 @@ public sealed class DicCatalogService : RepositoryService(); } - /// - /// 删除字典目录 - /// + /// public async Task DeleteAsync(DelReq req) { var ret = await Rpo.DeleteCascadeByDatabaseAsync(a => a.Id == req.Id); return ret.Count; } - /// - /// 判断字典目录是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个字典目录 - /// - /// NotImplementedException - public Task GetAsync(QueryDicCatalogReq req) + /// + public async Task GetAsync(QueryDicCatalogReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询字典目录 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -81,23 +63,19 @@ public sealed class DicCatalogService : RepositoryService>()); } - /// - /// 查询字典目录 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).ToTreeListAsync(); return ret.Adapt>(); } - /// - /// 更新字典目录 - /// + /// /// The_parent_node_does_not_exist /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateDicCatalogReq req) { - if (req.ParentId != 0 && !await Rpo.Select.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { + if (req.ParentId != 0 && !await Rpo.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { throw new NetAdminInvalidOperationException(Ln.父节点不存在); } @@ -105,15 +83,25 @@ public sealed class DicCatalogService : RepositoryService a.Id == req.Id).ToOneAsync(); + var ret = await Rpo.Where(a => a.Id == req.Id).ToOneAsync(); return ret.Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_DicCatalog req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs index 05a7c70f..80bed8eb 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DicContentService : RepositoryService, IDicContentService +public sealed class DicContentService(DefaultRepository rpo) // + : RepositoryService(rpo), IDicContentService { - /// - /// Initializes a new instance of the class. - /// - public DicContentService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除字典内容 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,9 +22,7 @@ public sealed class DicContentService : RepositoryService - /// 创建字典内容 - /// + /// /// Dictionary_directory_does_not_exist public async Task CreateAsync(CreateDicContentReq req) { @@ -43,35 +34,26 @@ public sealed class DicContentService : RepositoryService(); } - /// - /// 删除字典内容 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断字典是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个字典 - /// - /// NotImplementedException - public Task GetAsync(QueryDicContentReq req) + /// + public async Task GetAsync(QueryDicContentReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询字典内容 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -80,18 +62,14 @@ public sealed class DicContentService : RepositoryService>()); } - /// - /// 查询字典内容 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新字典内容 - /// + /// /// Dictionary_directory_does_not_exist /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateDicContentReq req) @@ -104,10 +82,16 @@ public sealed class DicContentService : RepositoryService a.Id == req.Id).ToOneAsync(); + var ret = await Rpo.Where(a => a.Id == req.Id).ToOneAsync(); return ret.Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_DicContent req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs index a941f06e..0bf9aa4b 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs @@ -7,113 +7,90 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DicService : ServiceBase, IDicService +public sealed class DicService(IDicCatalogService catalogService, IDicContentService contentService) // + : ServiceBase, IDicService { - private readonly IDicCatalogService _catalogService; - private readonly IDicContentService _contentService; - - /// - /// Initializes a new instance of the class. - /// - public DicService(IDicCatalogService catalogService, IDicContentService contentService) - { - _catalogService = catalogService; - _contentService = contentService; - } - - /// - /// 批量删除字典目录 - /// + /// public Task BulkDeleteCatalogAsync(BulkReq req) { - return _catalogService.BulkDeleteAsync(req); + return catalogService.BulkDeleteAsync(req); } - /// - /// 批量删除字典内容 - /// + /// public Task BulkDeleteContentAsync(BulkReq req) { - return _contentService.BulkDeleteAsync(req); + return contentService.BulkDeleteAsync(req); } - /// - /// 创建字典目录 - /// + /// public Task CreateCatalogAsync(CreateDicCatalogReq req) { - return _catalogService.CreateAsync(req); + return catalogService.CreateAsync(req); } - /// - /// 创建字典内容 - /// + /// public Task CreateContentAsync(CreateDicContentReq req) { - return _contentService.CreateAsync(req); + return contentService.CreateAsync(req); } - /// - /// 删除字典目录 - /// + /// public Task DeleteCatalogAsync(DelReq req) { - return _catalogService.DeleteAsync(req); + return catalogService.DeleteAsync(req); } - /// - /// 删除字典内容 - /// + /// public Task DeleteContentAsync(DelReq req) { - return _contentService.DeleteAsync(req); + return contentService.DeleteAsync(req); } - /// - /// 分页查询字典目录 - /// + /// + public Task GetCatalogAsync(QueryDicCatalogReq req) + { + return catalogService.GetAsync(req); + } + + /// + public Task GetContentAsync(QueryDicContentReq req) + { + return contentService.GetAsync(req); + } + + /// public Task> PagedQueryCatalogAsync(PagedQueryReq req) { - return _catalogService.PagedQueryAsync(req); + return catalogService.PagedQueryAsync(req); } - /// - /// 分页查询字典内容 - /// + /// public Task> PagedQueryContentAsync(PagedQueryReq req) { - return _contentService.PagedQueryAsync(req); + return contentService.PagedQueryAsync(req); } - /// - /// 查询字典目录 - /// + /// public Task> QueryCatalogAsync(QueryReq req) { - return _catalogService.QueryAsync(req); + return catalogService.QueryAsync(req); } - /// - /// 查询字典内容 - /// + /// public Task> QueryContentAsync(QueryReq req) { - return _contentService.QueryAsync(req); + return contentService.QueryAsync(req); } - /// - /// 更新字典目录 - /// + /// public Task UpdateCatalogAsync(UpdateDicCatalogReq req) { - return _catalogService.UpdateAsync(req); + return catalogService.UpdateAsync(req); } - /// - /// 更新字典内容 - /// + /// public Task UpdateContentAsync(UpdateDicContentReq req) { - return _contentService.UpdateAsync(req); + return contentService.UpdateAsync(req); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs index 872bf1cf..65e49720 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs @@ -4,23 +4,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class FileService : ServiceBase, IFileService +public sealed class FileService(IOptions uploadOptions, MinioHelper minioHelper) // + : ServiceBase, IFileService { - private readonly MinioHelper _minioHelper; - private readonly UploadOptions _uploadOptions; - - /// - /// Initializes a new instance of the class. - /// - public FileService(IOptions uploadOptions, MinioHelper minioHelper) // - { - _minioHelper = minioHelper; - _uploadOptions = uploadOptions.Value; - } - - /// - /// 文件上传 - /// + /// /// 文件不能为空 /// 允许上传的文件格式 /// 允许的文件大小 @@ -30,18 +17,18 @@ public sealed class FileService : ServiceBase, IFileService throw new NetAdminInvalidOperationException(Ln.文件不能为空); } - if (!_uploadOptions.ContentTypes.Contains(file.ContentType)) { + if (!uploadOptions.Value.ContentTypes.Contains(file.ContentType)) { throw new NetAdminInvalidOperationException( - $"{Ln.允许的文件格式} {string.Join(",", _uploadOptions.ContentTypes)}"); + $"{Ln.允许的文件格式} {string.Join(",", uploadOptions.Value.ContentTypes)}"); } - if (file.Length > _uploadOptions.MaxSize) { - throw new NetAdminInvalidOperationException($"{Ln.允许的文件大小} {_uploadOptions.MaxSize}"); + if (file.Length > uploadOptions.Value.MaxSize) { + throw new NetAdminInvalidOperationException($"{Ln.允许的文件大小} {uploadOptions.Value.MaxSize}"); } var fileName = $"{Guid.NewGuid()}{Path.GetExtension(file.FileName)}"; var objectName = $"{UserToken.Id}/{fileName}"; await using var fs = file.OpenReadStream(); - return await _minioHelper.UploadAsync(objectName, fs, file.ContentType, file.Length); + return await minioHelper.UploadAsync(objectName, fs, file.ContentType, file.Length); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs index a7c942c8..779e5469 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs @@ -8,22 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class MenuService : RepositoryService, IMenuService +public sealed class MenuService(DefaultRepository rpo, IUserService userService) // + : RepositoryService(rpo), IMenuService { - private readonly IUserService _userService; - - /// - /// Initializes a new instance of the class. - /// - public MenuService(Repository rpo, IUserService userService) // - : base(rpo) - { - _userService = userService; - } - - /// - /// 批量删除菜单 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -34,62 +22,46 @@ public sealed class MenuService : RepositoryService, IMe return sum; } - /// - /// 创建菜单 - /// + /// public async Task CreateAsync(CreateMenuReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除菜单 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断菜单是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个菜单 - /// - /// NotImplementedException - public Task GetAsync(QueryMenuReq req) + /// + public async Task GetAsync(QueryMenuReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询菜单 - /// - /// NotImplementedException + /// public Task> PagedQueryAsync(PagedQueryReq req) { throw new NotImplementedException(); } - /// - /// 查询菜单 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).ToTreeListAsync(); return ret.Adapt>(); } - /// - /// 更新菜单 - /// + /// /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateMenuReq req) { @@ -97,16 +69,14 @@ public sealed class MenuService : RepositoryService, IMe throw new NetAdminUnexpectedException(); } - var ret = await Rpo.Select.Where(a => a.Id == req.Id).ToOneAsync(); + var ret = await Rpo.Where(a => a.Id == req.Id).ToOneAsync(); return ret.Adapt(); } - /// - /// 当前用户菜单 - /// + /// public async Task> UserMenusAsync() { - var userInfo = await _userService.UserInfoAsync(); + var userInfo = await userService.UserInfoAsync(); Task> ret; var req = new QueryReq(); @@ -120,18 +90,23 @@ public sealed class MenuService : RepositoryService, IMe ownedMenuIds = new[] { 0L }; } - ret = QueryAsync(req with { - DynamicFilter = new DynamicFilterInfo { - Field = nameof(QueryMenuReq.Id) - , Operator = DynamicFilterOperator.Any - , Value = ownedMenuIds - } - }); + var df = new DynamicFilterInfo { + Field = nameof(QueryMenuReq.Id) + , Operator = DynamicFilterOperators.Any + , Value = ownedMenuIds + }; + ret = QueryAsync(req with { DynamicFilter = df }); } return await ret; } + /// + protected override Task UpdateForSqliteAsync(Sys_Menu req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs index 6b51c822..51a76424 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class RequestLogService : RepositoryService, IRequestLogService +public sealed class RequestLogService(DefaultRepository rpo) // + : RepositoryService(rpo), IRequestLogService { - /// - /// Initializes a new instance of the class. - /// - public RequestLogService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除请求日志 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,45 +22,33 @@ public sealed class RequestLogService : RepositoryService - /// 创建请求日志 - /// + /// public async Task CreateAsync(CreateRequestLogReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除请求日志 - /// - /// NotImplementedException + /// public Task DeleteAsync(DelReq req) { throw new NotImplementedException(); } - /// - /// 判断请求日志是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个请求日志 - /// - /// NotImplementedException - public Task GetAsync(QueryRequestLogReq req) + /// + public async Task GetAsync(QueryRequestLogReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询请求日志 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req) @@ -91,24 +72,25 @@ public sealed class RequestLogService : RepositoryService>()); } - /// - /// 查询请求日志 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新请求日志 - /// - /// NotImplementedException + /// public Task UpdateAsync(NopReq req) { throw new NotImplementedException(); } + /// + protected override Task UpdateForSqliteAsync(Sys_RequestLog req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { var ret = Rpo.Select.Include(a => a.Api) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs index 3bd1db68..cfb0f88f 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class RoleService : RepositoryService, IRoleService +public sealed class RoleService(DefaultRepository rpo) // + : RepositoryService(rpo), IRoleService { - /// - /// Initializes a new instance of the class. - /// - public RoleService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除角色 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,9 +22,7 @@ public sealed class RoleService : RepositoryService, IRo return sum; } - /// - /// 创建角色 - /// + /// public async Task CreateAsync(CreateRoleReq req) { var entity = req.Adapt(); @@ -45,9 +36,7 @@ public sealed class RoleService : RepositoryService, IRo return entity.Adapt(); } - /// - /// 删除角色 - /// + /// /// Users_exist_under_this_role_and_deletion_is_not_allowed public async Task DeleteAsync(DelReq req) { @@ -56,27 +45,20 @@ public sealed class RoleService : RepositoryService, IRo : await Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断角色是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个角色 - /// - /// NotImplementedException - public Task GetAsync(QueryRoleReq req) + /// + public async Task GetAsync(QueryRoleReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询角色 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -84,18 +66,14 @@ public sealed class RoleService : RepositoryService, IRo return new PagedQueryRsp(req.Page, req.PageSize, total, list.Adapt>()); } - /// - /// 查询角色 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新角色 - /// + /// public async Task UpdateAsync(UpdateRoleReq req) { var entity = req.Adapt(); @@ -107,6 +85,12 @@ public sealed class RoleService : RepositoryService, IRo return (await QueryAsync(new QueryReq { Filter = new QueryRoleReq { Id = req.Id } })).First(); } + /// + protected override Task UpdateForSqliteAsync(Sys_Role req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { var ret = Rpo.Select.IncludeMany(a => a.Depts.Select(b => new Sys_Dept { Id = b.Id })) @@ -116,8 +100,8 @@ public sealed class RoleService : RepositoryService, IRo .WhereDynamic(req.Filter) .WhereIf( // req.Keywords?.Length > 0 - , a => a.Name.Contains(req.Keywords) || a.Summary.Contains(req.Keywords) || - a.Id == req.Keywords.Int64Try(0)) + , a => a.Id == req.Keywords.Int64Try(0) || a.Name.Contains(req.Keywords) || + a.Summary.Contains(req.Keywords)) .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); if (!req.Prop?.Equals(nameof(req.Filter.Sort), StringComparison.OrdinalIgnoreCase) ?? true) { diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs new file mode 100644 index 00000000..ba66fe11 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs @@ -0,0 +1,98 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgDept; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgDeptService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgDeptService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgDeptReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgDeptReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgDeptReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgDeptRsp; + } + + var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgDept req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgDeptReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs new file mode 100644 index 00000000..841fca37 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs @@ -0,0 +1,102 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgFlagService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgFlagService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgFlagReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgFlagReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgFlagReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgFlagRsp; + } + + var ret = await Rpo.UpdateDiy.Set(a => a.UserSiteMsgStatus == req.UserSiteMsgStatus) + .Where(a => a.UserId == req.UserId && a.SiteMsgId == req.SiteMsgId) + .ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgFlag req) + { + return await Rpo.UpdateDiy.Set(a => a.UserSiteMsgStatus == req.UserSiteMsgStatus) + .Where(a => a.UserId == req.UserId && a.SiteMsgId == req.SiteMsgId) + .ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgFlagReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs new file mode 100644 index 00000000..ea98c4c7 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs @@ -0,0 +1,98 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgRole; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgRoleService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgRoleService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgRoleReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgRoleReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgRoleReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgRoleRsp; + } + + var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgRole req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgRoleReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs new file mode 100644 index 00000000..acd967a7 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs @@ -0,0 +1,280 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.Contexts; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.Domain.Dto.Sys.User; +using NetAdmin.Domain.Enums.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgService(DefaultRepository rpo, ContextUserInfo contextUserInfo + , ISiteMsgFlagService siteMsgFlagService) // + : RepositoryService(rpo), ISiteMsgService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgReq req) + { + await CreateUpdateCheckAsync(req); + + // 主表 + var entity = req.Adapt(); + var dbSiteMsg = await Rpo.InsertAsync(entity); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Users)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Depts)); + + var ret = await QueryAsync( + new QueryReq { Filter = new QuerySiteMsgReq { Id = dbSiteMsg.Id } }); + + return ret.Adapt(); + } + + /// + public async Task DeleteAsync(DelReq req) + { + var ret = await Rpo.DeleteCascadeByDatabaseAsync(a => a.Id == req.Id); + return ret.Count; + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }) + .IncludeMany(a => a.Roles) + .IncludeMany(a => a.Users) + .IncludeMany(a => a.Depts) + .ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task GetMineAsync(QuerySiteMsgReq req) + { + var ret = await PagedQueryMineAsync( + new PagedQueryReq { + DynamicFilter + = new DynamicFilterInfo { + Field = nameof(req.Id) + , Value = req.Id + , Operator = DynamicFilterOperators.Eq + } + }, true); + return ret.Rows.FirstOrDefault(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req) + .Page(req.Page, req.PageSize) + .Count(out var total) + .ToListAsync(a => new { + a.CreatedTime + , a.Creator + , a.Id + , a.MsgType + , a.Summary + , a.Title + , a.Version + }); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public Task> PagedQueryMineAsync(PagedQueryReq req) + { + return PagedQueryMineAsync(req, false); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req) + { + if (!await ExistAsync(new QueryReq { Filter = new QuerySiteMsgReq { Id = req.SiteMsgId } })) { + throw new NetAdminInvalidOperationException(Ln.站内信不存在); + } + + try { + _ = await siteMsgFlagService.CreateAsync(req with { UserId = contextUserInfo.Id }); + } + catch { + _ = await siteMsgFlagService.UpdateAsync(req with { UserId = contextUserInfo.Id }); + } + } + + /// + public async Task UnreadCountAsync() + { + // 减去标记已读的数量 + var subtract = await Rpo.Orm.Select() + .Where(a => a.UserId == contextUserInfo.Id && + a.UserSiteMsgStatus == UserSiteMsgStatues.Read) + .CountAsync(); + + return await QueryMineInternal(new QueryReq()).CountAsync() - subtract; + } + + /// + public async Task UpdateAsync(UpdateSiteMsgReq req) + { + await CreateUpdateCheckAsync(req); + + // 主表 + var entity = req.Adapt(); + _ = await Rpo.UpdateDiy.SetSource(entity).ExecuteAffrowsAsync(); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Users)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Depts)); + + return (await QueryAsync(new QueryReq { Filter = new QuerySiteMsgReq { Id = req.Id } })) + .First(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsg req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgReq { Id = req.Id }); + } + + private async Task CreateUpdateCheckAsync(CreateSiteMsgReq req) + { + // 检查角色是否存在 + if (!req.RoleIds.NullOrEmpty()) { + var roles = await Rpo.Orm.Select().Where(a => req.RoleIds.Contains(a.Id)).ToListAsync(a => a.Id); + if (roles.Count != req.RoleIds.Count) { + throw new NetAdminInvalidOperationException(Ln.角色不存在); + } + } + + if (!req.DeptIds.NullOrEmpty()) { + // 检查部门是否存在 + var depts = await Rpo.Orm.Select().Where(a => req.DeptIds.Contains(a.Id)).ToListAsync(a => a.Id); + if (depts.Count != req.DeptIds.Count) { + throw new NetAdminInvalidOperationException(Ln.部门不存在); + } + } + + if (!req.UserIds.NullOrEmpty()) { + // 检查用户是否存在 + var users = await Rpo.Orm.Select().Where(a => req.UserIds.Contains(a.Id)).ToListAsync(a => a.Id); + if (users.Count != req.UserIds.Count) { + throw new NetAdminInvalidOperationException(Ln.用户不存在); + } + } + } + + private async Task> PagedQueryMineAsync( + PagedQueryReq req, bool containsContent) + { + var list = await QueryMineInternal(req) + .Page(req.Page, req.PageSize) + .Count(out var total) + .ToListAsync(a => new QuerySiteMsgRsp { + Id = a.Max(a.Value.Item1.Id) + , Title = a.Max(a.Value.Item1.Title) + , Summary = a.Max(a.Value.Item1.Summary) + , Content + = containsContent + ? a.Max(a.Value.Item1.Content) + : null + , CreatedTime = a.Max(a.Value.Item1.CreatedTime) + , MyFlags + = new QuerySiteMsgFlagRsp { + UserSiteMsgStatus + = a.Max(a.Value.Item6 + .UserSiteMsgStatus) + } + , Sender = new QueryUserRsp { + UserName = a.Max( + a.Value.Item2.UserName) + , Avatar = a.Max(a.Value.Item2.Avatar) + } + }); + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.Include(a => a.Creator) + .WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .WhereIf( // + req.Keywords?.Length > 0 + , a => a.Id == req.Keywords.Int64Try(0) || a.Title.Contains(req.Keywords) || + a.Summary.Contains(req.Keywords)) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } + + private ISelectGrouping // + > + QueryMineInternal(QueryReq req) + { + var roleIds = contextUserInfo.Roles.Select(x => x.Id).ToList(); + + return Rpo.Orm + .Select() + .LeftJoin((a, b, _, _, _, _) => a.CreatedUserId == b.Id) + .LeftJoin((a, _, c, _, _, _) => a.Id == c.SiteMsgId) + .LeftJoin((a, _, _, d, _, _) => a.Id == d.SiteMsgId) + .LeftJoin((a, _, _, _, e, _) => a.Id == e.SiteMsgId) + .LeftJoin((a, _, _, _, _, f) => a.Id == f.SiteMsgId) + .WhereDynamicFilter(req.DynamicFilter) + .Where((a, _, c, d, e, f) => + (SqlExt.EqualIsNull(f.UserSiteMsgStatus) || + f.UserSiteMsgStatus != UserSiteMsgStatues.Deleted) && + (a.MsgType == SiteMsgTypes.Public || c.DeptId == contextUserInfo.DeptId || + roleIds.Contains(d.RoleId) || e.UserId == contextUserInfo.Id)) + .GroupBy((a, _, _, _, _, _) => a.Id) + .OrderByDescending(a => a.Value.Item1.CreatedTime); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs new file mode 100644 index 00000000..8754ec6b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs @@ -0,0 +1,98 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgUser; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgUserService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgUserService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgUserReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgUserReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgUserReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgUserRsp; + } + + var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgUser req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgUserReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs index 00d27f5a..fb108967 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs @@ -1,4 +1,5 @@ using NetAdmin.Application.Services; +using NetAdmin.Domain.Dto.Sys.Tool; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; @@ -6,19 +7,29 @@ namespace NetAdmin.SysComponent.Application.Services.Sys; /// public sealed class ToolsService : ServiceBase, IToolsService { - /// - /// 服务器时间 - /// - public DateTime GetServerUtcTime() + /// + public Task> GetModulesAsync() { - return DateTime.UtcNow; + return Task.FromResult>(AppDomain.CurrentDomain.GetAssemblies() + .Select(x => { + var asm = x.GetName(); + return new GetModulesRsp { + Name = asm.Name + , Version = asm.Version?.ToString() + }; + }) + .OrderBy(x => x.Name)); } - /// - /// 版本信息 - /// - public string Version() + /// + public Task GetServerUtcTimeAsync() { - return Global.ProductVersion; + return Task.FromResult(DateTime.UtcNow); + } + + /// + public Task GetVersionAsync() + { + return Task.FromResult(GlobalStatic.ProductVersion); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs index 8ca8926c..1d7d4381 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs @@ -10,17 +10,10 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class UserProfileService : RepositoryService, IUserProfileService +public sealed class UserProfileService(DefaultRepository rpo) // + : RepositoryService(rpo), IUserProfileService { - /// - /// Initializes a new instance of the class. - /// - public UserProfileService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除用户档案 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -31,9 +24,7 @@ public sealed class UserProfileService : RepositoryService - /// 创建用户档案 - /// + /// public async Task CreateAsync(CreateUserProfileReq req) { var entity = req.Adapt(); @@ -41,36 +32,26 @@ public sealed class UserProfileService : RepositoryService(); } - /// - /// 删除用户档案 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断用户档案是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个用户档案 - /// - /// NotImplementedException + /// public async Task GetAsync(QueryUserProfileReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 分页查询用户档案 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req) @@ -95,9 +76,7 @@ public sealed class UserProfileService : RepositoryService - /// 查询用户档案 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req) @@ -122,29 +101,37 @@ public sealed class UserProfileService : RepositoryService() - , EmergencyContactArea = x.e.Key == null + , EmergencyContactArea + = x.e.Key == null ? null : x.e.Adapt() }); } - /// - /// 更新用户档案 - /// + /// public async Task UpdateAsync(UpdateUserProfileReq req) { var entity = req.Adapt(); if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(entity); + return await UpdateForSqliteAsync(entity) as QueryUserProfileRsp; } var ret = await Rpo.UpdateDiy.SetSource(entity).ExecuteUpdatedAsync(); return ret.FirstOrDefault()?.Adapt(); } + /// + protected override async Task UpdateForSqliteAsync(Sys_UserProfile req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QueryUserProfileReq { Id = req.Id }); + } + private ISelect QueryInternal( QueryReq req) { + #pragma warning disable CA1305 return Rpo.Orm.Select() .LeftJoin((a, b, _, __, ___) => a.NationArea.ToString() == b.Value && b.CatalogId == Numbers.DIC_CATALOG_ID_GEO_AREA) @@ -157,15 +144,6 @@ public sealed class UserProfileService : RepositoryService 0, req.Prop, req.Order == Orders.Ascending) .OrderByDescending((a, _, __, ___, ____) => a.Id); - } - - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Sys_UserProfile req) - { - return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 - ? null - : await GetAsync(new QueryUserProfileReq { Id = req.Id }); + #pragma warning restore CA1305 } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs index 20a1066f..a644456c 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs @@ -14,10 +14,12 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class UserService : RepositoryService, IUserService +public sealed class UserService(DefaultRepository rpo // + , IUserProfileService userProfileService // + , IVerifyCodeService verifyCodeService // + , IEventPublisher eventPublisher) // + : RepositoryService(rpo), IUserService { - private readonly IEventPublisher _eventPublisher; - private readonly Expression> _selectUserFields = a => new Sys_User { Id = a.Id , Avatar = a.Avatar @@ -32,25 +34,7 @@ public sealed class UserService : RepositoryService, IUs , Roles = a.Roles }; - private readonly IUserProfileService _userProfileService; - - private readonly IVerifyCodeService _verifyCodeService; - - /// - /// Initializes a new instance of the class. - /// - public UserService(Repository rpo, IUserProfileService userProfileService - , IVerifyCodeService verifyCodeService, IEventPublisher eventPublisher) // - : base(rpo) - { - _userProfileService = userProfileService; - _verifyCodeService = verifyCodeService; - _eventPublisher = eventPublisher; - } - - /// - /// 批量删除用户 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -61,25 +45,19 @@ public sealed class UserService : RepositoryService, IUs return sum; } - /// - /// 检查手机号是否可用 - /// + /// public async Task CheckMobileAvailableAsync(CheckMobileAvailableReq req) { return !await Rpo.Select.Where(a => a.Mobile == req.Mobile && a.Id != req.Id).AnyAsync(); } - /// - /// 检查用户名是否可用 - /// + /// public async Task CheckUserNameAvailableAsync(CheckUserNameAvailableReq req) { return !await Rpo.Select.Where(a => a.UserName == req.UserName && a.Id != req.Id).AnyAsync(); } - /// - /// 创建用户 - /// + /// public async Task CreateAsync(CreateUserReq req) { await CreateUpdateCheckAsync(req); @@ -92,14 +70,12 @@ public sealed class UserService : RepositoryService, IUs await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); // 档案表 - _ = await _userProfileService.CreateAsync(req.Profile with { Id = dbUser.Id }); + _ = await userProfileService.CreateAsync(req.Profile with { Id = dbUser.Id }); var ret = await QueryAsync(new QueryReq { Filter = new QueryUserReq { Id = dbUser.Id } }); return ret.First(); } - /// - /// 删除用户 - /// + /// public async Task DeleteAsync(DelReq req) { var effect = 0; @@ -111,31 +87,25 @@ public sealed class UserService : RepositoryService, IUs effect += await Rpo.Orm.Delete(new { UserId = req.Id }).ExecuteAffrowsAsync(); // 删除档案表 - effect += await _userProfileService.DeleteAsync(req); + effect += await userProfileService.DeleteAsync(req); return effect; } - /// - /// 判断用户是否存在 - /// + /// public async Task ExistAsync(QueryReq req) { return await (await QueryInternalAsync(req)).AnyAsync(); } - /// - /// 获取单个用户 - /// - /// NotImplementedException - public Task GetAsync(QueryUserReq req) + /// + public async Task GetAsync(QueryUserReq req) { - throw new NotImplementedException(); + var ret = await (await QueryInternalAsync(new QueryReq { Filter = req })).ToOneAsync(); + return ret.Adapt(); } - /// - /// 获取单个用户(带更新锁) - /// + /// public async Task GetForUpdateAsync(QueryUserReq req) { // ReSharper disable once MethodHasAsyncOverload @@ -143,9 +113,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); } - /// - /// 密码登录 - /// + /// /// 用户名或密码错误 public async Task LoginByPwdAsync(LoginByPwdReq req) { @@ -155,35 +123,31 @@ public sealed class UserService : RepositoryService, IUs #pragma warning disable IDE0045 if (new MobileAttribute().IsValid(req.Account)) { #pragma warning restore IDE0045 - dbUser = await Rpo.GetAsync(a => a.Mobile == req.Account && a.Password == pwd); + dbUser = await Rpo.Where(a => a.Mobile == req.Account && a.Password == pwd).ToOneAsync(); } else { dbUser = new EmailAddressAttribute().IsValid(req.Account) - ? await Rpo.GetAsync(a => a.Email == req.Account && a.Password == pwd) - : await Rpo.GetAsync(a => a.UserName == req.Account && a.Password == pwd); + ? await Rpo.Where(a => a.Email == req.Account && a.Password == pwd).ToOneAsync() + : await Rpo.Where(a => a.UserName == req.Account && a.Password == pwd).ToOneAsync(); } return dbUser == null ? throw new NetAdminInvalidOperationException(Ln.用户名或密码错误) : LoginInternal(dbUser); } - /// - /// 短信登录 - /// + /// /// 验证码不正确 /// 用户不存在 public async Task LoginBySmsAsync(LoginBySmsReq req) { - if (!await _verifyCodeService.VerifyAsync(req.Adapt())) { + if (!await verifyCodeService.VerifyAsync(req.Adapt())) { throw new NetAdminInvalidOperationException(Ln.验证码不正确); } - var dbUser = await Rpo.GetAsync(a => a.Mobile == req.DestDevice); + var dbUser = await Rpo.Where(a => a.Mobile == req.DestDevice).ToOneAsync(); return dbUser == null ? throw new NetAdminInvalidOperationException(Ln.用户不存在) : LoginInternal(dbUser); } - /// - /// 分页查询用户 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await (await QueryInternalAsync(req)).Page(req.Page, req.PageSize) @@ -192,30 +156,24 @@ public sealed class UserService : RepositoryService, IUs return new PagedQueryRsp(req.Page, req.PageSize, total, list.Adapt>()); } - /// - /// 查询用户 - /// + /// public async Task> QueryAsync(QueryReq req) { var list = await (await QueryInternalAsync(req)).Take(req.Count).ToListAsync(_selectUserFields); return list.Adapt>(); } - /// - /// 查询用户档案 - /// + /// public Task> QueryProfileAsync(QueryReq req) { - return _userProfileService.QueryAsync(req); + return userProfileService.QueryAsync(req); } - /// - /// 注册用户 - /// + /// /// 验证码不正确 public async Task RegisterAsync(RegisterUserReq req) { - if (!await _verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { + if (!await verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { throw new NetAdminInvalidOperationException(Ln.验证码不正确); } @@ -223,14 +181,12 @@ public sealed class UserService : RepositoryService, IUs return (await CreateAsync(createReq)).Adapt(); } - /// - /// 重设密码 - /// + /// /// 验证码不正确 /// 用户不存在 public async Task ResetPasswordAsync(ResetPasswordReq req) { - return !await _verifyCodeService.VerifyAsync(req.VerifySmsCodeReq) + return !await verifyCodeService.VerifyAsync(req.VerifySmsCodeReq) ? throw new NetAdminInvalidOperationException(Ln.验证码不正确) : (uint)await Rpo.UpdateDiy .SetSource((await Rpo.Where(a => a.Mobile == req.VerifySmsCodeReq.DestDevice) @@ -259,7 +215,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); return ret; } @@ -270,12 +226,12 @@ public sealed class UserService : RepositoryService, IUs // 如果已绑定手机号、需要手机安全验证 if (!user.Mobile.NullOrEmpty()) { - if (!await _verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { + if (!await verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { throw new NetAdminInvalidOperationException(Ln.验证码不正确); } if (user.Mobile != req.VerifySmsCodeReq.DestDevice) { - throw new NetAdminInvalidOperationException($"{Ln.手机号码} {Ln.不正确}"); + throw new NetAdminInvalidOperationException($"{Ln.手机号码不正确}"); } } @@ -291,7 +247,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); return ret; } @@ -302,18 +258,18 @@ public sealed class UserService : RepositoryService, IUs if (!user.Mobile.NullOrEmpty()) { // 已有手机号,需验证旧手机 - if (!await _verifyCodeService.VerifyAsync(req.OriginVerifySmsCodeReq)) { - throw new NetAdminInvalidOperationException($"{Ln.旧手机号码} {Ln.验证码不正确}"); + if (!await verifyCodeService.VerifyAsync(req.OriginVerifySmsCodeReq)) { + throw new NetAdminInvalidOperationException($"{Ln.旧手机号码验证码不正确}"); } if (user.Mobile != req.OriginVerifySmsCodeReq.DestDevice) { - throw new NetAdminInvalidOperationException($"{Ln.旧手机号码} {Ln.不正确}"); + throw new NetAdminInvalidOperationException($"{Ln.旧手机号码不正确}"); } } // 验证新手机号 - if (!await _verifyCodeService.VerifyAsync(req.NewVerifySmsCodeReq)) { - throw new NetAdminInvalidOperationException($"{Ln.新手机号码} {Ln.验证码不正确}"); + if (!await verifyCodeService.VerifyAsync(req.NewVerifySmsCodeReq)) { + throw new NetAdminInvalidOperationException($"{Ln.新手机号码验证码不正确}"); } if (await Rpo.UpdateDiy @@ -332,7 +288,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); return ret; } @@ -341,24 +297,22 @@ public sealed class UserService : RepositoryService, IUs { var version = await Rpo.Where(a => a.Id == UserToken.Id && a.Password == req.OldPassword.Pwd().Guid()) .ToOneAsync(a => new long?(a.Version)); - if (version == null) { - throw new NetAdminInvalidInputException($"{Ln.旧密码} {Ln.不正确}"); + if (version != null) { + var ret = await Rpo.UpdateDiy + .SetSource(new Sys_User { + Id = UserToken.Id + , Password = req.NewPassword.Pwd().Guid() + , Version = version.Value + }) + .UpdateColumns(a => a.Password) + .ExecuteAffrowsAsync(); + return ret <= 0 ? throw new NetAdminUnexpectedException() : (uint)ret; } - var ret = await Rpo.UpdateDiy - .SetSource(new Sys_User { - Id = UserToken.Id - , Password = req.NewPassword.Pwd().Guid() - , Version = version.Value - }) - .UpdateColumns(a => a.Password) - .ExecuteAffrowsAsync(); - return ret <= 0 ? throw new NetAdminUnexpectedException() : (uint)ret; + throw new NetAdminInvalidOperationException($"{Ln.旧密码不正确}"); } - /// - /// 更新用户 - /// + /// public async Task UpdateAsync(UpdateUserReq req) { await CreateUpdateCheckAsync(req); @@ -373,7 +327,7 @@ public sealed class UserService : RepositoryService, IUs _ = await Rpo.UpdateDiy.SetSource(entity).IgnoreColumns(ignoreCols.ToArray()).ExecuteAffrowsAsync(); // 档案表 - _ = await _userProfileService.UpdateAsync(req.Profile); + _ = await userProfileService.UpdateAsync(req.Profile); // 分表 await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); @@ -381,21 +335,17 @@ public sealed class UserService : RepositoryService, IUs var ret = (await QueryAsync(new QueryReq { Filter = new QueryUserReq { Id = req.Id } })).First(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret.Adapt())); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret.Adapt())); return ret; } - /// - /// 单体更新 - /// + /// public Task UpdateSingleAsync(UpdateUserReq req) { return Rpo.UpdateAsync(req); } - /// - /// 当前用户信息 - /// + /// public async Task UserInfoAsync() { var dbUser = await Rpo.Where(a => a.Token == UserToken.Token && a.Enabled) @@ -410,6 +360,12 @@ public sealed class UserService : RepositoryService, IUs return dbUser.Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_User req) + { + throw new NotImplementedException(); + } + private static LoginRsp LoginInternal(IFieldEnabled dbUser) { if (!dbUser.Enabled) { @@ -447,10 +403,14 @@ public sealed class UserService : RepositoryService, IUs private ISelect QueryInternal(QueryReq req) { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; } private async Task> QueryInternalAsync(QueryReq req) @@ -473,8 +433,8 @@ public sealed class UserService : RepositoryService, IUs req.Filter?.RoleId > 0, a => a.Roles.Any(b => b.Id == req.Filter.RoleId)) .WhereIf( // req.Keywords?.Length > 0 - , a => a.UserName.Contains(req.Keywords) || a.Id == req.Keywords.Int64Try(0) || - a.Mobile.Contains(req.Keywords) || a.Email.Contains(req.Keywords) || + , a => a.Id == req.Keywords.Int64Try(0) || a.UserName.Contains(req.Keywords) || + a.Mobile.Contains(req.Keywords) || a.Email.Contains(req.Keywords) || a.Summary.Contains(req.Keywords)) .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs index c8c9c00d..f2a8ee1f 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs @@ -11,22 +11,12 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class VerifyCodeService : RepositoryService, IVerifyCodeService +public sealed class VerifyCodeService(DefaultRepository rpo, IEventPublisher eventPublisher) // + : RepositoryService(rpo), IVerifyCodeService { - private readonly IEventPublisher _eventPublisher; + private static readonly int[] _randRange = { 0, 10000 }; - /// - /// Initializes a new instance of the class. - /// - public VerifyCodeService(Repository rpo, IEventPublisher eventPublisher) // - : base(rpo) - { - _eventPublisher = eventPublisher; - } - - /// - /// 批量删除验证码 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -37,9 +27,7 @@ public sealed class VerifyCodeService : RepositoryService - /// 创建验证码 - /// + /// public async Task CreateAsync(CreateVerifyCodeReq req) { var entity = await Rpo.InsertAsync(req); @@ -47,39 +35,31 @@ public sealed class VerifyCodeService : RepositoryService(); // 发布验证码创建事件 - await _eventPublisher.PublishAsync(new VerifyCodeCreatedEvent(ret)); + await eventPublisher.PublishAsync(new VerifyCodeCreatedEvent(ret)); return ret; } - /// - /// 删除验证码 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断验证码是否存在 - /// + /// public Task ExistAsync(QueryReq req) { return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个验证码 - /// + /// public async Task GetAsync(QueryVerifyCodeReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 分页查询验证码 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -88,9 +68,7 @@ public sealed class VerifyCodeService : RepositoryService>()); } - /// - /// 查询验证码 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); @@ -115,20 +93,18 @@ public sealed class VerifyCodeService : RepositoryService() with { Code = lastSent.Code }); } else { // 生成新的code - var code = new[] { 0, 10000 }.Rand().ToString(CultureInfo.InvariantCulture).PadLeft(4, '0'); + var code = _randRange.Rand().ToString(CultureInfo.InvariantCulture).PadLeft(4, '0'); ret = await CreateAsync(req.Adapt() with { Code = code }); } return ret.Adapt(); } - /// - /// 更新验证码 - /// + /// public async Task UpdateAsync(UpdateVerifyCodeReq req) { if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(req); + return await UpdateForSqliteAsync(req) as QueryVerifyCodeRsp; } var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); @@ -143,7 +119,7 @@ public sealed class VerifyCodeService : RepositoryService + protected override async Task UpdateForSqliteAsync(Sys_VerifyCode req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QueryVerifyCodeReq { Id = req.Id }); + } + private Task GetLastSentAsync(string destDevice) { return QueryInternal(new QueryReq { @@ -167,7 +151,7 @@ public sealed class VerifyCodeService : RepositoryService QueryInternal(QueryReq req) { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); - } + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Sys_VerifyCode req) - { - return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 - ? null - : await GetAsync(new QueryVerifyCodeReq { Id = req.Id }); + return ret; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs index 07956af2..368b2917 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs @@ -9,17 +9,10 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Tpl; /// -public sealed class ExampleService : RepositoryService, IExampleService +public sealed class ExampleService(DefaultRepository rpo) // + : RepositoryService(rpo), IExampleService { - /// - /// Initializes a new instance of the class. - /// - public ExampleService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除示例 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -30,43 +23,33 @@ public sealed class ExampleService : RepositoryService - /// 创建示例 - /// + /// public async Task CreateAsync(CreateExampleReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除示例 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断示例是否存在 - /// + /// public Task ExistAsync(QueryReq req) { return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个示例 - /// + /// public async Task GetAsync(QueryExampleReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 分页查询示例 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -75,43 +58,41 @@ public sealed class ExampleService : RepositoryService>()); } - /// - /// 查询示例 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新示例 - /// + /// public async Task UpdateAsync(UpdateExampleReq req) { if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(req); + return await UpdateForSqliteAsync(req) as QueryExampleRsp; } var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); return ret.FirstOrDefault()?.Adapt(); } - private ISelect QueryInternal(QueryReq req) - { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); - } - - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Tpl_Example req) + /// + protected override async Task UpdateForSqliteAsync(Tpl_Example req) { return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 ? null : await GetAsync(new QueryExampleReq { Id = req.Id }); } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj b/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj index fe98ed52..30ce70b0 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj +++ b/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs index 0fece7e5..941e330e 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 接口缓存 -/// -public sealed class ApiCache : DistributedCache, IScoped, IApiCache +/// +public sealed class ApiCache(IDistributedCache cache, IApiService service) // + : DistributedCache(cache, service), IScoped, IApiCache { - /// - /// Initializes a new instance of the class. - /// - public ApiCache(IDistributedCache cache, IApiService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs index 532aefde..dc589b55 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 缓存缓存 -/// -public sealed class CacheCache : DistributedCache, IScoped, ICacheCache +/// +public sealed class CacheCache(IDistributedCache cache, ICacheService service) // + : DistributedCache(cache, service), IScoped, ICacheCache { - /// - /// Initializes a new instance of the class. - /// - public CacheCache(IDistributedCache cache, ICacheService service) // - : base(cache, service) { } - /// public Task CacheStatisticsAsync() { @@ -25,8 +18,8 @@ public sealed class CacheCache : DistributedCache, IScoped, ICach } /// - public PagedQueryRsp GetAllEntries(PagedQueryReq req) + public Task> GetAllEntriesAsync(PagedQueryReq req) { - return Service.GetAllEntries(req); + return Service.GetAllEntriesAsync(req); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs index 2167e619..9cff4b7f 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; /// -public sealed class CaptchaCache : DistributedCache, IScoped, ICaptchaCache +public sealed class CaptchaCache(IDistributedCache cache, ICaptchaService service) // + : DistributedCache(cache, service), IScoped, ICaptchaCache { - /// - /// Initializes a new instance of the class. - /// - public CaptchaCache(IDistributedCache cache, ICaptchaService service) // - : base(cache, service) { } - - /// - /// 获取人机校验图 - /// + /// public async Task GetCaptchaImageAsync() { var captchaRsp = await Service.GetCaptchaImageAsync(); @@ -25,9 +18,7 @@ public sealed class CaptchaCache : DistributedCache, IScoped, I return captchaRsp; } - /// - /// 完成人机校验 ,并删除缓存项 - /// + /// /// 人机验证未通过 public async Task VerifyCaptchaAndRemoveAsync(VerifyCaptchaReq req) { @@ -41,9 +32,7 @@ public sealed class CaptchaCache : DistributedCache, IScoped, I } } - /// - /// 完成人机校验 - /// + /// public async Task VerifyCaptchaAsync(VerifyCaptchaReq req) { var val = await GetAsync(GetCacheKey(req.Id, nameof(CaptchaCache))); diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs index 8e95172a..e4604a9f 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 配置缓存 -/// -public sealed class ConfigCache : DistributedCache, IScoped, IConfigCache +/// +public sealed class ConfigCache(IDistributedCache cache, IConfigService service) // + : DistributedCache(cache, service), IScoped, IConfigCache { - /// - /// Initializes a new instance of the class. - /// - public ConfigCache(IDistributedCache cache, IConfigService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs index 20396bc7..43ee4024 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs @@ -4,17 +4,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 常量缓存 -/// -public sealed class ConstantCache : DistributedCache, IScoped, IConstantCache +/// +public sealed class ConstantCache(IDistributedCache cache, IConstantService service) // + : DistributedCache(cache, service), IScoped, IConstantCache { - /// - /// Initializes a new instance of the class. - /// - public ConstantCache(IDistributedCache cache, IConstantService service) // - : base(cache, service) { } - /// public IDictionary GetCharsDic() { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs new file mode 100644 index 00000000..dcda66a2 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信缓存 +/// +public interface ISiteMsgCache : ICache, ISiteMsgModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs new file mode 100644 index 00000000..7f10554b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信-部门映射缓存 +/// +public interface ISiteMsgDeptCache : ICache, ISiteMsgDeptModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs new file mode 100644 index 00000000..8614cfa0 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信标记缓存 +/// +public interface ISiteMsgFlagCache : ICache, ISiteMsgFlagModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs new file mode 100644 index 00000000..992b0861 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信-角色映射缓存 +/// +public interface ISiteMsgRoleCache : ICache, ISiteMsgRoleModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs new file mode 100644 index 00000000..67503065 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信-用户映射缓存 +/// +public interface ISiteMsgUserCache : ICache, ISiteMsgUserModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs index 89b9d6f1..14198619 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 部门缓存 -/// -public sealed class DeptCache : DistributedCache, IScoped, IDeptCache +/// +public sealed class DeptCache(IDistributedCache cache, IDeptService service) // + : DistributedCache(cache, service), IScoped, IDeptCache { - /// - /// Initializes a new instance of the class. - /// - public DeptCache(IDistributedCache cache, IDeptService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs index 9dfac095..774bdadd 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs @@ -5,17 +5,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 开发缓存 -/// -public sealed class DevCache : DistributedCache, IScoped, IDevCache +/// +public sealed class DevCache(IDistributedCache cache, IDevService service) // + : DistributedCache(cache, service), IScoped, IDevCache { - /// - /// Initializes a new instance of the class. - /// - public DevCache(IDistributedCache cache, IDevService service) // - : base(cache, service) { } - /// public Task GenerateCsCodeAsync(GenerateCsCodeReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs index a61194b0..f089d369 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs @@ -7,17 +7,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 字典缓存 -/// -public sealed class DicCache : DistributedCache, IScoped, IDicCache +/// +public sealed class DicCache(IDistributedCache cache, IDicService service) // + : DistributedCache(cache, service), IScoped, IDicCache { - /// - /// Initializes a new instance of the class. - /// - public DicCache(IDistributedCache cache, IDicService service) // - : base(cache, service) { } - /// public Task BulkDeleteCatalogAsync(BulkReq req) { @@ -54,6 +47,18 @@ public sealed class DicCache : DistributedCache, IScoped, IDicCache return Service.DeleteContentAsync(req); } + /// + public Task GetCatalogAsync(QueryDicCatalogReq req) + { + return Service.GetCatalogAsync(req); + } + + /// + public Task GetContentAsync(QueryDicContentReq req) + { + return Service.GetContentAsync(req); + } + /// public Task> PagedQueryCatalogAsync(PagedQueryReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs index 40514917..a18e8f40 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 字典目录缓存 -/// -public sealed class DicCatalogCache : DistributedCache, IScoped, IDicCatalogCache +/// +public sealed class DicCatalogCache(IDistributedCache cache, IDicCatalogService service) // + : DistributedCache(cache, service), IScoped, IDicCatalogCache { - /// - /// Initializes a new instance of the class. - /// - public DicCatalogCache(IDistributedCache cache, IDicCatalogService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs index 0ca5a242..42660519 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 字典内容缓存 -/// -public sealed class DicContentCache : DistributedCache, IScoped, IDicContentCache +/// +public sealed class DicContentCache(IDistributedCache cache, IDicContentService service) // + : DistributedCache(cache, service), IScoped, IDicContentCache { - /// - /// Initializes a new instance of the class. - /// - public DicContentCache(IDistributedCache cache, IDicContentService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs index cebde69b..3f00ac78 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs @@ -4,17 +4,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 文件缓存 -/// -public sealed class FileCache : DistributedCache, IScoped, IFileCache +/// +public sealed class FileCache(IDistributedCache cache, IFileService service) // + : DistributedCache(cache, service), IScoped, IFileCache { - /// - /// Initializes a new instance of the class. - /// - public FileCache(IDistributedCache cache, IFileService service) // - : base(cache, service) { } - /// public Task UploadAsync(IFormFile file) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs index b960eba1..a4e7aeca 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 菜单缓存 -/// -public sealed class MenuCache : DistributedCache, IScoped, IMenuCache +/// +public sealed class MenuCache(IDistributedCache cache, IMenuService service) // + : DistributedCache(cache, service), IScoped, IMenuCache { - /// - /// Initializes a new instance of the class. - /// - public MenuCache(IDistributedCache cache, IMenuService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs index cd9add4c..5b9e6b78 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 请求日志缓存 -/// -public sealed class RequestLogCache : DistributedCache, IScoped, IRequestLogCache +/// +public sealed class RequestLogCache(IDistributedCache cache, IRequestLogService service) // + : DistributedCache(cache, service), IScoped, IRequestLogCache { - /// - /// Initializes a new instance of the class. - /// - public RequestLogCache(IDistributedCache cache, IRequestLogService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs index 800d68fd..c9361b9d 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 角色缓存 -/// -public sealed class RoleCache : DistributedCache, IScoped, IRoleCache +/// +public sealed class RoleCache(IDistributedCache cache, IRoleService service) // + : DistributedCache(cache, service), IScoped, IRoleCache { - /// - /// Initializes a new instance of the class. - /// - public RoleCache(IDistributedCache cache, IRoleService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs new file mode 100644 index 00000000..03b8b37a --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs @@ -0,0 +1,86 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgCache + (IDistributedCache cache, ISiteMsgService service) : DistributedCache(cache, service), IScoped + , ISiteMsgCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgReq req) + { + return Service.GetAsync(req); + } + + /// + public Task GetMineAsync(QuerySiteMsgReq req) + { + return Service.GetMineAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> PagedQueryMineAsync(PagedQueryReq req) + { + return Service.PagedQueryMineAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req) + { + return Service.SetSiteMsgStatusAsync(req); + } + + /// + public Task UnreadCountAsync() + { + return Service.UnreadCountAsync(); + } + + /// + public Task UpdateAsync(UpdateSiteMsgReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs new file mode 100644 index 00000000..ee6bf76b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgDept; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgDeptCache + (IDistributedCache cache, ISiteMsgDeptService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgDeptCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgDeptReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgDeptReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgDeptReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs new file mode 100644 index 00000000..4f5572ce --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgFlagCache + (IDistributedCache cache, ISiteMsgFlagService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgFlagCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgFlagReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgFlagReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgFlagReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs new file mode 100644 index 00000000..2e78cc80 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgRole; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgRoleCache + (IDistributedCache cache, ISiteMsgRoleService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgRoleCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgRoleReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgRoleReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgRoleReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs new file mode 100644 index 00000000..f7941122 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgUser; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgUserCache + (IDistributedCache cache, ISiteMsgUserService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgUserCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgUserReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgUserReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgUserReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs index 6d17aeb8..9df1e4e0 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs @@ -1,29 +1,29 @@ using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Sys.Tool; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 工具缓存 -/// -public sealed class ToolsCache : DistributedCache, IScoped, IToolsCache +/// +public sealed class ToolsCache(IDistributedCache cache, IToolsService service) // + : DistributedCache(cache, service), IScoped, IToolsCache { - /// - /// Initializes a new instance of the class. - /// - public ToolsCache(IDistributedCache cache, IToolsService service) // - : base(cache, service) { } - /// - public DateTime GetServerUtcTime() + public Task> GetModulesAsync() { - return Service.GetServerUtcTime(); + return Service.GetModulesAsync(); } /// - public string Version() + public Task GetServerUtcTimeAsync() { - return Service.Version(); + return Service.GetServerUtcTimeAsync(); + } + + /// + public Task GetVersionAsync() + { + return Service.GetVersionAsync(); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs index 21f24a50..91936a27 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs @@ -8,19 +8,9 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; /// -public sealed class UserCache : DistributedCache, IScoped, IUserCache +public sealed class UserCache(IDistributedCache cache, IUserService service, IVerifyCodeCache verifyCodeCache) // + : DistributedCache(cache, service), IScoped, IUserCache { - private readonly IVerifyCodeCache _verifyCodeCache; - - /// - /// Initializes a new instance of the class. - /// - public UserCache(IDistributedCache cache, IUserService service, IVerifyCodeCache verifyCodeCache) // - : base(cache, service) - { - _verifyCodeCache = verifyCodeCache; - } - /// public Task BulkDeleteAsync(BulkReq req) { @@ -163,7 +153,7 @@ public sealed class UserCache : DistributedCache, IScoped, IUserCa /// public async Task SetEmailAsync(SetEmailReq req) { - return !await _verifyCodeCache.VerifyAsync(req) + return !await verifyCodeCache.VerifyAsync(req) ? throw new NetAdminInvalidOperationException(Ln.邮箱验证码不正确) : await Service.SetEmailAsync(req); } diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs index 015a3b0a..15e5e30b 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 用户档案缓存 -/// -public sealed class UserProfileCache : DistributedCache, IScoped, IUserProfileCache +/// +public sealed class UserProfileCache(IDistributedCache cache, IUserProfileService service) // + : DistributedCache(cache, service), IScoped, IUserProfileCache { - /// - /// Initializes a new instance of the class. - /// - public UserProfileCache(IDistributedCache cache, IUserProfileService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs index 7865cce6..5fcc820f 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs @@ -8,14 +8,9 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; /// -public sealed class VerifyCodeCache : DistributedCache, IScoped, IVerifyCodeCache +public sealed class VerifyCodeCache(IDistributedCache cache, IVerifyCodeService service) // + : DistributedCache(cache, service), IScoped, IVerifyCodeCache { - /// - /// Initializes a new instance of the class. - /// - public VerifyCodeCache(IDistributedCache cache, IVerifyCodeService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs index 1c20eaa5..9d519481 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs @@ -7,14 +7,10 @@ using NetAdmin.SysComponent.Cache.Tpl.Dependency; namespace NetAdmin.SysComponent.Cache.Tpl; /// -public sealed class ExampleCache : DistributedCache, IScoped, IExampleCache +public sealed class ExampleCache + (IDistributedCache cache, IExampleService service) : DistributedCache(cache, service), IScoped + , IExampleCache { - /// - /// Initializes a new instance of the class. - /// - public ExampleCache(IDistributedCache cache, IExampleService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs index 8e7cc8ef..8e77a338 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 接口服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ApiController : ControllerBase, IApiModule +public sealed class ApiController(IApiCache cache) : ControllerBase(cache), IApiModule { - /// - /// Initializes a new instance of the class. - /// - public ApiController(IApiCache cache) // - : base(cache) { } - /// /// 批量删除接口 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs index dc9e8491..9b840309 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs @@ -11,14 +11,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 缓存服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class CacheController : ControllerBase, ICacheModule +public sealed class CacheController(ICacheCache cache) : ControllerBase(cache), ICacheModule { - /// - /// Initializes a new instance of the class. - /// - public CacheController(ICacheCache cache) // - : base(cache) { } - /// /// 缓存统计 /// @@ -30,8 +24,8 @@ public sealed class CacheController : ControllerBase /// /// 获取所有缓存项 /// - public PagedQueryRsp GetAllEntries(PagedQueryReq req) + public Task> GetAllEntriesAsync(PagedQueryReq req) { - return Cache.GetAllEntries(req); + return Cache.GetAllEntriesAsync(req); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs index e2c2994d..59123831 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs @@ -10,14 +10,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 人机验证服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class CaptchaController : ControllerBase, ICaptchaModule +public sealed class CaptchaController(ICaptchaCache cache) : ControllerBase(cache) + , ICaptchaModule { - /// - /// Initializes a new instance of the class. - /// - public CaptchaController(ICaptchaCache cache) // - : base(cache) { } - /// /// 获取人机校验图 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs index eb4f6668..66187c10 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs @@ -12,14 +12,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 配置服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ConfigController : ControllerBase, IConfigModule +public sealed class ConfigController(IConfigCache cache) : ControllerBase(cache) + , IConfigModule { - /// - /// Initializes a new instance of the class. - /// - public ConfigController(IConfigCache cache) // - : base(cache) { } - /// /// 批量删除配置 /// @@ -59,7 +54,6 @@ public sealed class ConfigController : ControllerBase /// 获取单个配置 /// - [NonAction] public Task GetAsync(QueryConfigReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs index ba54dde2..805e1ec6 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs @@ -11,19 +11,10 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// [AllowAnonymous] [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ConstantController : ControllerBase, IConstantModule +public sealed class ConstantController + (IConstantCache cache, IOptions jsonOptions) : ControllerBase(cache) + , IConstantModule { - private readonly JsonOptions _jsonOptions; - - /// - /// Initializes a new instance of the class. - /// - public ConstantController(IConstantCache cache, IOptions jsonOptions) // - : base(cache) - { - _jsonOptions = jsonOptions.Value; - } - /// /// 获得常量字符串 /// @@ -78,10 +69,10 @@ public sealed class ConstantController : ControllerBase(T data) + private JsonResult OriginNamingResult(T data) { return new JsonResult( // - new RestfulInfo { Code = 0, Data = data } - , new JsonSerializerOptions(_jsonOptions.JsonSerializerOptions) { DictionaryKeyPolicy = null }); + new RestfulInfo { Code = 0, Data = data } + , new JsonSerializerOptions(jsonOptions.Value.JsonSerializerOptions) { DictionaryKeyPolicy = null }); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs index fe383861..bf305cb1 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 部门服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class DeptController : ControllerBase, IDeptModule +public sealed class DeptController(IDeptCache cache) : ControllerBase(cache), IDeptModule { - /// - /// Initializes a new instance of the class. - /// - public DeptController(IDeptCache cache) // - : base(cache) { } - /// /// 批量删除部门 /// @@ -59,7 +53,6 @@ public sealed class DeptController : ControllerBase, I /// /// 获取单个部门 /// - [NonAction] public Task GetAsync(QueryDeptReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs index 4f2d38dc..71b0110f 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs @@ -10,14 +10,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 开发服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class DevController : ControllerBase, IDevModule +public sealed class DevController(IDevCache cache) : ControllerBase(cache), IDevModule { - /// - /// Initializes a new instance of the class. - /// - public DevController(IDevCache cache) // - : base(cache) { } - /// /// 生成后端代码 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs index aca077b6..82de2dfc 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs @@ -13,14 +13,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 字典服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class DicController : ControllerBase, IDicModule +public sealed class DicController(IDicCache cache) : ControllerBase(cache), IDicModule { - /// - /// Initializes a new instance of the class. - /// - public DicController(IDicCache cache) // - : base(cache) { } - /// /// 批量删除字典目录 /// @@ -75,6 +69,22 @@ public sealed class DicController : ControllerBase, IDic return Cache.DeleteContentAsync(req); } + /// + /// 获取单个字典目录 + /// + public Task GetCatalogAsync(QueryDicCatalogReq req) + { + return Cache.GetCatalogAsync(req); + } + + /// + /// 获取单个字典内容 + /// + public Task GetContentAsync(QueryDicContentReq req) + { + return Cache.GetContentAsync(req); + } + /// /// 分页查询字典目录 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs index e910d652..8ecb3fce 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs @@ -9,14 +9,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 文件服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class FileController : ControllerBase, IFileModule +public sealed class FileController(IFileCache cache) : ControllerBase(cache), IFileModule { - /// - /// Initializes a new instance of the class. - /// - public FileController(IFileCache cache) // - : base(cache) { } - /// /// 文件上传 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs index f6e4474d..3c589837 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs @@ -12,14 +12,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 请求日志服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class LogController : ControllerBase, IRequestLogModule +public sealed class LogController(IRequestLogCache cache) : ControllerBase(cache) + , IRequestLogModule { - /// - /// Initializes a new instance of the class. - /// - public LogController(IRequestLogCache cache) // - : base(cache) { } - /// /// 批量删除请求日志 /// @@ -62,7 +57,6 @@ public sealed class LogController : ControllerBase /// 获取单个请求日志 /// - [NonAction] public Task GetAsync(QueryRequestLogReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs index df200d8d..a5c3e0a2 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 菜单服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class MenuController : ControllerBase, IMenuModule +public sealed class MenuController(IMenuCache cache) : ControllerBase(cache), IMenuModule { - /// - /// Initializes a new instance of the class. - /// - public MenuController(IMenuCache cache) // - : base(cache) { } - /// /// 批量删除菜单 /// @@ -59,7 +53,6 @@ public sealed class MenuController : ControllerBase, I /// /// 获取单个菜单 /// - [NonAction] public Task GetAsync(QueryMenuReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs index daadf439..ff09d7b1 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 角色服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class RoleController : ControllerBase, IRoleModule +public sealed class RoleController(IRoleCache cache) : ControllerBase(cache), IRoleModule { - /// - /// Initializes a new instance of the class. - /// - public RoleController(IRoleCache cache) // - : base(cache) { } - /// /// 批量删除角色 /// @@ -59,7 +53,6 @@ public sealed class RoleController : ControllerBase, I /// /// 获取单个角色 /// - [NonAction] public Task GetAsync(QueryRoleReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs new file mode 100644 index 00000000..7cc18156 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs @@ -0,0 +1,118 @@ +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.Host.Attributes; +using NetAdmin.Host.Controllers; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Host.Controllers.Sys; + +/// +/// 站内信服务 +/// +[ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] +public sealed class SiteMsgController(ISiteMsgCache cache) : ControllerBase(cache) + , ISiteMsgModule +{ + /// + /// 批量删除站内信 + /// + [Transaction] + public Task BulkDeleteAsync(BulkReq req) + { + return Cache.BulkDeleteAsync(req); + } + + /// + /// 创建站内信 + /// + [Transaction] + public Task CreateAsync(CreateSiteMsgReq req) + { + return Cache.CreateAsync(req); + } + + /// + /// 删除站内信 + /// + [Transaction] + public Task DeleteAsync(DelReq req) + { + return Cache.DeleteAsync(req); + } + + /// + /// 站内信是否存在 + /// + public Task ExistAsync(QueryReq req) + { + return Cache.ExistAsync(req); + } + + /// + /// 获取单个站内信 + /// + public Task GetAsync(QuerySiteMsgReq req) + { + return Cache.GetAsync(req); + } + + /// + /// 获取单个我的站内信 + /// + public Task GetMineAsync(QuerySiteMsgReq req) + { + return Cache.GetMineAsync(req); + } + + /// + /// 分页查询站内信 + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Cache.PagedQueryAsync(req); + } + + /// + /// 分页查询我的站内信 + /// + public Task> PagedQueryMineAsync(PagedQueryReq req) + { + return Cache.PagedQueryMineAsync(req); + } + + /// + /// 查询站内信 + /// + public Task> QueryAsync(QueryReq req) + { + return Cache.QueryAsync(req); + } + + /// + /// 设置站内信状态 + /// + public Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req) + { + return Cache.SetSiteMsgStatusAsync(req); + } + + /// + /// 未读数量 + /// + public Task UnreadCountAsync() + { + return Cache.UnreadCountAsync(); + } + + /// + /// 更新站内信 + /// + [Transaction] + public Task UpdateAsync(UpdateSiteMsgReq req) + { + return Cache.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs index e7649b7d..b90cc260 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs @@ -1,3 +1,4 @@ +using NetAdmin.Domain.Dto.Sys.Tool; using NetAdmin.Host.Controllers; using NetAdmin.SysComponent.Application.Modules.Sys; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; @@ -9,29 +10,32 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 工具服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ToolsController : ControllerBase, IToolsModule +public sealed class ToolsController(IToolsCache cache) : ControllerBase(cache), IToolsModule { /// - /// Initializes a new instance of the class. - /// - public ToolsController(IToolsCache cache) // - : base(cache) { } - - /// - /// 服务器时间 + /// 获取模块信息 /// [AllowAnonymous] - public DateTime GetServerUtcTime() + public Task> GetModulesAsync() { - return Cache.GetServerUtcTime(); + return Cache.GetModulesAsync(); } /// - /// 版本信息 + /// 获取服务器时间 /// [AllowAnonymous] - public string Version() + public Task GetServerUtcTimeAsync() { - return Cache.Version(); + return Cache.GetServerUtcTimeAsync(); + } + + /// + /// 获取版本信息 + /// + [AllowAnonymous] + public Task GetVersionAsync() + { + return Cache.GetVersionAsync(); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs index e7519410..102b19d3 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs @@ -13,19 +13,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 用户服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class UserController : ControllerBase, IUserModule +public sealed class UserController + (IUserCache cache, IConfigCache configCache) : ControllerBase(cache), IUserModule { - private readonly IConfigCache _configCache; - - /// - /// Initializes a new instance of the class. - /// - public UserController(IUserCache cache, IConfigCache configCache) // - : base(cache) - { - _configCache = configCache; - } - /// /// 批量删除用户 /// @@ -84,7 +74,6 @@ public sealed class UserController : ControllerBase, I /// /// 获取单个用户 /// - [NonAction] public Task GetAsync(QueryUserReq req) { return Cache.GetAsync(req); @@ -145,7 +134,7 @@ public sealed class UserController : ControllerBase, I [AllowAnonymous] public async Task RegisterAsync(RegisterUserReq req) { - var config = await _configCache.GetLatestConfigAsync(); + var config = await configCache.GetLatestConfigAsync(); return await Cache.RegisterAsync(req with { DeptId = config.UserRegisterDeptId diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs index 066e1a78..3b3998a4 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs @@ -12,66 +12,57 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 验证码服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class VerifyCodeController : ControllerBase, IVerifyCodeModule +public sealed class VerifyCodeController + (IVerifyCodeCache cache, ICaptchaCache captchaCache) : ControllerBase(cache) + , IVerifyCodeModule { - private readonly ICaptchaCache _captchaCache; - - /// - /// Initializes a new instance of the class. - /// - public VerifyCodeController(IVerifyCodeCache cache, ICaptchaCache captchaCache) // - : base(cache) - { - _captchaCache = captchaCache; - } - /// [NonAction] public Task BulkDeleteAsync(BulkReq req) { - throw new NotImplementedException(); + return Cache.BulkDeleteAsync(req); } /// [NonAction] public Task CreateAsync(CreateVerifyCodeReq req) { - throw new NotImplementedException(); + return Cache.CreateAsync(req); } /// [NonAction] public Task DeleteAsync(DelReq req) { - throw new NotImplementedException(); + return Cache.DeleteAsync(req); } /// [NonAction] public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return Cache.ExistAsync(req); } /// [NonAction] public Task GetAsync(QueryVerifyCodeReq req) { - throw new NotImplementedException(); + return Cache.GetAsync(req); } /// [NonAction] public Task> PagedQueryAsync(PagedQueryReq req) { - throw new NotImplementedException(); + return Cache.PagedQueryAsync(req); } /// [NonAction] public Task> QueryAsync(QueryReq req) { - throw new NotImplementedException(); + return Cache.QueryAsync(req); } /// @@ -81,7 +72,7 @@ public sealed class VerifyCodeController : ControllerBase SendVerifyCodeAsync(SendVerifyCodeReq req) { - await _captchaCache.VerifyCaptchaAndRemoveAsync(req.VerifyCaptchaReq); + await captchaCache.VerifyCaptchaAndRemoveAsync(req.VerifyCaptchaReq); return await Cache.SendVerifyCodeAsync(req); } @@ -89,7 +80,7 @@ public sealed class VerifyCodeController : ControllerBase UpdateAsync(UpdateVerifyCodeReq req) { - throw new NotImplementedException(); + return Cache.UpdateAsync(req); } /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs index 7610c70b..a32c35f2 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs @@ -12,14 +12,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Tpl; /// 示例服务 /// [ApiDescriptionSettings(nameof(Tpl), Module = nameof(Tpl))] -public sealed class ExampleController : ControllerBase, IExampleModule +public sealed class ExampleController(IExampleCache cache) : ControllerBase(cache) + , IExampleModule { - /// - /// Initializes a new instance of the class. - /// - public ExampleController(IExampleCache cache) // - : base(cache) { } - /// /// 批量删除示例 /// @@ -50,7 +45,6 @@ public sealed class ExampleController : ControllerBase /// 示例是否存在 /// - [NonAction] public Task ExistAsync(QueryReq req) { return Cache.ExistAsync(req); @@ -59,7 +53,6 @@ public sealed class ExampleController : ControllerBase /// 获取单个示例 /// - [NonAction] public Task GetAsync(QueryExampleReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj b/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj index e89eea5c..41208256 100644 --- a/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj +++ b/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs index 0c50c043..d439bc3c 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs @@ -6,18 +6,8 @@ namespace NetAdmin.SysComponent.Host.Subscribers; /// /// Api接口同步器 /// -public sealed class ApiSynchronizer : IEventSubscriber +public sealed class ApiSynchronizer(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public ApiSynchronizer(ILogger logger) - { - _logger = logger; - } - /// /// 同步Api接口 /// @@ -26,6 +16,6 @@ public sealed class ApiSynchronizer : IEventSubscriber { var logService = App.GetService(); await logService.SyncAsync(); - _logger.Info($"{nameof(IApiService)}.{nameof(IApiService.SyncAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IApiService)}.{nameof(IApiService.SyncAsync)} {Ln.已完成}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs index f8560124..9dbeb7f5 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs @@ -8,18 +8,8 @@ namespace NetAdmin.SysComponent.Host.Subscribers; /// /// 邮件验证码发送器 /// -public sealed class EmailCodeSender : IEventSubscriber +public sealed class EmailCodeSender(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public EmailCodeSender(ILogger logger) - { - _logger = logger; - } - /// /// 发送邮件 /// @@ -35,6 +25,6 @@ public sealed class EmailCodeSender : IEventSubscriber var verifyCodeService = App.GetService(); _ = await verifyCodeService.UpdateAsync( verifyCodeCreatedEvent.Data.Adapt() with { Status = VerifyCodeStatues.Sent }); - _logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs index 3309a729..81f7e826 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs @@ -8,18 +8,8 @@ namespace NetAdmin.SysComponent.Host.Subscribers; /// /// 短信验证码发送器 /// -public sealed class SmsCodeSender : IEventSubscriber +public sealed class SmsCodeSender(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public SmsCodeSender(ILogger logger) - { - _logger = logger; - } - /// /// 发送短信 /// @@ -35,6 +25,6 @@ public sealed class SmsCodeSender : IEventSubscriber var verifyCodeService = App.GetService(); _ = await verifyCodeService.UpdateAsync( verifyCodeCreatedEvent.Data.Adapt() with { Status = VerifyCodeStatues.Sent }); - _logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj b/src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj new file mode 100644 index 00000000..ebed62df --- /dev/null +++ b/src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj @@ -0,0 +1,17 @@ + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + \ No newline at end of file diff --git a/src/backend/NetAdmin.Tests/WebApiTestBase.cs b/src/backend/NetAdmin.Tests/WebApiTestBase.cs new file mode 100644 index 00000000..088aed21 --- /dev/null +++ b/src/backend/NetAdmin.Tests/WebApiTestBase.cs @@ -0,0 +1,43 @@ +using System.Net.Http.Headers; +using System.Net.Http.Json; +using Microsoft.AspNetCore.Mvc.Testing; +using NetAdmin.Domain.Dto; +using NetAdmin.Domain.Dto.Sys.User; +using Xunit; +using Xunit.Abstractions; + +namespace NetAdmin.Tests; + +/// +/// WebApi 测试用例基类 +/// +public abstract class WebApiTestBase + (WebApplicationFactory factory, ITestOutputHelper testOutputHelper) : IClassFixture> + where T : AppStartup +{ + private const string _ACCOUNT = "root"; + private const string _API_SYS_USER_LOGIN_BY_PWD = "/api/sys/user/login.by.pwd"; + private const string _AUTH_SCHEMA = "Bearer"; + private const string _PASSWORD = "1234qwer"; + private string _accessToken; + + /// + /// Post请求 + /// + protected async Task PostAsync(string url, HttpContent content) + { + var client = factory.CreateClient(); + if (_accessToken == null) { + var loginRsp = await client.PostAsync(_API_SYS_USER_LOGIN_BY_PWD + , JsonContent.Create( + new LoginByPwdReq { Password = _PASSWORD, Account = _ACCOUNT })); + var loginRspObj = (await loginRsp.Content.ReadAsStringAsync()).ToObject>(); + _accessToken = loginRspObj.Data.AccessToken; + } + + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(_AUTH_SCHEMA, _accessToken); + var ret = await client.PostAsync(url, content); + testOutputHelper.WriteLine(await ret.Content.ReadAsStringAsync()); + return ret; + } +} \ No newline at end of file diff --git a/src/frontend/admin/.editorconfig b/src/frontend/admin/.editorconfig deleted file mode 100644 index b79317dd..00000000 --- a/src/frontend/admin/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -ij_xml_attribute_wrap = off -ij_xml_text_wrap = off -indent_size = 4 -indent_style = space -insert_final_newline = false -trim_trailing_whitespace = true \ No newline at end of file diff --git a/src/frontend/admin/.eslintrc.js b/src/frontend/admin/.eslintrc.js deleted file mode 100644 index 20c5028f..00000000 --- a/src/frontend/admin/.eslintrc.js +++ /dev/null @@ -1,47 +0,0 @@ -module.exports = { - root: true, - extends: ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/eslint-config-prettier'], - rules: { - 'vue/multi-word-component-names': [ - 'off', - { - ignores: [], - }, - ], - 'vue/attributes-order': [ - 'error', - { - order: [ - 'DEFINITION', - 'LIST_RENDERING', - 'CONDITIONALS', - 'RENDER_MODIFIERS', - 'GLOBAL', - ['UNIQUE', 'SLOT'], - 'TWO_WAY_BINDING', - 'OTHER_DIRECTIVES', - 'OTHER_ATTR', - 'EVENTS', - 'CONTENT', - ], - alphabetical: false, - }, - ], - 'vue/no-unused-vars': ['warn'], - 'no-return-await': ['warn'], - 'no-multiple-empty-lines': ['warn'], - 'no-inner-declarations': ['off'], - eqeqeq: 'error', - }, - env: { - browser: true, - es2021: true, - node: true, - 'vue/setup-compiler-macros': true, - }, - globals: { - defineOptions: 'writable', - defineProps: 'readonly', - NodeJS: true, - }, -} \ No newline at end of file diff --git a/src/frontend/admin/.gitignore b/src/frontend/admin/.gitignore index 403adbc1..43d90337 100644 --- a/src/frontend/admin/.gitignore +++ b/src/frontend/admin/.gitignore @@ -20,4 +20,4 @@ pnpm-debug.log* *.ntvs* *.njsproj *.sln -*.sw? +*.sw? \ No newline at end of file diff --git a/src/frontend/admin/.prettierignore b/src/frontend/admin/.prettierignore index 7bf12a5a..32b46468 100644 --- a/src/frontend/admin/.prettierignore +++ b/src/frontend/admin/.prettierignore @@ -1,3 +1,4 @@ # 忽略格式化文件 (根据项目需要自行添加) node_modules -dist \ No newline at end of file +dist +iconSelect.js \ No newline at end of file diff --git a/src/frontend/admin/.prettierrc b/src/frontend/admin/.prettierrc index 2df9eb10..bf09cac9 100644 --- a/src/frontend/admin/.prettierrc +++ b/src/frontend/admin/.prettierrc @@ -1,10 +1,10 @@ { - "tabWidth": 4, - "useTabs": false, - "semi": false, - "singleQuote": true, - "trailingComma": "all", - "bracketSameLine": true, - "printWidth": 150, - "endOfLine": "auto" + "tabWidth": 4, + "useTabs": false, + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "bracketSameLine": true, + "printWidth": 150, + "endOfLine": "auto" } \ No newline at end of file diff --git a/src/frontend/admin/.run/build.run.xml b/src/frontend/admin/.run/build.run.xml new file mode 100644 index 00000000..02f4c43b --- /dev/null +++ b/src/frontend/admin/.run/build.run.xml @@ -0,0 +1,12 @@ + + + + + + - - - - -
-
- -
-
SCUI
-
- -
- - -
-

当前使用的浏览器内核版本过低 :(

-

- 当前版本:-- -- -

-

- 最低版本要求:Chrome 71+、Firefox 65+、Safari 12+、Edge 97+。 -

-

- 请升级浏览器版本,或更换现代浏览器,如果你使用的是双核浏览器,请切换到极速/高速模式。 -

-
- - + function getBrowserInfo() { + const userAgent = window.navigator.userAgent + const browserInfo = { + type: 'unknown', + version: 'unknown', + userAgent: userAgent, + } + if (document.documentMode) { + browserInfo.type = 'IE' + browserInfo.version = document.documentMode + '' + } else if (indexOf(userAgent, 'Firefox')) { + browserInfo.type = 'Firefox' + browserInfo.version = userAgent.match(/Firefox\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Opera')) { + browserInfo.type = 'Opera' + browserInfo.version = userAgent.match(/Opera\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Edg')) { + browserInfo.type = 'Edg' + browserInfo.version = userAgent.match(/Edg\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Chrome')) { + browserInfo.type = 'Chrome' + browserInfo.version = userAgent.match(/Chrome\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Safari')) { + browserInfo.type = 'Safari' + browserInfo.version = userAgent.match(/Safari\/([\d.]+)/)[1] + } + return browserInfo + } + + function indexOf(userAgent, browser) { + return userAgent.indexOf(browser) > -1 + } + + function isSatisfyBrowser() { + const minVer = { + Chrome: 71, + Firefox: 65, + Safari: 12, + Edg: 97, + IE: 999, + } + const browserInfo = getBrowserInfo() + const materVer = browserInfo.version.split('.')[0] + return materVer >= minVer[browserInfo.type] + } + + if (!isSatisfyBrowser()) { + document.getElementById('versionCheck').style.display = 'block' + document.getElementById('versionCheck-type').innerHTML = getBrowserInfo().type + document.getElementById('versionCheck-version').innerHTML = getBrowserInfo().version + } + + + \ No newline at end of file diff --git a/src/frontend/admin/jsconfig.json b/src/frontend/admin/jsconfig.json deleted file mode 100644 index 8f62680f..00000000 --- a/src/frontend/admin/jsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "esnext", - "baseUrl": "./", - "moduleResolution": "node", - "paths": { - "@/*": [ - "src/*" - ] - }, - "lib": [ - "esnext", - "dom", - "dom.iterable", - "scripthost" - ] - } -} \ No newline at end of file diff --git a/src/frontend/admin/package.json b/src/frontend/admin/package.json index bbdf2775..6c887a00 100644 --- a/src/frontend/admin/package.json +++ b/src/frontend/admin/package.json @@ -1,53 +1,49 @@ { - "name": "scui", - "version": "1.6.6", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "prettier": "prettier --write ." - }, - "dependencies": { - "@element-plus/icons-vue": "^2.1.0", - "@tinymce/tinymce-vue": "^5.1.0", - "axios": "^1.4.0", - "codemirror": "^5.65.5", - "core-js": "^3.32.0", - "cropperjs": "^1.5.13", - "crypto-js": "^4.1.1", - "echarts": "^5.4.3", - "element-plus": "^2.3.8", - "json-bigint": "^1.0.0", - "json5-to-table": "^0.1.8", - "nprogress": "^0.2.0", - "pinyin-match": "^1.2.4", - "qrcodejs2": "^0.0.2", - "sortablejs": "^1.15.0", - "tinymce": "^6.6.0", - "vue": "^3.3.4", - "vue-i18n": "^9.2.2", - "vue-json-viewer": "^3.0.4", - "vue-router": "^4.2.4", - "vuedraggable": "^4.0.3", - "vuex": "^4.1.0", - "xgplayer": "^3.0.7", - "xgplayer-hls": "^3.0.7" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^4.2.3", - "@vue/eslint-config-prettier": "^8.0.0", - "eslint": "^8.46.0", - "eslint-plugin-vue": "^9.16.1", - "prettier": "^3.0.0", - "sass": "^1.64.2", - "terser": "^5.19.2", - "vite": "^4.4.7" - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not dead", - "not ie 11" - ] + "name": "NetAdmin", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "prettier": "prettier --write ." + }, + "dependencies": { + "@element-plus/icons-vue": "^2.1.0", + "@tinymce/tinymce-vue": "^5.1.1", + "axios": "^1.6.2", + "clipboard": "^2.0.11", + "core-js": "^3.33.2", + "cropperjs": "^1.6.1", + "crypto-js": "^4.2.0", + "echarts": "^5.4.3", + "element-plus": "^2.4.2", + "json-bigint": "^1.0.0", + "json5-to-table": "^0.1.8", + "nprogress": "^0.2.0", + "pinyin-match": "^1.2.4", + "qrcodejs2": "^0.0.2", + "sortablejs": "^1.15.0", + "tinymce": "^6.7.3", + "vue": "^3.3.8", + "vue-i18n": "^9.7.0", + "vue-router": "^4.2.5", + "vue3-json-viewer": "^2.2.2", + "vuedraggable": "^4.0.3", + "vuex": "^4.1.0", + "xgplayer": "^3.0.10", + "xgplayer-hls": "^3.0.10" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.5.0", + "prettier": "^3.1.0", + "sass": "^1.69.5", + "terser": "^5.24.0", + "vite": "^5.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead", + "not ie 11" + ] } \ No newline at end of file diff --git a/src/frontend/admin/public/code/list/index.vue b/src/frontend/admin/public/code/list/index.vue deleted file mode 100644 index 842c1b0c..00000000 --- a/src/frontend/admin/public/code/list/index.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/frontend/admin/public/code/list/save.vue b/src/frontend/admin/public/code/list/save.vue deleted file mode 100644 index 733122b5..00000000 --- a/src/frontend/admin/public/code/list/save.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/frontend/admin/public/favicon.ico b/src/frontend/admin/public/favicon.ico index 23156d86..bbc5cb6c 100644 Binary files a/src/frontend/admin/public/favicon.ico and b/src/frontend/admin/public/favicon.ico differ diff --git a/src/frontend/admin/public/tinymce/skins/content/dark/content.css b/src/frontend/admin/public/tinymce/skins/content/dark/content.css index 507ae6f4..e8672da4 100644 --- a/src/frontend/admin/public/tinymce/skins/content/dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/dark/content.css @@ -1,79 +1,78 @@ body { - background-color: #222f3e; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + background-color: #222f3e; + color: #fff; + 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; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + 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; + 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; + 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; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css b/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css index 89239689..8d61f16f 100644 --- a/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css @@ -1,60 +1,59 @@ body { - background-color: #222f3e; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + background-color: #222f3e; + color: #fff; + 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; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + 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; + 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; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/default/content.css b/src/frontend/admin/public/tinymce/skins/content/default/content.css index 7fe5ff9b..eedebd2d 100644 --- a/src/frontend/admin/public/tinymce/skins/content/default/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/default/content.css @@ -1,73 +1,72 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + 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; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + 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; + 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; + 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; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/default/content.min.css b/src/frontend/admin/public/tinymce/skins/content/default/content.min.css index cca44e14..c928f005 100644 --- a/src/frontend/admin/public/tinymce/skins/content/default/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/default/content.min.css @@ -1,55 +1,54 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + 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; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + 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; + 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; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/document/content.css b/src/frontend/admin/public/tinymce/skins/content/document/content.css index 3d08c023..8b658ab5 100644 --- a/src/frontend/admin/public/tinymce/skins/content/document/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/document/content.css @@ -6,8 +6,7 @@ } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } @media screen { diff --git a/src/frontend/admin/public/tinymce/skins/content/document/content.min.css b/src/frontend/admin/public/tinymce/skins/content/document/content.min.css index 834df86c..68b41e41 100644 --- a/src/frontend/admin/public/tinymce/skins/content/document/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/document/content.min.css @@ -1,60 +1,59 @@ @media screen { - html { - background: #f4f4f4; - min-height: 100%; - } + html { + background: #f4f4f4; + min-height: 100%; + } } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; + 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; - } + 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; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + 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; + 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; + border-color: #ccc; } figure figcaption { - color: #999; - margin-top: 0.25rem; - text-align: center; + color: #999; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + 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; + 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; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css index 2dd6d917..193c0f37 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css @@ -1,79 +1,78 @@ 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; + 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; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + 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; + 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; + 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; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css index 3c689eb7..abeb5582 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css @@ -1,60 +1,59 @@ 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; + 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; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + 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; + 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; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css index 5176f8b2..eedebd2d 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css @@ -1,6 +1,5 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; line-height: 1.4; margin: 1rem; } diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css index cca44e14..c928f005 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css @@ -1,55 +1,54 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + 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; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + 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; + 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; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/writer/content.css b/src/frontend/admin/public/tinymce/skins/content/writer/content.css index 59ca49f6..9e80de15 100644 --- a/src/frontend/admin/public/tinymce/skins/content/writer/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/writer/content.css @@ -1,74 +1,73 @@ 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; + 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; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + 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; + 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; + 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; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css b/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css index 7dfe636b..91ad5ec3 100644 --- a/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css @@ -1,56 +1,55 @@ 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; + 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; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + 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; + 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; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + 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; + 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; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css index ca33c5dc..93b8564a 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -67,55 +69,55 @@ */ 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; - hyphens: none; + 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; + hyphens: none; } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -123,12 +125,12 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.selector, @@ -137,7 +139,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #50fa7b; + color: #50fa7b; } .token.operator, @@ -146,379 +148,383 @@ pre[class*='language-'] { .language-css .token.string, .style .token.string, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.function, .token.class-name { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.regex, .token.important { - color: #ffb86c; + color: #ffb86c; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -527,154 +533,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -697,90 +703,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -803,7 +809,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -826,23 +832,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css index e7acef31..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,15 +853,15 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css @@ -1,117 +1,117 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css index 04195ea7..9cf0f523 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css @@ -1,108 +1,108 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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, 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; - hyphens: none; + color: #f8f8f2; + background: 0 0; + 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; + hyphens: none; } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.constant, .token.deleted, .token.property, .token.symbol, .token.tag { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.attr-name, .token.builtin, @@ -110,7 +110,7 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #50fa7b; + color: #50fa7b; } .language-css .token.string, .style .token.string, @@ -118,319 +118,319 @@ pre[class*='language-'] { .token.operator, .token.url, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.class-name, .token.function { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.important, .token.regex { - color: #ffb86c; + color: #ffb86c; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -438,115 +438,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -556,11 +556,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -582,70 +582,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -667,7 +667,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -689,19 +689,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css index 2726e0fc..1149903a 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css @@ -1,2519 +1,2506 @@ .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: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + 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: normal; + 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; + 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) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #161f29; - border-radius: 10px; - 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; + border: 2px solid #161f29; + border-radius: 10px; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 2px solid #161f29; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 2px solid #161f29; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #161f29; - border-style: solid; + border-color: #161f29; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.4); - color: #fff; + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.4); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { - border-color: rgba(0, 108, 231, 0.4); + border-color: rgba(0, 108, 231, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - 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; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + 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: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + 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: 6px; - 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; + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 6px; + 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); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked[disabled] { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(255, 255, 255, 0.3); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + 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; + /* 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: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + 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); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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: rgba(255, 255, 255, 0.15); - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: rgba(255, 255, 255, 0.15); + 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; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.5); - 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; - user-select: none; + background-color: rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.5); + 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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #3389ec; - color: #fff; + background-color: #3389ec; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} + +.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-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-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 rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* 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; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__primary .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + 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); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #3389ec; + background: #3389ec; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #2b3b4e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #161f29; + border-radius: 6px; + 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: #fff; - display: flex; - justify-content: space-between; + 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; + 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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + 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; + 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; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + background-color: #222f3e; } .tox .tox-dialog { - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 10px; - border-style: solid; - border-width: 0px; - 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; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 10px; + border-style: solid; + border-width: 0; + 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:hover, .tox .tox-dialog__body-content a:focus { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #2b3b4e; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #2b3b4e; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-start, .tox .tox-dialog__footer-end { - display: flex; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #161f29; + border-bottom: 1px solid #161f29; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #161f29; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #161f29; + 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; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #161f29; + border: 1px dotted #161f29; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; + border-top: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: none; - padding: 4px 0; + background-color: #222f3e; + box-shadow: none; + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: none; + box-shadow: none; } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #161f29; - box-shadow: none; - max-width: 25em; + border-color: #161f29; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + 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: #006ce7; - cursor: pointer; + border-color: #006ce7; + 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: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + 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: 6px; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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; + 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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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: #161f29; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + 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 5.5px; + 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; + 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: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + 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 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: rgba(255, 255, 255, 0.15); - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: rgba(255, 255, 255, 0.15); + 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 -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { - color: #fff; - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + 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 */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* stylelint-disable */ + /* stylelint-enable */ } .tox .tox-menu { - background-color: #2b3b4e; - border: 1px solid rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: none; - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: none; + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label h1, @@ -2525,587 +2512,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + 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='transparent'/%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 11px 0 12px; + 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='transparent'/%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 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } /* 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: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + 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: 28px; + justify-content: center; + margin: 5px 1px 6px 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; + 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: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: normal; - 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; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + 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; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: rgba(255, 255, 255, 0.15); - color: #fff0b3; + background-color: #222f3e; + border-color: rgba(255, 255, 255, 0.15); + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #ffcc00; + color: #ffcc00; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #161f29; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + 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; + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #161f29 transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #161f29 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%); + 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; + 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 #161f29 transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #161f29 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%); + 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; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #161f29 transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #161f29 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%); + 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; + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #161f29; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #161f29; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::before, .tox .tox-pop.tox-pop--align-left::after { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #161f29; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #161f29; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #222f3e; - border-top: 1px solid rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.75); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: normal; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #222f3e; + border-top: 1px solid rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.75); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: normal; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(255, 255, 255, 0.75); - text-decoration: none; + color: rgba(255, 255, 255, 0.75); + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,551 +3114,558 @@ body.tox-dialog__disable-scroll { .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']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #434e5b; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #434e5b; + background-color: #434e5b; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #434e5b; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #3389ec; - border: 0; - box-shadow: none; + background: #3389ec; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + 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; + 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); + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #fff; + /* stylelint-disable-line no-descending-specificity */ + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + 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; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: #2f4055; + background: #2f4055; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #3389ec inset; + box-shadow: 0 0 0 1px #3389ec inset; } .tox .tox-split-button:focus { - background: #3389ec; - box-shadow: none; - color: #fff; + background: #3389ec; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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); + background: transparent; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #222f3e; - background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0px 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid transparent; - margin-top: 0px; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #3d546f; - border-radius: 6px; - 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; + background-color: #3d546f; + border-radius: 6px; + 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; + 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%); + 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%); + 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%); + 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%); + 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 #161f29; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #161f29; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* 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; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css index 842afba1..96085ba0 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css @@ -1,2088 +1,2075 @@ .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; + 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; + 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; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #161f29; - border-radius: 10px; - 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; + border: 2px solid #161f29; + border-radius: 10px; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 2px solid #161f29; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 2px solid #161f29; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #161f29; - border-style: solid; + border-color: #161f29; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.4); - color: #fff; + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.4); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > :last-child { - border-color: rgba(0, 108, 231, 0.4); + border-color: rgba(0, 108, 231, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - 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; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + 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: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + 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: 6px; - 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; + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 6px; + 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, 0.5); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked[disabled] { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(255, 255, 255, 0.3); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + 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); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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: rgba(255, 255, 255, 0.15); - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: rgba(255, 255, 255, 0.15); + 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; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.5); - 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; - user-select: none; + background-color: rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.5); + 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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #3389ec; - color: #fff; + background-color: #3389ec; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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, 0.5); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} +.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-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-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 rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #3389ec; + background: #3389ec; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #2b3b4e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #161f29; + border-radius: 6px; + 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: #fff; - display: flex; - justify-content: space-between; + 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; + color: rgba(255, 255, 255, 0.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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + 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: 700; - text-transform: uppercase; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + background-color: #222f3e; } .tox .tox-dialog { - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 10px; - border-style: solid; - border-width: 0; - 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; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 10px; + border-style: solid; + border-width: 0; + 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #2b3b4e; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #2b3b4e; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { - display: flex; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #161f29; + border-bottom: 1px solid #161f29; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #161f29; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #161f29; + 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; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #161f29; + border: 1px dotted #161f29; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; + border-top: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: none; - padding: 4px 0; + background-color: #222f3e; + box-shadow: none; + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: none; + box-shadow: none; } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #161f29; - box-shadow: none; - max-width: 25em; + border-color: #161f29; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + 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: #006ce7; - cursor: pointer; + border-color: #006ce7; + 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: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + 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: 6px; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(255, 255, 255, 0.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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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: #161f29; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + 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 5.5px; + resize: none; + width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { - background-color: #222f3e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + 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 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: rgba(255, 255, 255, 0.15); - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: rgba(255, 255, 255, 0.15); + 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 -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { - color: #fff; - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + 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; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox .tox-menu { - background-color: #2b3b4e; - border: 1px solid rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: none; - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: none; + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2080,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + 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='transparent'/%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 11px 0 12px; + 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='transparent'/%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 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } .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: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: 0; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + 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: 28px; + justify-content: center; + margin: 5px 1px 6px 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, 0.5); - cursor: not-allowed; + 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: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: rgba(255, 255, 255, 0.15); - color: #fff0b3; + background-color: #222f3e; + border-color: rgba(255, 255, 255, 0.15); + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #fc0; + color: #fc0; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #161f29; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + 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; + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #161f29 transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #161f29 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%); + 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; + 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 #161f29 transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #161f29 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%); + 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; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #161f29 transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #161f29 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%); + 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; + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #161f29; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #161f29; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #161f29; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #161f29; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #222f3e; - border-top: 1px solid rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.75); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: 400; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #222f3e; + border-top: 1px solid rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.75); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: 400; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(255, 255, 255, 0.75); - text-decoration: none; + color: rgba(255, 255, 255, 0.75); + 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']), @@ -2590,454 +2589,461 @@ body.tox-dialog__disable-scroll { .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']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #434e5b; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #434e5b; + background-color: #434e5b; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #434e5b; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 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: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #3389ec; - border: 0; - box-shadow: none; + background: #3389ec; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + 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, 0.5); - cursor: not-allowed; + background: 0 0; + 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 { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: #2f4055; + background: #2f4055; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #3389ec inset; + box-shadow: 0 0 0 1px #3389ec inset; } .tox .tox-split-button:focus { - background: #3389ec; - box-shadow: none; - color: #fff; + background: #3389ec; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #222f3e; - background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid transparent; - margin-top: 0; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #3d546f; - border-radius: 6px; - 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: 400; - padding: 4px 8px; - text-transform: none; + background-color: #3d546f; + border-radius: 6px; + 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: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + 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%); + 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%); + 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%); + 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%); + 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 #161f29; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #161f29; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css index d9ea82a3..8bf192d2 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css @@ -1,35 +1,35 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css index b81f358d..6f7a7f41 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,23 +853,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css index e7acef31..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,15 +853,15 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css @@ -1,117 +1,117 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css index 6e0034ba..ed110bc1 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css @@ -1,117 +1,117 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,19 +708,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css index b5a17d78..686ba5ef 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css @@ -1,2519 +1,2513 @@ .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: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + 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: normal; + 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; + 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) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #eeeeee; - border-radius: 10px; - 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; + border: 2px solid #eeeeee; + border-radius: 10px; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 2px solid #eeeeee; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 2px solid #eeeeee; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #eeeeee; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #eeeeee; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #eeeeee; - border-style: solid; + border-color: #eeeeee; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.1); - border-color: #006ce7; - color: #222f3e; + background-color: rgba(0, 108, 231, 0.1); + border-color: #006ce7; + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { - border-color: #006ce7; + border-color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #006ce7; + fill: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #006ce7; + color: #006ce7; } .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; + 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); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + 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; + 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); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + 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; + 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); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - 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; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + 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: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + 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: 6px; - 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; + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 6px; + 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); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked[disabled] { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: rgba(34, 47, 62, 0.5); + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(34, 47, 62, 0.18); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.18); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + 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; + /* 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: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + 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); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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: #e3e3e3; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #e3e3e3; + 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; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #fcfcfc; - 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; - user-select: none; + background-color: #fcfcfc; + 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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #cce2fa; - color: #222f3e; + background-color: #cce2fa; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} + +.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-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-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 #e3e3e3; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #e3e3e3; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* 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; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__primary .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + 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); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #cce2fa; + background: #cce2fa; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #fff; - border: 1px solid #eeeeee; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #eeeeee; + border-radius: 6px; + 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; + 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; + 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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + 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; + 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; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + background-color: #fff; } .tox .tox-dialog { - background-color: #fff; - border-color: #eeeeee; - border-radius: 10px; - border-style: solid; - border-width: 0px; - 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; + background-color: #fff; + border-color: #eeeeee; + border-radius: 10px; + border-style: solid; + border-width: 0; + 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:hover, .tox .tox-dialog__body-content a:focus { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #fff; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-start, .tox .tox-dialog__footer-end { - display: flex; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #eeeeee; + border-bottom: 1px solid #eeeeee; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #eeeeee; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #eeeeee; + 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; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #eeeeee; + border: 1px dotted #eeeeee; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.1), 0 8px 8px -4px rgba(34, 47, 62, 0.07); - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.1), + 0 8px 8px -4px rgba(34, 47, 62, 0.07); + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #e3e3e3; - box-shadow: none; + border-top: 1px solid #e3e3e3; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #eeeeee; - box-shadow: none; - max-width: 25em; + border-color: #eeeeee; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + 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: #006ce7; - cursor: pointer; + border-color: #006ce7; + 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: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + 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: 6px; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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; + 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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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: #eeeeee; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eeeeee; + border-radius: 6px; + 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 5.5px; + 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; + 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: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #eeeeee; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eeeeee; + border-radius: 6px; + 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 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #eeeeee; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #eeeeee; + 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 -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 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%; + 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 */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* stylelint-disable */ + /* stylelint-enable */ } .tox .tox-menu { - background-color: #fff; - border: 1px solid transparent; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid transparent; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label h1, @@ -2525,587 +2519,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + 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='transparent'/%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 11px 0 12px; + 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='transparent'/%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 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } /* 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: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + 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: 28px; + justify-content: center; + margin: 5px 1px 6px 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; + 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: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: normal; - 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; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + 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; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #eeeeee; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #eeeeee; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + 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; + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #eeeeee transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #eeeeee 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%); + 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; + 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 #eeeeee transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #eeeeee 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%); + 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; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #eeeeee transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #eeeeee 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%); + 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; + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #eeeeee; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #eeeeee; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::before, .tox .tox-pop.tox-pop--align-left::after { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #eeeeee; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #eeeeee; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #e3e3e3; - color: rgba(34, 47, 62, 0.7); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: normal; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #fff; + border-top: 1px solid #e3e3e3; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: normal; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + 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; + color: rgba(34, 47, 62, 0.7); + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,547 +3121,554 @@ body.tox-dialog__disable-scroll { .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']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #cce2fa; - border: 0; - box-shadow: none; + background: #cce2fa; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + 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; + 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); + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #222f3e; + /* stylelint-disable-line no-descending-specificity */ + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + 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; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: #f7f7f7; + background: #f7f7f7; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #cce2fa inset; + box-shadow: 0 0 0 1px #cce2fa inset; } .tox .tox-split-button:focus { - background: #cce2fa; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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); + background: transparent; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #fff; - background-image: repeating-linear-gradient(#e3e3e3 0px 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#e3e3e3 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid transparent; - margin-top: 0px; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 6px; - 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; + background-color: #222f3e; + border-radius: 6px; + 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; + 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%); + 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%); + 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%); + 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%); + 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 #eeeeee; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #eeeeee; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #eeeeee; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #eeeeee; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* 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; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css index 3f1bf7ec..c4d083e7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css @@ -1,2088 +1,2082 @@ .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; + 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; + 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; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #eee; - border-radius: 10px; - 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; + border: 2px solid #eee; + border-radius: 10px; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 2px solid #eee; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 2px solid #eee; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #eee; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #eee; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #eee; - border-style: solid; + border-color: #eee; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.1); - border-color: #006ce7; - color: #222f3e; + background-color: rgba(0, 108, 231, 0.1); + border-color: #006ce7; + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > :last-child { - border-color: #006ce7; + border-color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #006ce7; + fill: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #006ce7; + color: #006ce7; } .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; + 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); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + 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; + 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); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + 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; + 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); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - 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; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + 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: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + 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: 6px; - 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; + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 6px; + 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, 0.5); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked[disabled] { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: rgba(34, 47, 62, 0.5); + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(34, 47, 62, 0.18); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.18); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + 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); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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: #e3e3e3; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #e3e3e3; + 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; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #fcfcfc; - color: rgba(34, 47, 62, 0.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; - user-select: none; + background-color: #fcfcfc; + color: rgba(34, 47, 62, 0.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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #cce2fa; - color: #222f3e; + background-color: #cce2fa; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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, 0.7); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} +.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-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-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 #e3e3e3; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #e3e3e3; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #cce2fa; + background: #cce2fa; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #fff; - border: 1px solid #eee; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #eee; + border-radius: 6px; + 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; + 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; + color: rgba(34, 47, 62, 0.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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + 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: 700; - text-transform: uppercase; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + background-color: #fff; } .tox .tox-dialog { - background-color: #fff; - border-color: #eee; - border-radius: 10px; - border-style: solid; - border-width: 0; - 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; + background-color: #fff; + border-color: #eee; + border-radius: 10px; + border-style: solid; + border-width: 0; + 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #fff; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { - display: flex; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #eee; + border-bottom: 1px solid #eee; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #eee; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #eee; + 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; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #eee; + border: 1px dotted #eee; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.1), 0 8px 8px -4px rgba(34, 47, 62, 0.07); - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.1), + 0 8px 8px -4px rgba(34, 47, 62, 0.07); + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #e3e3e3; - box-shadow: none; + border-top: 1px solid #e3e3e3; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #eee; - box-shadow: none; - max-width: 25em; + border-color: #eee; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + 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: #006ce7; - cursor: pointer; + border-color: #006ce7; + 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: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + 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: 6px; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(34, 47, 62, 0.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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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: #eee; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eee; + border-radius: 6px; + 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 5.5px; + resize: none; + width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #eee; - border-radius: 6px; - 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 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eee; + border-radius: 6px; + 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 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #eee; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #eee; + 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 -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 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%; + color: rgba(34, 47, 62, 0.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; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox .tox-menu { - background-color: #fff; - border: 1px solid transparent; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid transparent; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2087,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + 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='transparent'/%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 11px 0 12px; + 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='transparent'/%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 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } .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: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: 0; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + 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: 28px; + justify-content: center; + margin: 5px 1px 6px 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, 0.5); - cursor: not-allowed; + 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: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #eee; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #eee; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + 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; + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #eee transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #eee 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%); + 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; + 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 #eee transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #eee 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%); + 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; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #eee transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #eee 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%); + 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; + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #eee; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #eee; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #eee; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #eee; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #e3e3e3; - color: rgba(34, 47, 62, 0.7); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: 400; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #fff; + border-top: 1px solid #e3e3e3; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: 400; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + 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; + color: rgba(34, 47, 62, 0.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']), @@ -2590,451 +2596,458 @@ body.tox-dialog__disable-scroll { .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']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 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: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #cce2fa; - border: 0; - box-shadow: none; + background: #cce2fa; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + 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, 0.5); - cursor: not-allowed; + background: 0 0; + 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 { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: #f7f7f7; + background: #f7f7f7; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #cce2fa inset; + box-shadow: 0 0 0 1px #cce2fa inset; } .tox .tox-split-button:focus { - background: #cce2fa; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #fff; - background-image: repeating-linear-gradient(#e3e3e3 0 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#e3e3e3 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid transparent; - margin-top: 0; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 6px; - 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: 400; - padding: 4px 8px; - text-transform: none; + background-color: #222f3e; + border-radius: 6px; + 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: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + 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%); + 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%); + 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%); + 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%); + 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 #eee; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #eee; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #eee; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #eee; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css index ca33c5dc..93b8564a 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -67,55 +69,55 @@ */ 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; - hyphens: none; + 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; + hyphens: none; } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -123,12 +125,12 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.selector, @@ -137,7 +139,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #50fa7b; + color: #50fa7b; } .token.operator, @@ -146,379 +148,383 @@ pre[class*='language-'] { .language-css .token.string, .style .token.string, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.function, .token.class-name { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.regex, .token.important { - color: #ffb86c; + color: #ffb86c; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -527,154 +533,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -697,90 +703,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -803,7 +809,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -826,23 +832,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css index 761b0a30..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css @@ -1,5 +1,7 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { @@ -240,7 +242,7 @@ pre[class*='language-'] { .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; + default; } .mce-content-body figure.align-left { @@ -279,7 +281,9 @@ pre[class*='language-'] { } .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; + 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; } @@ -288,7 +292,7 @@ pre[class*='language-'] { cursor: default; display: block; height: 5px; - margin-top: 15px; + margin-top: 1rem; page-break-before: always; width: 100%; } @@ -516,7 +520,9 @@ pre[class*='language-'] { } .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; + 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; @@ -683,16 +689,16 @@ pre[class*='language-'] { list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { border: 1px dashed #bbb; diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css @@ -1,117 +1,117 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css index 04195ea7..9cf0f523 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css @@ -1,108 +1,108 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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, 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; - hyphens: none; + color: #f8f8f2; + background: 0 0; + 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; + hyphens: none; } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.constant, .token.deleted, .token.property, .token.symbol, .token.tag { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.attr-name, .token.builtin, @@ -110,7 +110,7 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #50fa7b; + color: #50fa7b; } .language-css .token.string, .style .token.string, @@ -118,319 +118,319 @@ pre[class*='language-'] { .token.operator, .token.url, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.class-name, .token.function { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.important, .token.regex { - color: #ffb86c; + color: #ffb86c; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -438,115 +438,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -556,11 +556,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -582,70 +582,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -667,7 +667,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -689,19 +689,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css index 67f5befd..c7c1820d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css @@ -1,2519 +1,2506 @@ .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: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + 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: normal; + 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; + 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) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 1px solid #000000; - 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; + border: 1px solid #000000; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 1px solid #000000; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #000000; - border-radius: 3px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #000000; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #000000; - border-style: solid; + border-color: #000000; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + 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; + 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; + border-color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + 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; + 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; + 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; + 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; + 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; + 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; + 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); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + 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); + 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; + 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; + 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; + background-color: #2b3b4e; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + 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; + /* 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; + 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); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + 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); + 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; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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; + 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; + 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; - user-select: none; + 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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #4a5562; - color: #fff; + background-color: #4a5562; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} + +.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-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-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 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid #1a1a1a; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #000000; + border-right: 1px solid #000000; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #000000; + border-left: 1px solid #000000; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* 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; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + 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; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + 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); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #4a5562; + background: #4a5562; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + 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; + 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; + 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; + 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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + 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; + 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; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + 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; + 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + 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; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + 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; + 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; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #000000; + border-bottom: 1px solid #000000; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .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; + 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; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #000000; + border: 1px dotted #000000; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #000000; - box-shadow: none; + border-top: 1px solid #000000; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #222f3e; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #000000; - box-shadow: none; - max-width: 25em; + border-color: #000000; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + 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; + 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; + 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; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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; + 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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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%; + -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; + 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: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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; + 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; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + 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%; + -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; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + 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; + 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: 0 -4px; + margin: 0 -4px; } .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); + 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%; + 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 */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* 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; + 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 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label h1, @@ -2525,587 +2512,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + 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; + 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; + 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; + 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; + 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; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + 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; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + 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: grid; - font-size: 14px; - font-weight: normal; - 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; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + 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; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: #000000; - color: #fff0b3; + background-color: #222f3e; + border-color: #000000; + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #ffcc00; + color: #ffcc00; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #000000; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + 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; + 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; + 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%); + 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; + 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; + 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%); + 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; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #000000 transparent transparent; - border-width: 10px; - margin-left: -19px; + 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%); + 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; + 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; + 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; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + 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%; + 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; + 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-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + 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; + 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; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + 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; + color: #fff; + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,630 +3114,635 @@ body.tox-dialog__disable-scroll { .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']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #4a5562; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #4a5562; + background-color: #4a5562; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #4a5562; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 3px 0 2px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 3px 0 2px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #4a5562; - border: 0; - box-shadow: none; + background: #4a5562; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + 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; + 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); + /* 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; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #fff; + /* stylelint-disable-line no-descending-specificity */ + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + 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; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: transparent; + background: transparent; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #4a5562 inset; + box-shadow: 0 0 0 1px #4a5562 inset; } .tox .tox-split-button:focus { - background: #4a5562; - box-shadow: none; - color: #fff; + background: #4a5562; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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); + background: transparent; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #222f3e; - background-image: repeating-linear-gradient(#000000 0px 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(#000000 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid #000000; - margin-top: 0; - padding-bottom: 0px; - padding-top: 0px; + border-top: 1px solid #000000; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + 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; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #000000; + border-right: 1px solid #000000; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #000000; + border-left: 1px solid #000000; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + 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; + 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; + 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%); + 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%); + 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%); + 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%); + 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%; + border: 1px solid #000000; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #000000; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #000000; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* 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; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-tbtn, .tox .tox-tbtn--select, .tox .tox-split-button { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .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 0px #222f3e !important; + 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 !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #000000; - margin-top: -1px; + border-top: 1px solid #000000; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #000000; - padding: 0; + border: 1px solid #000000; + padding: 0; } -.tox:not(.tox-tinymce-inline) -.tox-editor-header:not(:first-child) -.tox-toolbar-overlord:first-child -.tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #000000; + border-top: 1px solid #000000; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3746,19 +3751,19 @@ body.tox-dialog__disable-scroll { .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']) { - color: #fff; - text-decoration: underline; + color: #fff; + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css index e38e829e..84faa4f2 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css @@ -1,2088 +1,2075 @@ .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; + 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; + 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; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + 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; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 1px solid #000; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + 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; + align-items: stretch; + border: 1px solid #000; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #000; - border-style: solid; + border-color: #000; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + 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; + 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; + border-color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + 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; + 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); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + 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; + 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, 0.5); - cursor: not-allowed; + 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; + 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; + 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; + 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; + 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, 0.5); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + 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); + 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; + 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; + 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; + background-color: #2b3b4e; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + 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; + 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; + 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); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + 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); + 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; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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; + 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; + 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; - user-select: none; + 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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #4a5562; - color: #fff; + background-color: #4a5562; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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, 0.5); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} +.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-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-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 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid #1a1a1a; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #000; + border-right: 1px solid #000; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #000; + border-left: 1px solid #000; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 2px 0 3px 4px; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #4a5562; + background: #4a5562; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + 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, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #000; + 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; + 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; + color: rgba(255, 255, 255, 0.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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + 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: 700; - text-transform: uppercase; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + 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, 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; + 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, 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + 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; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + 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; + 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; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #000; + border-bottom: 1px solid #000; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .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; + 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, 0.5); - margin: 0 0 16px 0; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #000; + border: 1px dotted #000; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #000; - box-shadow: none; + border-top: 1px solid #000; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #222f3e; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #000; - box-shadow: none; - max-width: 25em; + border-color: #000; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + 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; + 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:focus:not([aria-disabled='true']), .tox .tox-color-input span:hover:not([aria-disabled='true']) { - border-color: #207ab7; - cursor: pointer; + 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; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(255, 255, 255, 0.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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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%; + -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, 0.85); - cursor: not-allowed; + background-color: #222f3e; + color: rgba(255, 255, 255, 0.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: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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; + 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; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + 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%; + -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, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + 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; + 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: 0 -4px; + margin: 0 -4px; } .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); + 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%; + 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; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + 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, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid #000; + 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 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2080,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + 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; + 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; + 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; + 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, 0.5); - cursor: not-allowed; + 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; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + 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; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + 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: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: #000; - color: #fff0b3; + background-color: #222f3e; + border-color: #000; + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #fc0; + color: #fc0; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #000; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + 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; + 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; + 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%); + 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; + 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; + 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%); + 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; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #000 transparent transparent; - border-width: 10px; - margin-left: -19px; + 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%); + 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; + 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; + 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; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + 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%; + 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; + 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-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + 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; + 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; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + 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; + 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']), @@ -2590,519 +2589,523 @@ body.tox-dialog__disable-scroll { .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']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #4a5562; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #4a5562; + background-color: #4a5562; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #4a5562; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 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: 3px 0 2px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 3px 0 2px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #4a5562; - border: 0; - box-shadow: none; + background: #4a5562; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + 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, 0.5); - cursor: not-allowed; + background: 0 0; + 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 { - fill: rgba(255, 255, 255, 0.5); + 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; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: 0 0; + background: 0 0; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #4a5562 inset; + box-shadow: 0 0 0 1px #4a5562 inset; } .tox .tox-split-button:focus { - background: #4a5562; - box-shadow: none; - color: #fff; + background: #4a5562; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #222f3e; - background-image: repeating-linear-gradient(#000 0 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(#000 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid #000; - margin-top: 0; - padding-bottom: 0; - padding-top: 0; + border-top: 1px solid #000; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + 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; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #000; + border-right: 1px solid #000; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #000; + border-left: 1px solid #000; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + 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: 400; - padding: 4px 8px; - text-transform: none; + 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: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + 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%); + 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%); + 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%); + 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%); + 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%; + border: 1px solid #000; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #000; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #000; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-split-button, .tox .tox-tbtn, .tox .tox-tbtn--select { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .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 !important; + 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 !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #000; - margin-top: -1px; + border-top: 1px solid #000; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #000; - padding: 0; + border: 1px solid #000; + padding: 0; } -.tox:not(.tox-tinymce-inline) - .tox-editor-header:not(:first-child) - .tox-toolbar-overlord:first-child - .tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #000; + border-top: 1px solid #000; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3110,16 +3113,16 @@ body.tox-dialog__disable-scroll { .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']) { - color: #fff; - text-decoration: underline; + color: #fff; + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css index b81f358d..6f7a7f41 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,23 +853,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css index e7acef31..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css @@ -1,60 +1,62 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + 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; + 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; + 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + 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; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,15 +853,15 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css @@ -1,117 +1,117 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css index 6e0034ba..ed110bc1 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css @@ -1,117 +1,117 @@ .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; + 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; } .mce-content-body .mce-item-anchor:empty { - 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; - user-select: all; - width: 8px !important; + 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; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + 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; + 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'); + 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; + 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; - hyphens: none; + 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; + 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; + 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; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + 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; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + 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; + 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; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + 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; + 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%; + 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; + 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; + 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%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .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%; + 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; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + 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%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + 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%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + 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; + 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; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + 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: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.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; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 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; + background: #555; + background: rgba(0, 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; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + 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; + 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; + 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; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + 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; + 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; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .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; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + 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; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + 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; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-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; + 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 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: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + 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; + 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; + 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; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .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; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + 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); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + 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); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + 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); + 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); + 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=); + 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==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,19 +708,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css index 290ce87d..c9ab9d9e 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css @@ -1,2519 +1,2505 @@ .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: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + 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: normal; + 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; + 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) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 1px solid #cccccc; - 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; + border: 1px solid #cccccc; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #cccccc; - border-radius: 3px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #cccccc; - border-style: solid; + border-color: #cccccc; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + 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; + 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); + border-color: rgba(32, 122, 183, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #207ab7; + fill: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #207ab7; + 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; + 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); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + 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; + 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); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + 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; + 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); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + 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; + 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; + 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; + 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; + 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; + 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; + 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); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + 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); + 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; + 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; + 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; + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + 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; + /* 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; + 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); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + 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); + 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; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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; + 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; + 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; - user-select: none; + 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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #dee0e2; - color: #222f3e; + background-color: #dee0e2; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} + +.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-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-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 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #cccccc; + border-right: 1px solid #cccccc; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #cccccc; + border-left: 1px solid #cccccc; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* 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; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + 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; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + 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); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #dee0e2; + background: #dee0e2; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + 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; + 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; + 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; + 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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + 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; + 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; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + 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; + 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + 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; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + 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; + 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; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #cccccc; + border-bottom: 1px solid #cccccc; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .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; + 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; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #cccccc; + border: 1px dotted #cccccc; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #c1c1c1; - box-shadow: none; + border-top: 1px solid #c1c1c1; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #fff; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #cccccc; - box-shadow: none; - max-width: 25em; + border-color: #cccccc; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + 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; + 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; + 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; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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; + 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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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%; + -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; + 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: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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; + 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; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + 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%; + -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; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + 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; + 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: 0 -4px; + margin: 0 -4px; } .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); + 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%; + 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 */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* 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; + 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 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label h1, @@ -2525,587 +2511,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + 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; + 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; + 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; + 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; + 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; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + 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; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + 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: grid; - font-size: 14px; - font-weight: normal; - 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; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + 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; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + 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; + 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; + 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%); + 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; + 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; + 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%); + 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; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #cccccc transparent transparent; - border-width: 10px; - margin-left: -19px; + 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%); + 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; + 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; + 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; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + 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%; + 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; + 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-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + 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; + 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; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + 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; + color: rgba(34, 47, 62, 0.7); + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,630 +3113,635 @@ body.tox-dialog__disable-scroll { .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']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 3px 0 2px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 3px 0 2px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #dee0e2; - border: 0; - box-shadow: none; + background: #dee0e2; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + 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; + 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); + /* 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; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #222f3e; + /* stylelint-disable-line no-descending-specificity */ + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + 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; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: transparent; + background: transparent; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #dee0e2 inset; + box-shadow: 0 0 0 1px #dee0e2 inset; } .tox .tox-split-button:focus { - background: #dee0e2; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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); + background: transparent; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #fff; - background-image: repeating-linear-gradient(#cccccc 0px 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#cccccc 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid #cccccc; - margin-top: 0; - padding-bottom: 0px; - padding-top: 0px; + border-top: 1px solid #cccccc; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + 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; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #cccccc; + border-right: 1px solid #cccccc; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #cccccc; + border-left: 1px solid #cccccc; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + 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; + 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; + 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%); + 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%); + 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%); + 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%); + 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%; + border: 1px solid #cccccc; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #cccccc; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* 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; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-tbtn, .tox .tox-tbtn--select, .tox .tox-split-button { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .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 0px #fff !important; + 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 !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #cccccc; - margin-top: -1px; + border-top: 1px solid #cccccc; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #cccccc; - padding: 0; + border: 1px solid #cccccc; + padding: 0; } -.tox:not(.tox-tinymce-inline) -.tox-editor-header:not(:first-child) -.tox-toolbar-overlord:first-child -.tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #cccccc; + border-top: 1px solid #cccccc; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3746,19 +3750,19 @@ body.tox-dialog__disable-scroll { .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']) { - color: rgba(34, 47, 62, 0.7); - text-decoration: underline; + color: rgba(34, 47, 62, 0.7); + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css index 62db7f27..6939852d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css @@ -1,2088 +1,2074 @@ .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; + 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; + 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; + 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; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + 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; + 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.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + 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; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + 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; + align-items: stretch; + border: 1px solid #ccc; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #ccc; - border-style: solid; + border-color: #ccc; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + 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; + 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); + border-color: rgba(32, 122, 183, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #207ab7; + fill: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #207ab7; + 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; + 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); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + 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; + 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); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + 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; + 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); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + 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; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + 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; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + 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; + 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, 0.5); - cursor: not-allowed; + 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; + 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; + 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; + 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; + 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, 0.5); + 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; + 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; + 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; + 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; + 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; + 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; + 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; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + 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); + 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; + 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; + 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; + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + 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; + 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; + 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); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + 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); + 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); + 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); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + 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); + 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; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + 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; + 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; + 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; + 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: 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; - user-select: none; + background-color: #e6e6e6; + color: rgba(34, 47, 62, 0.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; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #dee0e2; - color: #222f3e; + background-color: #dee0e2; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + 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; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + 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, 0.7); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + 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; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} +.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-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-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 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 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; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: 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; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + 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; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + 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; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #ccc; + border-right: 1px solid #ccc; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #ccc; + border-left: 1px solid #ccc; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + 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; + 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; + 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; + 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%; + 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; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + 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; + 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; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 2px 0 3px 4px; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + 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; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + 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; + 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 { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #dee0e2; + background: #dee0e2; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + 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, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #ccc; + 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; + 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; + color: rgba(34, 47, 62, 0.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; + 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%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + 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; + 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; + 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%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + 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%; + 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; + 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; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + 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; + 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; + 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; + 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; + 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; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + 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; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + 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: 700; - text-transform: uppercase; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + 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; + 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; + 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; + 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, 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; + 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, 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); - } + 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; + 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; + 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; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + 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; + 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; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + 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; - } + 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; + 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; - } + 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; + 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); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + 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; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + 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; + 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; + 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; + 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; + 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; + 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; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + 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; + 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; + 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; + 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%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #ccc; + border-bottom: 1px solid #ccc; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + 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; - } + 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; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + 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; - } + 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; - } + 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; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .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; + 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, 0.7); - margin: 0 0 16px 0; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #ccc; + border: 1px dotted #ccc; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #c1c1c1; - box-shadow: none; + border-top: 1px solid #c1c1c1; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #fff; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + 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; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + 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; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + 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; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #ccc; - box-shadow: none; - max-width: 25em; + border-color: #ccc; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + 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; + 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:focus:not([aria-disabled='true']), .tox .tox-color-input span:hover:not([aria-disabled='true']) { - border-color: #207ab7; - cursor: pointer; + 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; + 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; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + 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: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(34, 47, 62, 0.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; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + 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)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + 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%; + -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, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.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: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + 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; + 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; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + 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; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + 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%; + -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, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + 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; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + 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; + 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: 0 -4px; + margin: 0 -4px; } .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); + 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%; + color: rgba(34, 47, 62, 0.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; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + 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, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid #ccc; + 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 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2079,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + 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; + 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; + 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; + 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, 0.5); - cursor: not-allowed; + 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; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + 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; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + 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: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + 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; + 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; + 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%); + 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; + 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; + 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%); + 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; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #ccc transparent transparent; - border-width: 10px; - margin-left: -19px; + 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%); + 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; + 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; + 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; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + 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; + 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; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + 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%; + 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; + 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-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + 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; + 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; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #ccc; - color: rgba(34, 47, 62, 0.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; + align-items: center; + background-color: #fff; + border-top: 1px solid #ccc; + color: rgba(34, 47, 62, 0.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; + 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; + 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; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + 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; + color: rgba(34, 47, 62, 0.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']), @@ -2590,519 +2588,523 @@ body.tox-dialog__disable-scroll { .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']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .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-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + 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-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + 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; + 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: 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: 3px 0 2px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + 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: 3px 0 2px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #dee0e2; - border: 0; - box-shadow: none; + background: #dee0e2; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + 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, 0.5); - cursor: not-allowed; + background: 0 0; + 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 { - fill: rgba(34, 47, 62, 0.5); + 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; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: 0 0; + background: 0 0; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + 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: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #dee0e2 inset; + box-shadow: 0 0 0 1px #dee0e2 inset; } .tox .tox-split-button:focus { - background: #dee0e2; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .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, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #fff; - background-image: repeating-linear-gradient(#ccc 0 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#ccc 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + 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; + 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; + 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 { - border-top: 1px solid #ccc; - margin-top: 0; - padding-bottom: 0; - padding-top: 0; + border-top: 1px solid #ccc; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + 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; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #ccc; + border-right: 1px solid #ccc; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #ccc; + border-left: 1px solid #ccc; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + 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: 400; - padding: 4px 8px; - text-transform: none; + 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: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + 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%); + 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%); + 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%); + 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%); + 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%; + border: 1px solid #ccc; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #ccc; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #ccc; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-split-button, .tox .tox-tbtn, .tox .tox-tbtn--select { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .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 !important; + 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 !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #ccc; - margin-top: -1px; + border-top: 1px solid #ccc; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #ccc; - padding: 0; + border: 1px solid #ccc; + padding: 0; } -.tox:not(.tox-tinymce-inline) - .tox-editor-header:not(:first-child) - .tox-toolbar-overlord:first-child - .tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #ccc; + border-top: 1px solid #ccc; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3110,16 +3112,16 @@ body.tox-dialog__disable-scroll { .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']) { - color: rgba(34, 47, 62, 0.7); - text-decoration: underline; + color: rgba(34, 47, 62, 0.7); + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css index d9ea82a3..8bf192d2 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css @@ -1,35 +1,35 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/src/App.vue b/src/frontend/admin/src/App.vue index 805ab9b2..19a78225 100644 --- a/src/frontend/admin/src/App.vue +++ b/src/frontend/admin/src/App.vue @@ -27,7 +27,7 @@ export default { }, async created() { //设置主题颜色 - const app_color = this.$CONFIG.COLOR || this.$TOOL.data.get('APP_COLOR') + const app_color = this.$TOOL.data.get('APP_COLOR') ?? this.$CONFIG.COLOR if (app_color) { document.documentElement.style.setProperty('--el-color-primary', app_color) for (let i = 1; i <= 9; i++) { @@ -37,6 +37,30 @@ export default { document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(app_color, i / 10)) } } + + //设置布局 + const layout = this.$TOOL.data.get('LAYOUT') ?? this.$CONFIG.LAYOUT + if (layout) { + this.$store.commit('SET_layout', layout) + } + + //菜单是否折叠 + const menuIsCollapse = this.$TOOL.data.get('MENU_IS_COLLAPSE') ?? this.$CONFIG.MENU_IS_COLLAPSE + if (menuIsCollapse !== this.$store.state.global.menuIsCollapse) { + this.$store.commit('TOGGLE_menuIsCollapse') + } + + //是否开启多标签 + const layoutTags = this.$TOOL.data.get('LAYOUT_TAGS') ?? this.$CONFIG.LAYOUT_TAGS + if (layoutTags !== this.$store.state.global.layoutTags) { + this.$store.commit('TOGGLE_layoutTags') + } + + //是否开启手风琴菜单 + const menuUniqueOpened = this.$TOOL.data.get('MENU_UNIQUE_OPENED') ?? this.$CONFIG.MENU_UNIQUE_OPENED + if (menuUniqueOpened !== this.$CONFIG.MENU_UNIQUE_OPENED) { + this.$CONFIG.MENU_UNIQUE_OPENED = menuUniqueOpened + } }, } diff --git a/src/frontend/admin/src/api/controllers/health.js b/src/frontend/admin/src/api/controllers/health.js new file mode 100644 index 00000000..1e0e921b --- /dev/null +++ b/src/frontend/admin/src/api/controllers/health.js @@ -0,0 +1,18 @@ +/** + * 健康控制器 + * @module @/api/health + */ +import config from '@/config' +import http from '@/utils/request' +export default { + /** + * 健康检查 + */ + check: { + url: `${config.API_URL}/api/health/check`, + name: `健康检查`, + get: async function (data = {}, config = {}) { + return await http.get(this.url, data, config) + }, + }, +} \ No newline at end of file diff --git a/src/frontend/admin/src/api/index.js b/src/frontend/admin/src/api/index.js index 1397ad01..68ffc793 100644 --- a/src/frontend/admin/src/api/index.js +++ b/src/frontend/admin/src/api/index.js @@ -2,7 +2,7 @@ * @description 自动import导入所有 api 模块 */ -const files = import.meta.globEager('./*/*.js') +const files = import.meta.glob('./*/*.js', { eager: true }) const modules = {} Object.keys(files).forEach((key) => { modules[key.replace(/^\.\/(.*?)\/(.*)\.js$/g, '$1_$2')] = files[key].default diff --git a/src/frontend/admin/src/api/sys/api.js b/src/frontend/admin/src/api/sys/api.js index 0ba9a3a2..780b9d95 100644 --- a/src/frontend/admin/src/api/sys/api.js +++ b/src/frontend/admin/src/api/sys/api.js @@ -2,32 +2,28 @@ * 接口服务 * @module @/api/sys/api */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 查询接口 + */ + query: { + url: `${config.API_URL}/api/sys/api/query`, + name: `查询接口`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 查询接口 - */ -query :{ - url: `${config.API_URL}/api/sys/api/query`, - name: `查询接口`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 同步接口 - */ -sync :{ - url: `${config.API_URL}/api/sys/api/sync`, + * 同步接口 + */ + sync: { + url: `${config.API_URL}/api/sys/api/sync`, name: `同步接口`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/cache.js b/src/frontend/admin/src/api/sys/cache.js index c0af0208..4cfa220b 100644 --- a/src/frontend/admin/src/api/sys/cache.js +++ b/src/frontend/admin/src/api/sys/cache.js @@ -2,32 +2,28 @@ * 缓存服务 * @module @/api/sys/cache */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 缓存统计 + */ + cacheStatistics: { + url: `${config.API_URL}/api/sys/cache/cache.statistics`, + name: `缓存统计`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 缓存统计 - */ -cacheStatistics :{ - url: `${config.API_URL}/api/sys/cache/cache.statistics`, - name: `缓存统计`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 获取所有缓存项 - */ -getAllEntries :{ - url: `${config.API_URL}/api/sys/cache/get.all.entries`, + * 获取所有缓存项 + */ + getAllEntries: { + url: `${config.API_URL}/api/sys/cache/get.all.entries`, name: `获取所有缓存项`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/captcha.js b/src/frontend/admin/src/api/sys/captcha.js index 7136d98b..87df09db 100644 --- a/src/frontend/admin/src/api/sys/captcha.js +++ b/src/frontend/admin/src/api/sys/captcha.js @@ -2,32 +2,28 @@ * 人机验证服务 * @module @/api/sys/captcha */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获取人机校验图 + */ + getCaptchaImage: { + url: `${config.API_URL}/api/sys/captcha/get.captcha.image`, + name: `获取人机校验图`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 获取人机校验图 - */ -getCaptchaImage :{ - url: `${config.API_URL}/api/sys/captcha/get.captcha.image`, - name: `获取人机校验图`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 完成人机校验 - */ -verifyCaptcha :{ - url: `${config.API_URL}/api/sys/captcha/verify.captcha`, + * 完成人机校验 + */ + verifyCaptcha: { + url: `${config.API_URL}/api/sys/captcha/verify.captcha`, name: `完成人机校验`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/config.js b/src/frontend/admin/src/api/sys/config.js index cb4d0981..8fcf1185 100644 --- a/src/frontend/admin/src/api/sys/config.js +++ b/src/frontend/admin/src/api/sys/config.js @@ -2,87 +2,94 @@ * 配置服务 * @module @/api/sys/config */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除配置 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/config/bulk.delete`, + name: `批量删除配置`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除配置 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/config/bulk.delete`, - name: `批量删除配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建配置 - */ -create :{ - url: `${config.API_URL}/api/sys/config/create`, + * 创建配置 + */ + create: { + url: `${config.API_URL}/api/sys/config/create`, name: `创建配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除配置 - */ -delete :{ - url: `${config.API_URL}/api/sys/config/delete`, + /** + * 删除配置 + */ + delete: { + url: `${config.API_URL}/api/sys/config/delete`, name: `删除配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 获取最新有效配置 - */ -getLatestConfig :{ - url: `${config.API_URL}/api/sys/config/get.latest.config`, + /** + * 获取单个配置 + */ + get: { + url: `${config.API_URL}/api/sys/config/get`, + name: `获取单个配置`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取最新有效配置 + */ + getLatestConfig: { + url: `${config.API_URL}/api/sys/config/get.latest.config`, name: `获取最新有效配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询配置 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/config/paged.query`, + /** + * 分页查询配置 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/config/paged.query`, name: `分页查询配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询配置 - */ -query :{ - url: `${config.API_URL}/api/sys/config/query`, + /** + * 查询配置 + */ + query: { + url: `${config.API_URL}/api/sys/config/query`, name: `查询配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新配置 - */ -update :{ - url: `${config.API_URL}/api/sys/config/update`, + /** + * 更新配置 + */ + update: { + url: `${config.API_URL}/api/sys/config/update`, name: `更新配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/constant.js b/src/frontend/admin/src/api/sys/constant.js index 42c8aae4..e1225291 100644 --- a/src/frontend/admin/src/api/sys/constant.js +++ b/src/frontend/admin/src/api/sys/constant.js @@ -2,54 +2,50 @@ * 常量服务 * @module @/api/sys/constant */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获得常量字符串 + */ + getChars: { + url: `${config.API_URL}/api/sys/constant/get.chars`, + name: `获得常量字符串`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 获得常量字符串 - */ -getChars :{ - url: `${config.API_URL}/api/sys/constant/get.chars`, - name: `获得常量字符串`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 获得公共枚举值 - */ -getEnums :{ - url: `${config.API_URL}/api/sys/constant/get.enums`, + * 获得公共枚举值 + */ + getEnums: { + url: `${config.API_URL}/api/sys/constant/get.enums`, name: `获得公共枚举值`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 获得本地化字符串 - */ -getLocalizedStrings :{ - url: `${config.API_URL}/api/sys/constant/get.localized.strings`, + /** + * 获得本地化字符串 + */ + getLocalizedStrings: { + url: `${config.API_URL}/api/sys/constant/get.localized.strings`, name: `获得本地化字符串`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 获得数字常量表 - */ -getNumbers :{ - url: `${config.API_URL}/api/sys/constant/get.numbers`, + /** + * 获得数字常量表 + */ + getNumbers: { + url: `${config.API_URL}/api/sys/constant/get.numbers`, name: `获得数字常量表`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/dept.js b/src/frontend/admin/src/api/sys/dept.js index 963b6e06..ee3bb168 100644 --- a/src/frontend/admin/src/api/sys/dept.js +++ b/src/frontend/admin/src/api/sys/dept.js @@ -2,65 +2,72 @@ * 部门服务 * @module @/api/sys/dept */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除部门 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/dept/bulk.delete`, + name: `批量删除部门`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除部门 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/dept/bulk.delete`, - name: `批量删除部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建部门 - */ -create :{ - url: `${config.API_URL}/api/sys/dept/create`, + * 创建部门 + */ + create: { + url: `${config.API_URL}/api/sys/dept/create`, name: `创建部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除部门 - */ -delete :{ - url: `${config.API_URL}/api/sys/dept/delete`, + /** + * 删除部门 + */ + delete: { + url: `${config.API_URL}/api/sys/dept/delete`, name: `删除部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询部门 - */ -query :{ - url: `${config.API_URL}/api/sys/dept/query`, + /** + * 获取单个部门 + */ + get: { + url: `${config.API_URL}/api/sys/dept/get`, + name: `获取单个部门`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 查询部门 + */ + query: { + url: `${config.API_URL}/api/sys/dept/query`, name: `查询部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新部门 - */ -update :{ - url: `${config.API_URL}/api/sys/dept/update`, + /** + * 更新部门 + */ + update: { + url: `${config.API_URL}/api/sys/dept/update`, name: `更新部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/dev.js b/src/frontend/admin/src/api/sys/dev.js index fddc09c5..72b4d415 100644 --- a/src/frontend/admin/src/api/sys/dev.js +++ b/src/frontend/admin/src/api/sys/dev.js @@ -2,43 +2,39 @@ * 开发服务 * @module @/api/sys/dev */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 生成后端代码 + */ + generateCsCode: { + url: `${config.API_URL}/api/sys/dev/generate.cs.code`, + name: `生成后端代码`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 生成后端代码 - */ -generateCsCode :{ - url: `${config.API_URL}/api/sys/dev/generate.cs.code`, - name: `生成后端代码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 生成图标代码 - */ -generateIconCode :{ - url: `${config.API_URL}/api/sys/dev/generate.icon.code`, + * 生成图标代码 + */ + generateIconCode: { + url: `${config.API_URL}/api/sys/dev/generate.icon.code`, name: `生成图标代码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 生成接口代码 - */ -generateJsCode :{ - url: `${config.API_URL}/api/sys/dev/generate.js.code`, + /** + * 生成接口代码 + */ + generateJsCode: { + url: `${config.API_URL}/api/sys/dev/generate.js.code`, name: `生成接口代码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/dic.js b/src/frontend/admin/src/api/sys/dic.js index 9ccefda6..aa3a43f6 100644 --- a/src/frontend/admin/src/api/sys/dic.js +++ b/src/frontend/admin/src/api/sys/dic.js @@ -2,142 +2,160 @@ * 字典服务 * @module @/api/sys/dic */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除字典目录 + */ + bulkDeleteCatalog: { + url: `${config.API_URL}/api/sys/dic/bulk.delete.catalog`, + name: `批量删除字典目录`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除字典目录 - */ -bulkDeleteCatalog :{ - url: `${config.API_URL}/api/sys/dic/bulk.delete.catalog`, - name: `批量删除字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 批量删除字典内容 - */ -bulkDeleteContent :{ - url: `${config.API_URL}/api/sys/dic/bulk.delete.content`, + * 批量删除字典内容 + */ + bulkDeleteContent: { + url: `${config.API_URL}/api/sys/dic/bulk.delete.content`, name: `批量删除字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 创建字典目录 - */ -createCatalog :{ - url: `${config.API_URL}/api/sys/dic/create.catalog`, + /** + * 创建字典目录 + */ + createCatalog: { + url: `${config.API_URL}/api/sys/dic/create.catalog`, name: `创建字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 创建字典内容 - */ -createContent :{ - url: `${config.API_URL}/api/sys/dic/create.content`, + /** + * 创建字典内容 + */ + createContent: { + url: `${config.API_URL}/api/sys/dic/create.content`, name: `创建字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除字典目录 - */ -deleteCatalog :{ - url: `${config.API_URL}/api/sys/dic/delete.catalog`, + /** + * 删除字典目录 + */ + deleteCatalog: { + url: `${config.API_URL}/api/sys/dic/delete.catalog`, name: `删除字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除字典内容 - */ -deleteContent :{ - url: `${config.API_URL}/api/sys/dic/delete.content`, + /** + * 删除字典内容 + */ + deleteContent: { + url: `${config.API_URL}/api/sys/dic/delete.content`, name: `删除字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询字典目录 - */ -pagedQueryCatalog :{ - url: `${config.API_URL}/api/sys/dic/paged.query.catalog`, + /** + * 获取单个字典目录 + */ + getCatalog: { + url: `${config.API_URL}/api/sys/dic/get.catalog`, + name: `获取单个字典目录`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个字典内容 + */ + getContent: { + url: `${config.API_URL}/api/sys/dic/get.content`, + name: `获取单个字典内容`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询字典目录 + */ + pagedQueryCatalog: { + url: `${config.API_URL}/api/sys/dic/paged.query.catalog`, name: `分页查询字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询字典内容 - */ -pagedQueryContent :{ - url: `${config.API_URL}/api/sys/dic/paged.query.content`, + /** + * 分页查询字典内容 + */ + pagedQueryContent: { + url: `${config.API_URL}/api/sys/dic/paged.query.content`, name: `分页查询字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询字典目录 - */ -queryCatalog :{ - url: `${config.API_URL}/api/sys/dic/query.catalog`, + /** + * 查询字典目录 + */ + queryCatalog: { + url: `${config.API_URL}/api/sys/dic/query.catalog`, name: `查询字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询字典内容 - */ -queryContent :{ - url: `${config.API_URL}/api/sys/dic/query.content`, + /** + * 查询字典内容 + */ + queryContent: { + url: `${config.API_URL}/api/sys/dic/query.content`, name: `查询字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新字典目录 - */ -updateCatalog :{ - url: `${config.API_URL}/api/sys/dic/update.catalog`, + /** + * 更新字典目录 + */ + updateCatalog: { + url: `${config.API_URL}/api/sys/dic/update.catalog`, name: `更新字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新字典内容 - */ -updateContent :{ - url: `${config.API_URL}/api/sys/dic/update.content`, + /** + * 更新字典内容 + */ + updateContent: { + url: `${config.API_URL}/api/sys/dic/update.content`, name: `更新字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/file.js b/src/frontend/admin/src/api/sys/file.js index 5b50ba66..542b27ac 100644 --- a/src/frontend/admin/src/api/sys/file.js +++ b/src/frontend/admin/src/api/sys/file.js @@ -2,21 +2,17 @@ * 文件服务 * @module @/api/sys/file */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { - /** - * 文件上传 - */ -upload :{ - url: `${config.API_URL}/api/sys/file/upload`, + * 文件上传 + */ + upload: { + url: `${config.API_URL}/api/sys/file/upload`, name: `文件上传`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/log.js b/src/frontend/admin/src/api/sys/log.js index 054de945..06422b0f 100644 --- a/src/frontend/admin/src/api/sys/log.js +++ b/src/frontend/admin/src/api/sys/log.js @@ -2,32 +2,39 @@ * 请求日志服务 * @module @/api/sys/log */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获取单个请求日志 + */ + get: { + url: `${config.API_URL}/api/sys/log/get`, + name: `获取单个请求日志`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 分页查询请求日志 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/log/paged.query`, + * 分页查询请求日志 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/log/paged.query`, name: `分页查询请求日志`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询请求日志 - */ -query :{ - url: `${config.API_URL}/api/sys/log/query`, + /** + * 查询请求日志 + */ + query: { + url: `${config.API_URL}/api/sys/log/query`, name: `查询请求日志`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/menu.js b/src/frontend/admin/src/api/sys/menu.js index ea55a58f..f370f3e5 100644 --- a/src/frontend/admin/src/api/sys/menu.js +++ b/src/frontend/admin/src/api/sys/menu.js @@ -2,76 +2,83 @@ * 菜单服务 * @module @/api/sys/menu */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除菜单 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/menu/bulk.delete`, + name: `批量删除菜单`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除菜单 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/menu/bulk.delete`, - name: `批量删除菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建菜单 - */ -create :{ - url: `${config.API_URL}/api/sys/menu/create`, + * 创建菜单 + */ + create: { + url: `${config.API_URL}/api/sys/menu/create`, name: `创建菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除菜单 - */ -delete :{ - url: `${config.API_URL}/api/sys/menu/delete`, + /** + * 删除菜单 + */ + delete: { + url: `${config.API_URL}/api/sys/menu/delete`, name: `删除菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询菜单 - */ -query :{ - url: `${config.API_URL}/api/sys/menu/query`, + /** + * 获取单个菜单 + */ + get: { + url: `${config.API_URL}/api/sys/menu/get`, + name: `获取单个菜单`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 查询菜单 + */ + query: { + url: `${config.API_URL}/api/sys/menu/query`, name: `查询菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新菜单 - */ -update :{ - url: `${config.API_URL}/api/sys/menu/update`, + /** + * 更新菜单 + */ + update: { + url: `${config.API_URL}/api/sys/menu/update`, name: `更新菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 当前用户菜单 - */ -userMenus :{ - url: `${config.API_URL}/api/sys/menu/user.menus`, + /** + * 当前用户菜单 + */ + userMenus: { + url: `${config.API_URL}/api/sys/menu/user.menus`, name: `当前用户菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/position.js b/src/frontend/admin/src/api/sys/position.js deleted file mode 100644 index 43e5093b..00000000 --- a/src/frontend/admin/src/api/sys/position.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * 岗位服务 - * @module @/api/sys/position - */ - -import config from "@/config" -import http from "@/utils/request" - -export default { - - /** - * 批量删除岗位 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/position/bulk.delete`, - name: `批量删除岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建岗位 - */ -create :{ - url: `${config.API_URL}/api/sys/position/create`, - name: `创建岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 删除岗位 - */ -delete :{ - url: `${config.API_URL}/api/sys/position/delete`, - name: `删除岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 分页查询岗位 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/position/paged.query`, - name: `分页查询岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 查询岗位 - */ -query :{ - url: `${config.API_URL}/api/sys/position/query`, - name: `查询岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 更新岗位 - */ -update :{ - url: `${config.API_URL}/api/sys/position/update`, - name: `更新岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -} \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/role.js b/src/frontend/admin/src/api/sys/role.js index 1772d99f..f97e6586 100644 --- a/src/frontend/admin/src/api/sys/role.js +++ b/src/frontend/admin/src/api/sys/role.js @@ -2,76 +2,83 @@ * 角色服务 * @module @/api/sys/role */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除角色 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/role/bulk.delete`, + name: `批量删除角色`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除角色 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/role/bulk.delete`, - name: `批量删除角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建角色 - */ -create :{ - url: `${config.API_URL}/api/sys/role/create`, + * 创建角色 + */ + create: { + url: `${config.API_URL}/api/sys/role/create`, name: `创建角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除角色 - */ -delete :{ - url: `${config.API_URL}/api/sys/role/delete`, + /** + * 删除角色 + */ + delete: { + url: `${config.API_URL}/api/sys/role/delete`, name: `删除角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询角色 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/role/paged.query`, + /** + * 获取单个角色 + */ + get: { + url: `${config.API_URL}/api/sys/role/get`, + name: `获取单个角色`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询角色 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/role/paged.query`, name: `分页查询角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询角色 - */ -query :{ - url: `${config.API_URL}/api/sys/role/query`, + /** + * 查询角色 + */ + query: { + url: `${config.API_URL}/api/sys/role/query`, name: `查询角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新角色 - */ -update :{ - url: `${config.API_URL}/api/sys/role/update`, + /** + * 更新角色 + */ + update: { + url: `${config.API_URL}/api/sys/role/update`, name: `更新角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/sitemsg.js b/src/frontend/admin/src/api/sys/sitemsg.js new file mode 100644 index 00000000..7f1078cb --- /dev/null +++ b/src/frontend/admin/src/api/sys/sitemsg.js @@ -0,0 +1,139 @@ +/** + * 站内信服务 + * @module @/api/sys/site.msg + */ +import config from '@/config' +import http from '@/utils/request' +export default { + /** + * 批量删除站内信 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/site.msg/bulk.delete`, + name: `批量删除站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 创建站内信 + */ + create: { + url: `${config.API_URL}/api/sys/site.msg/create`, + name: `创建站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 删除站内信 + */ + delete: { + url: `${config.API_URL}/api/sys/site.msg/delete`, + name: `删除站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 站内信是否存在 + */ + exist: { + url: `${config.API_URL}/api/sys/site.msg/exist`, + name: `站内信是否存在`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个站内信 + */ + get: { + url: `${config.API_URL}/api/sys/site.msg/get`, + name: `获取单个站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个我的站内信 + */ + getMine: { + url: `${config.API_URL}/api/sys/site.msg/get.mine`, + name: `获取单个我的站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询站内信 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/site.msg/paged.query`, + name: `分页查询站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询我的站内信 + */ + pagedQueryMine: { + url: `${config.API_URL}/api/sys/site.msg/paged.query.mine`, + name: `分页查询我的站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 查询站内信 + */ + query: { + url: `${config.API_URL}/api/sys/site.msg/query`, + name: `查询站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 设置站内信状态 + */ + setSiteMsgStatus: { + url: `${config.API_URL}/api/sys/site.msg/set.site.msg.status`, + name: `设置站内信状态`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 未读数量 + */ + unreadCount: { + url: `${config.API_URL}/api/sys/site.msg/unread.count`, + name: `未读数量`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 更新站内信 + */ + update: { + url: `${config.API_URL}/api/sys/site.msg/update`, + name: `更新站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, +} \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/tools.js b/src/frontend/admin/src/api/sys/tools.js index f42c06fa..a7d9f1b7 100644 --- a/src/frontend/admin/src/api/sys/tools.js +++ b/src/frontend/admin/src/api/sys/tools.js @@ -2,32 +2,39 @@ * 工具服务 * @module @/api/sys/tools */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获取模块信息 + */ + getModules: { + url: `${config.API_URL}/api/sys/tools/get.modules`, + name: `获取模块信息`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 服务器时间 - */ -getServerUtcTime :{ - url: `${config.API_URL}/api/sys/tools/get.server.utc.time`, - name: `服务器时间`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 版本信息 - */ -version :{ - url: `${config.API_URL}/api/sys/tools/version`, - name: `版本信息`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + * 获取服务器时间 + */ + getServerUtcTime: { + url: `${config.API_URL}/api/sys/tools/get.server.utc.time`, + name: `获取服务器时间`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + /** + * 获取版本信息 + */ + getVersion: { + url: `${config.API_URL}/api/sys/tools/get.version`, + name: `获取版本信息`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/user.js b/src/frontend/admin/src/api/sys/user.js index 5a4d30c6..17ed3f59 100644 --- a/src/frontend/admin/src/api/sys/user.js +++ b/src/frontend/admin/src/api/sys/user.js @@ -2,197 +2,204 @@ * 用户服务 * @module @/api/sys/user */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 检查手机号是否可用 + */ + checkMobileAvailable: { + url: `${config.API_URL}/api/sys/user/check.mobile.available`, + name: `检查手机号是否可用`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 检查手机号是否可用 - */ -checkMobileAvailable :{ - url: `${config.API_URL}/api/sys/user/check.mobile.available`, - name: `检查手机号是否可用`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 检查用户名是否可用 - */ -checkUserNameAvailable :{ - url: `${config.API_URL}/api/sys/user/check.user.name.available`, + * 检查用户名是否可用 + */ + checkUserNameAvailable: { + url: `${config.API_URL}/api/sys/user/check.user.name.available`, name: `检查用户名是否可用`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 创建用户 - */ -create :{ - url: `${config.API_URL}/api/sys/user/create`, + /** + * 创建用户 + */ + create: { + url: `${config.API_URL}/api/sys/user/create`, name: `创建用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除用户 - */ -delete :{ - url: `${config.API_URL}/api/sys/user/delete`, + /** + * 删除用户 + */ + delete: { + url: `${config.API_URL}/api/sys/user/delete`, name: `删除用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 密码登录 - */ -loginByPwd :{ - url: `${config.API_URL}/api/sys/user/login.by.pwd`, + /** + * 获取单个用户 + */ + get: { + url: `${config.API_URL}/api/sys/user/get`, + name: `获取单个用户`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 密码登录 + */ + loginByPwd: { + url: `${config.API_URL}/api/sys/user/login.by.pwd`, name: `密码登录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 短信登录 - */ -loginBySms :{ - url: `${config.API_URL}/api/sys/user/login.by.sms`, + /** + * 短信登录 + */ + loginBySms: { + url: `${config.API_URL}/api/sys/user/login.by.sms`, name: `短信登录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询用户 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/user/paged.query`, + /** + * 分页查询用户 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/user/paged.query`, name: `分页查询用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询用户 - */ -query :{ - url: `${config.API_URL}/api/sys/user/query`, + /** + * 查询用户 + */ + query: { + url: `${config.API_URL}/api/sys/user/query`, name: `查询用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询用户档案 - */ -queryProfile :{ - url: `${config.API_URL}/api/sys/user/query.profile`, + /** + * 查询用户档案 + */ + queryProfile: { + url: `${config.API_URL}/api/sys/user/query.profile`, name: `查询用户档案`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 注册用户 - */ -register :{ - url: `${config.API_URL}/api/sys/user/register`, + /** + * 注册用户 + */ + register: { + url: `${config.API_URL}/api/sys/user/register`, name: `注册用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 重设密码 - */ -resetPassword :{ - url: `${config.API_URL}/api/sys/user/reset.password`, + /** + * 重设密码 + */ + resetPassword: { + url: `${config.API_URL}/api/sys/user/reset.password`, name: `重设密码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新用户头像 - */ -setAvatar :{ - url: `${config.API_URL}/api/sys/user/set.avatar`, + /** + * 更新用户头像 + */ + setAvatar: { + url: `${config.API_URL}/api/sys/user/set.avatar`, name: `更新用户头像`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 设置邮箱 - */ -setEmail :{ - url: `${config.API_URL}/api/sys/user/set.email`, + /** + * 设置邮箱 + */ + setEmail: { + url: `${config.API_URL}/api/sys/user/set.email`, name: `设置邮箱`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 设置手机号 - */ -setMobile :{ - url: `${config.API_URL}/api/sys/user/set.mobile`, + /** + * 设置手机号 + */ + setMobile: { + url: `${config.API_URL}/api/sys/user/set.mobile`, name: `设置手机号`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 设置密码 - */ -setPassword :{ - url: `${config.API_URL}/api/sys/user/set.password`, + /** + * 设置密码 + */ + setPassword: { + url: `${config.API_URL}/api/sys/user/set.password`, name: `设置密码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新用户 - */ -update :{ - url: `${config.API_URL}/api/sys/user/update`, + /** + * 更新用户 + */ + update: { + url: `${config.API_URL}/api/sys/user/update`, name: `更新用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 当前用户信息 - */ -userInfo :{ - url: `${config.API_URL}/api/sys/user/user.info`, + /** + * 当前用户信息 + */ + userInfo: { + url: `${config.API_URL}/api/sys/user/user.info`, name: `当前用户信息`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/verifycode.js b/src/frontend/admin/src/api/sys/verifycode.js index f0ea1264..ac4dc62e 100644 --- a/src/frontend/admin/src/api/sys/verifycode.js +++ b/src/frontend/admin/src/api/sys/verifycode.js @@ -2,32 +2,28 @@ * 验证码服务 * @module @/api/sys/verify.code */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 发送验证码 + */ + sendVerifyCode: { + url: `${config.API_URL}/api/sys/verify.code/send.verify.code`, + name: `发送验证码`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 发送验证码 - */ -sendVerifyCode :{ - url: `${config.API_URL}/api/sys/verify.code/send.verify.code`, - name: `发送验证码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 完成验证 - */ -verify :{ - url: `${config.API_URL}/api/sys/verify.code/verify`, + * 完成验证 + */ + verify: { + url: `${config.API_URL}/api/sys/verify.code/verify`, name: `完成验证`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/tpl/example.js b/src/frontend/admin/src/api/tpl/example.js index 4b672530..ef708100 100644 --- a/src/frontend/admin/src/api/tpl/example.js +++ b/src/frontend/admin/src/api/tpl/example.js @@ -2,76 +2,94 @@ * 示例服务 * @module @/api/tpl/example */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除示例 + */ + bulkDelete: { + url: `${config.API_URL}/api/tpl/example/bulk.delete`, + name: `批量删除示例`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除示例 - */ -bulkDelete :{ - url: `${config.API_URL}/api/tpl/example/bulk.delete`, - name: `批量删除示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建示例 - */ -create :{ - url: `${config.API_URL}/api/tpl/example/create`, + * 创建示例 + */ + create: { + url: `${config.API_URL}/api/tpl/example/create`, name: `创建示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除示例 - */ -delete :{ - url: `${config.API_URL}/api/tpl/example/delete`, + /** + * 删除示例 + */ + delete: { + url: `${config.API_URL}/api/tpl/example/delete`, name: `删除示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询示例 - */ -pagedQuery :{ - url: `${config.API_URL}/api/tpl/example/paged.query`, + /** + * 示例是否存在 + */ + exist: { + url: `${config.API_URL}/api/tpl/example/exist`, + name: `示例是否存在`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个示例 + */ + get: { + url: `${config.API_URL}/api/tpl/example/get`, + name: `获取单个示例`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询示例 + */ + pagedQuery: { + url: `${config.API_URL}/api/tpl/example/paged.query`, name: `分页查询示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询示例 - */ -query :{ - url: `${config.API_URL}/api/tpl/example/query`, + /** + * 查询示例 + */ + query: { + url: `${config.API_URL}/api/tpl/example/query`, name: `查询示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新示例 - */ -update :{ - url: `${config.API_URL}/api/tpl/example/update`, + /** + * 更新示例 + */ + update: { + url: `${config.API_URL}/api/tpl/example/update`, name: `更新示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/tpl/inner.js b/src/frontend/admin/src/api/tpl/inner.js index d4dfd800..7cf6abe5 100644 --- a/src/frontend/admin/src/api/tpl/inner.js +++ b/src/frontend/admin/src/api/tpl/inner.js @@ -1,10 +1,10 @@ -//~/** -//~ * $actionDesc$ -//~ */ -//~$actionName$ :{ -//~ url: `${config.API_URL}/$actionPath$`, +//~ /** +//~ * $actionDesc$ +//~ */ +//~ $actionName$: { +//~ url: `${config.API_URL}/$actionPath$`, //~ name: `$actionDesc$`, -//~ $actionMethod$:async function(data={}, config={}) { -//~ return await http.$actionMethod$(this.url,data, config) -//~ } -//~}, \ No newline at end of file +//~ $actionMethod$: async function (data = {}, config = {}) { +//~ return await http.$actionMethod$(this.url, data, config) +//~ }, +//~ }, \ No newline at end of file diff --git a/src/frontend/admin/src/api/tpl/outer.js b/src/frontend/admin/src/api/tpl/outer.js index 15b6479b..ca2f3096 100644 --- a/src/frontend/admin/src/api/tpl/outer.js +++ b/src/frontend/admin/src/api/tpl/outer.js @@ -2,12 +2,8 @@ * $controllerDesc$ * @module @/$controllerPath$ */ - -import config from "@/config" -import http from "@/utils/request" - -export default { - - //~$inner$ - -} \ No newline at end of file +//~import config from '@/config' +//~import http from '@/utils/request' +//~export default { +//~$inner$ +//~} \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Api.vue b/src/frontend/admin/src/assets/icons/Api.vue index bf12ac5a..8f824ff0 100644 --- a/src/frontend/admin/src/assets/icons/Api.vue +++ b/src/frontend/admin/src/assets/icons/Api.vue @@ -1,6 +1,5 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Business.vue b/src/frontend/admin/src/assets/icons/Business.vue index 462eaf0c..b4185918 100644 --- a/src/frontend/admin/src/assets/icons/Business.vue +++ b/src/frontend/admin/src/assets/icons/Business.vue @@ -1,17 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Code2.vue b/src/frontend/admin/src/assets/icons/Code2.vue index 9e49fcc7..222790ae 100644 --- a/src/frontend/admin/src/assets/icons/Code2.vue +++ b/src/frontend/admin/src/assets/icons/Code2.vue @@ -1,17 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Csharp.vue b/src/frontend/admin/src/assets/icons/Csharp.vue index f68bbb99..17adcc22 100644 --- a/src/frontend/admin/src/assets/icons/Csharp.vue +++ b/src/frontend/admin/src/assets/icons/Csharp.vue @@ -1,17 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Dashboard.vue b/src/frontend/admin/src/assets/icons/Dashboard.vue index fa38220b..a5cad751 100644 --- a/src/frontend/admin/src/assets/icons/Dashboard.vue +++ b/src/frontend/admin/src/assets/icons/Dashboard.vue @@ -1,6 +1,5 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Device.vue b/src/frontend/admin/src/assets/icons/Device.vue index fa32daf0..ccc751fe 100644 --- a/src/frontend/admin/src/assets/icons/Device.vue +++ b/src/frontend/admin/src/assets/icons/Device.vue @@ -1,3 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Dic.vue b/src/frontend/admin/src/assets/icons/Dic.vue index ebaabec9..6f450f80 100644 --- a/src/frontend/admin/src/assets/icons/Dic.vue +++ b/src/frontend/admin/src/assets/icons/Dic.vue @@ -1,6 +1,5 @@ @@ -15,6 +15,8 @@ } \ No newline at end of file diff --git a/src/frontend/admin/src/components/naColOperation/index.vue b/src/frontend/admin/src/components/naColOperation/index.vue index 30960048..ccff8953 100644 --- a/src/frontend/admin/src/components/naColOperation/index.vue +++ b/src/frontend/admin/src/components/naColOperation/index.vue @@ -1,11 +1,11 @@ - - + 查询 + 重置 diff --git a/src/frontend/admin/src/components/naUser/index.vue b/src/frontend/admin/src/components/naUser/index.vue new file mode 100644 index 00000000..ce5f8473 --- /dev/null +++ b/src/frontend/admin/src/components/naUser/index.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/frontend/admin/src/components/naVerifition/index.vue b/src/frontend/admin/src/components/naVerifition/index.vue index ab7bc9b8..f20d7e4e 100644 --- a/src/frontend/admin/src/components/naVerifition/index.vue +++ b/src/frontend/admin/src/components/naVerifition/index.vue @@ -7,7 +7,7 @@ -
+
- - \ No newline at end of file diff --git a/src/frontend/admin/src/components/scContextmenu/index.vue b/src/frontend/admin/src/components/scContextmenu/index.vue index 65558c99..34c743f4 100644 --- a/src/frontend/admin/src/components/scContextmenu/index.vue +++ b/src/frontend/admin/src/components/scContextmenu/index.vue @@ -107,7 +107,7 @@ export default { margin: 5px 0; border: none; height: 1px; - font-size: 0px; + font-size: 0; background-color: #ebeef5; } @@ -149,7 +149,7 @@ export default { .sc-contextmenu__menu li ul { position: absolute; - top: 0px; + top: 0; left: 100%; display: none; margin: -11px 0; diff --git a/src/frontend/admin/src/components/scCron/index.vue b/src/frontend/admin/src/components/scCron/index.vue index 1db9135c..2d14635a 100644 --- a/src/frontend/admin/src/components/scCron/index.vue +++ b/src/frontend/admin/src/components/scCron/index.vue @@ -41,7 +41,7 @@
- + 任意值 范围 @@ -49,18 +49,18 @@ 指定 - + - - + - - + 秒开始,每 秒执行一次 - + @@ -75,7 +75,7 @@
- + 任意值 范围 @@ -83,18 +83,18 @@ 指定 - + - - + - - + 分钟开始,每 分钟执行一次 - + @@ -109,7 +109,7 @@ - + 任意值 范围 @@ -117,18 +117,18 @@ 指定 - + - - + - - + 小时开始,每 小时执行一次 - + @@ -143,7 +143,7 @@ - + 任意值 范围 @@ -153,18 +153,18 @@ 不指定 - + - - + - - + 号开始,每 天执行一次 - + @@ -179,7 +179,7 @@ - + 任意值 范围 @@ -187,18 +187,18 @@ 指定 - + - - + - - + 月开始,每 月执行一次 - + @@ -214,7 +214,7 @@ - + 任意值 范围 @@ -224,16 +224,16 @@ 不指定 - + - - + - - + 周的星期 @@ -242,12 +242,12 @@ 执行一次 - + - + @@ -263,7 +263,7 @@ - + 忽略 任意值 @@ -272,18 +272,18 @@ 指定 - + - - + - - + 年开始,每 年执行一次 - + @@ -803,13 +803,13 @@ export default { .sc-cron-num { text-align: center; - margin-bottom: 15px; + margin-bottom: 1rem; width: 100%; } .sc-cron-num h2 { font-size: 12px; - margin-bottom: 15px; + margin-bottom: 1rem; font-weight: normal; } @@ -819,7 +819,7 @@ export default { line-height: 30px; width: 100%; font-size: 12px; - padding: 0 15px; + padding: 0 1rem; background: var(--el-color-primary-light-9); border-radius: 4px; } diff --git a/src/frontend/admin/src/components/scDialog/index.vue b/src/frontend/admin/src/components/scDialog/index.vue index 3dccb6a5..c49c0b67 100644 --- a/src/frontend/admin/src/components/scDialog/index.vue +++ b/src/frontend/admin/src/components/scDialog/index.vue @@ -93,7 +93,7 @@ export default { outline: none; cursor: pointer; font-size: var(--el-message-close-size, 16px); - margin-left: 15px; + margin-left: 1rem; color: var(--el-color-info); } @@ -104,8 +104,12 @@ export default { .sc-dialog:deep(.el-dialog).is-fullscreen { display: flex; flex-direction: column; - top: 0px !important; - left: 0px !important; + top: 0 !important; + left: 0 !important; +} + +.sc-dialog:deep(.el-dialog) .el-dialog__body { + padding-top: 10px; } .sc-dialog:deep(.el-dialog).is-fullscreen .el-dialog__body { diff --git a/src/frontend/admin/src/components/scEditor/index.vue b/src/frontend/admin/src/components/scEditor/index.vue index 88fd8de4..86da4931 100644 --- a/src/frontend/admin/src/components/scEditor/index.vue +++ b/src/frontend/admin/src/components/scEditor/index.vue @@ -69,10 +69,10 @@ export default { data() { return { init: { - language_url: 'tinymce/langs/zh_CN.js', + language_url: '/public/tinymce/langs/zh_CN.js', language: 'zh_CN', - skin_url: 'tinymce/skins/ui/oxide', - content_css: 'tinymce/skins/content/default/content.css', + skin_url: '/public/tinymce/skins/ui/oxide', + content_css: '/public/tinymce/skins/content/default/content.css', menubar: false, statusbar: true, plugins: this.plugins, diff --git a/src/frontend/admin/src/components/scFileExport/column.vue b/src/frontend/admin/src/components/scFileExport/column.vue index 1b47b9a6..510733e9 100644 --- a/src/frontend/admin/src/components/scFileExport/column.vue +++ b/src/frontend/admin/src/components/scFileExport/column.vue @@ -1,20 +1,20 @@ @@ -88,15 +111,15 @@ export default { return { form: { svgCode: '', - iconName: '' + iconName: '', }, formCs: { moduleName: '', /// 模块说明 moduleRemark: '', /// 模块类型 - type: 'Sys', - } + type: 'SysComponent', + }, } }, methods: { @@ -104,33 +127,40 @@ export default { try { await this.$API.sys_dev.generateIconCode.post(this.form) this.$message.success('生成完毕') - } catch { + } catch {} + }, + async generateTableCode() { + for (const line of this.form.summaryInfo.split('\n')) { + if (!line) continue + let lineSplit = line.split(',') + this.form.tableCode += `` + this.form.formCode += `` } }, async generateJsCode() { try { await this.$API.sys_dev.generateJsCode.post() this.$message.success('生成完毕') - } catch { - - } + } catch {} }, async generateCsCode() { try { await this.$API.sys_dev.generateCsCode.post(this.formCs) this.$message.success('生成完毕') - } catch { - - } - } - } + } catch {} + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/views/dev/code/list.vue b/src/frontend/admin/src/views/dev/code/list.vue deleted file mode 100644 index ce7a489b..00000000 --- a/src/frontend/admin/src/views/dev/code/list.vue +++ /dev/null @@ -1,310 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/frontend/admin/src/views/anonymous/components/commonPage.vue b/src/frontend/admin/src/views/guest/components/commonPage.vue similarity index 91% rename from src/frontend/admin/src/views/anonymous/components/commonPage.vue rename to src/frontend/admin/src/views/guest/components/commonPage.vue index cd0cadee..0b2f7d74 100644 --- a/src/frontend/admin/src/views/anonymous/components/commonPage.vue +++ b/src/frontend/admin/src/views/guest/components/commonPage.vue @@ -9,7 +9,7 @@
{{ title }}
- 返回登录 + 返回登录
diff --git a/src/frontend/admin/src/views/anonymous/components/passwordForm.vue b/src/frontend/admin/src/views/guest/components/passwordForm.vue similarity index 64% rename from src/frontend/admin/src/views/anonymous/components/passwordForm.vue rename to src/frontend/admin/src/views/guest/components/passwordForm.vue index a795c306..bca13c7b 100644 --- a/src/frontend/admin/src/views/anonymous/components/passwordForm.vue +++ b/src/frontend/admin/src/views/guest/components/passwordForm.vue @@ -1,25 +1,25 @@ @@ -30,12 +30,12 @@ export default { return { autoLogin: false, form: { - account: 'admin', - password: 'admin', + account: 'root', + password: '1234qwer', }, rules: { - account: [{ required: true, message: this.$t('login.userError'), trigger: 'blur' }], - password: [{ required: true, message: this.$t('login.PWError'), trigger: 'blur' }], + account: [{ required: true, message: this.$t('请输入用户名'), trigger: 'blur' }], + password: [{ required: true, message: this.$t('请输入密码'), trigger: 'blur' }], }, isLoading: false, } diff --git a/src/frontend/admin/src/views/anonymous/components/phoneForm.vue b/src/frontend/admin/src/views/guest/components/phoneForm.vue similarity index 87% rename from src/frontend/admin/src/views/anonymous/components/phoneForm.vue rename to src/frontend/admin/src/views/guest/components/phoneForm.vue index 3aadbb0d..22945e2a 100644 --- a/src/frontend/admin/src/views/anonymous/components/phoneForm.vue +++ b/src/frontend/admin/src/views/guest/components/phoneForm.vue @@ -2,11 +2,11 @@ - {{ $t('login.signIn') }} + {{ $t('登录') }} diff --git a/src/frontend/admin/src/views/anonymous/login.vue b/src/frontend/admin/src/views/guest/login.vue similarity index 89% rename from src/frontend/admin/src/views/anonymous/login.vue rename to src/frontend/admin/src/views/guest/login.vue index 031d066c..5621fddf 100644 --- a/src/frontend/admin/src/views/anonymous/login.vue +++ b/src/frontend/admin/src/views/guest/login.vue @@ -39,15 +39,15 @@ - + - +